The Mossolov problem by the augmented Lagrangian method – solver class body.
derr << "# k residue" << endl;
for (size_t k = 0; true; ++k) {
field delta_sigma_h =
r*(grad_uh - gamma_h);
sigma_h += delta_sigma_h;
derr << k <<
" " <<
residue << endl;
derr << endl << endl;
}
}
}
see the Float page for the full documentation
see the field page for the full documentation
see the test page for the full documentation
class rheolef::details::field_expr_v2_nonlinear_node_unary compose
rheolef::details::is_vec dot
std::enable_if< details::has_field_rdof_interface< Expr >::value, details::field_expr_v2_nonlinear_terminal_field< typenameExpr::scalar_type, typenameExpr::memory_type, details::differentiate_option::gradient > >::type grad(const Expr &expr)
grad(uh): see the expression page for the full documentation
field_basic< T, M > lazy_interpolate(const space_basic< T, M > &X2h, const field_basic< T, M > &u1h)
see the interpolate page for the full documentation
space_mult_list< T, M > pow(const space_basic< T, M > &X, size_t n)
std::enable_if< details::is_field_expr_v2_nonlinear_arg< Expr >::value &&!is_undeterminated< Result >::value, Result >::type integrate(const geo_basic< T, M > &omega, const Expr &expr, const integrate_option &iopt, Result dummy=Result())
see the integrate page for the full documentation
T norm(const vec< T, M > &x)
norm(x): see the expression page for the full documentation
field residue(Float p, const field &uh)
int solve(field &sigma_h, field &uh) const
The projection for yield-stress rheologies – vector-valued case for the Mossolov problem.