elasticity_criterion.icc

The elasticity problem – adaptive mesh criterion

field elasticity_criterion (Float lambda, const field& uh) {
string grad_approx = "P" + itos(uh.get_space().degree()-1) + "d";
space Xh (uh.get_geo(), grad_approx);
if (grad_approx == "P0d") return interpolate (Xh, norm(uh));
space T0h (uh.get_geo(), grad_approx);
size_t d = uh.get_geo().dimension();
tensor I = tensor::eye (d);
return interpolate (T0h, sqrt(2*norm2(D(uh)) + lambda*sqr(div(uh))));
}
rheolef::div
std::enable_if< details::is_field_convertible< Expr >::value,details::field_expr_v2_nonlinear_terminal_field< typename Expr::scalar_type,typename Expr::memory_type,details::differentiate_option::divergence >>::type div(const Expr &expr)
div(uh): see the expression page for the full documentation
Definition: field_expr_terminal.h:1031
tensor
see the tensor page for the full documentation
field
see the field page for the full documentation
space
see the space page for the full documentation
rheolef::norm
T norm(const vec< T, M > &x)
norm(x): see the expression page for the full documentation
Definition: vec.h:387
rheolef::norm2
T norm2(const vec< T, M > &x)
norm2(x): see the expression page for the full documentation
Definition: vec.h:379
rheolef::interpolate
field_basic< T, M > interpolate(const space_basic< T, M > &V2h, const field_basic< T, M > &u1h)
see the interpolate page for the full documentation
Definition: interpolate.cc:233
rheolef::eye
solver_basic< Float > eye()
see the eye page for the full documentation
Definition: eye.h:74
Float
see the Float page for the full documentation
rheolef::D
std::enable_if< details::is_field_convertible< Expr >::value,details::field_expr_v2_nonlinear_terminal_field< typename Expr::scalar_type,typename Expr::memory_type,details::differentiate_option::gradient >>::type D(const Expr &expr)
D(uh): see the expression page for the full documentation.
Definition: field_expr_terminal.h:969
mkgeo_ball.d
d
Definition: mkgeo_ball.sh:154
elasticity_criterion
field elasticity_criterion(Float lambda, const field &uh)
Definition: elasticity_criterion.icc:25
rheolef::itos
std::string itos(std::string::size_type i)
itos: see the rheostream page for the full documentation
lambda
Definition: yield_slip_circle.h:34