Rheolef  7.2
an efficient C++ finite element environment
combustion2.icc
Go to the documentation of this file.
1
25field combustion::residue (const field& uh) const {
26 test v(Xh);
27 field mrh = integrate(dot(grad(uh),grad(v)) - lambda*exp(uh)*v);
28 mrh.set_b() = 0;
29 return mrh;
30}
32 trial du(Xh); test v(Xh);
33 return integrate(dot(grad(du),grad(v)) - lambda*exp(uh)*du*v);
34}
35problem::determinant_type
37 a1 = derivative (uh);
38 solver_option sopt;
39 sopt.compute_determinant = true;
40 pa1 = problem (a1, sopt);
41 return pa1.det();
42}
44 test v(Xh);
45 return - integrate(exp(uh)*v);
46}
48 field delta_uh (Xh,0);
49 pa1.solve (rh, delta_uh);
50 return delta_uh;
51}
53 field rh = unmassify(mrh);
54 field mgh = a1*rh;
55 mgh["boundary"] = 0;
56 return mgh;
57}
58field combustion::unmassify (const field& mrh) const {
59 field rh (Xh, 0);
60 pm.solve (mrh, rh);
61 return rh;
62}
63Float combustion::space_dot (const field& xh, const field& yh) const {
64 return m(xh,yh); }
65Float combustion::dual_space_dot (const field& mrh, const field& msh) const{
66 return dual(unmassify(mrh), msh); }
see the Float page for the full documentation
see the field page for the full documentation
see the form page for the full documentation
see the problem page for the full documentation
see the test page for the full documentation
see the test page for the full documentation
rheolef::details::is_vec dot
rheolef::std enable_if ::type dual const Expr1 expr1, const Expr2 expr2 dual(const Expr1 &expr1, const Expr2 &expr2)
Definition: field_expr.h:229
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
tensor_basic< T > exp(const tensor_basic< T > &a, size_t d)
Definition: tensor-exp.cc:92
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
Definition: integrate.h:211
field derivative_trans_mult(const field &mrh) const
Definition: combustion2.icc:52
space Xh
Definition: combustion.h:49
field derivative_solve(const field &mrh) const
Definition: combustion2.icc:47
field unmassify(const field &uh) const
Definition: combustion2.icc:58
problem pa1
Definition: combustion.h:53
float_type space_dot(const field &xh, const field &yh) const
Definition: combustion2.icc:63
float_type dual_space_dot(const field &mrh, const field &msh) const
Definition: combustion2.icc:65
field derivative_versus_parameter(const field &uh) const
Definition: combustion2.icc:43
form derivative(const field &uh) const
Definition: combustion2.icc:31
problem::determinant_type update_derivative(const field &uh) const
Definition: combustion2.icc:36
field residue(const field &uh) const
Definition: combustion2.icc:25
problem pm
Definition: combustion.h:51