Loading...
Searching...
No Matches
mosolov_augmented_lagrangian1.icc

The Mossolov problem by the augmented Lagrangian method – solver class body.

The Mossolov problem by the augmented Lagrangian method – solver class body

#include "vector_projection.h"
int mosolov_augmented_lagrangian::solve (field& sigma_h, field& uh) const {
test v(Xh);
derr << "# k residue" << endl;
for (size_t k = 0; true; ++k) {
field grad_uh = inv_mt*(b*uh);
auto c = compose(vector_projection(Bi,n,1,r), norm(sigma_h+r*grad_uh));
field gamma_h = lazy_interpolate(Th, c*(sigma_h + r*grad_uh));
field delta_sigma_h = r*(grad_uh - gamma_h);
sigma_h += delta_sigma_h;
Float residue = delta_sigma_h.max_abs();
derr << k << " " << residue << endl;
if (residue <= tol || k >= max_iter) {
derr << endl << endl;
return (pow(residue,3) <= tol) ? 0 : 1;
}
field rhs = (1/r)*(lh - integrate(dot(sigma_h - r*gamma_h, grad(v))));
pa.solve (rhs, uh);
}
}
Float
see the Float page for the full documentation
field
see the field page for the full documentation
test
see the test page for the full documentation
residue
field residue(Float p, const field &uh)
Definition p_laplacian_post.cc:35
mosolov_augmented_lagrangian::inv_mt
form inv_mt
Definition mosolov_augmented_lagrangian.h:36
mosolov_augmented_lagrangian::pa
problem pa
Definition mosolov_augmented_lagrangian.h:37
mosolov_augmented_lagrangian::Bi
Float Bi
Definition mosolov_augmented_lagrangian.h:32
mosolov_augmented_lagrangian::Xh
space Xh
Definition mosolov_augmented_lagrangian.h:34
mosolov_augmented_lagrangian::lh
field lh
Definition mosolov_augmented_lagrangian.h:35
mosolov_augmented_lagrangian::n
Float n
Definition mosolov_augmented_lagrangian.h:32
mosolov_augmented_lagrangian::solve
int solve(field &sigma_h, field &uh) const
Definition mosolov_augmented_lagrangian1.icc:26
mosolov_augmented_lagrangian::tol
Float tol
Definition mosolov_augmented_lagrangian.h:32
mosolov_augmented_lagrangian::r
Float r
Definition mosolov_augmented_lagrangian.h:32
mosolov_augmented_lagrangian::b
form b
Definition mosolov_augmented_lagrangian.h:36
mosolov_augmented_lagrangian::Th
space Th
Definition mosolov_augmented_lagrangian.h:34
mosolov_augmented_lagrangian::max_iter
size_t max_iter
Definition mosolov_augmented_lagrangian.h:33
vector_projection
Definition vector_projection.h:26
vector_projection.h
The projection for yield-stress rheologies – vector-valued case for the Mossolov problem.