an efficient C++ finite element environment
|
|
The p-Laplacian problem by the Newton method – class body
:
p(p1), Xh(),
lh(),
m(), pm(), a1(), pa1() {
Xh =
space (omega, approx);
Xh.block ("boundary");
}
return uh;
}
mrh.set_b() = 0;
return mrh;
}
size_t d =
Xh.get_geo().dimension();
}
pa1.solve (rh, delta_uh);
return delta_uh;
}
void update_derivative(const field &uh) const
see the field page for the full documentation
p_laplacian(Float p, const geo &omega, string approx)
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
see the space page for the full documentation
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 grad(const Expr &expr)
grad(uh): see the expression page for the full documentation
class rheolef::details::field_expr_v2_nonlinear_node_unary compose
The p-Laplacian problem – the eta function.
The p-Laplacian problem – the nu function.
T norm2(const vec< T, M > &x)
norm2(x): see the expression page for the full documentation
field derivative_solve(const field &mrh) const
rheolef::details::is_vec dot
field lh(Float epsilon, Float t, const test &v)
see the test page for the full documentation
see the problem page for the full documentation
see the Float page for the full documentation
field residue(const field &uh) const
see the test page for the full documentation
void dirichlet(const field &lh, field &uh)
The Poisson problem with homogeneous Dirichlet boundary condition – solver function.
see the geo page for the full documentation