Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
combustion2.icc

The combustion problem: class body for the Newton method.

The combustion problem: class body for the Newton method

field combustion::residue (const field& uh) const {
test v(Xh);
field mrh = integrate(dot(grad(uh),grad(v)) - lambda*exp(uh)*v);
mrh.set_b() = 0;
return mrh;
}
form combustion::derivative (const field& uh) const {
trial du(Xh); test v(Xh);
return integrate(dot(grad(du),grad(v)) - lambda*exp(uh)*du*v);
}
problem::determinant_type
a1 = derivative (uh);
solver_option sopt;
sopt.compute_determinant = true;
pa1 = problem (a1, sopt);
return pa1.det();
}
test v(Xh);
return - integrate(exp(uh)*v);
}
field delta_uh (Xh,0);
pa1.solve (rh, delta_uh);
return delta_uh;
}
field rh = unmassify(mrh);
field mgh = a1*rh;
mgh["boundary"] = 0;
return mgh;
}
field combustion::unmassify (const field& mrh) const {
field rh (Xh, 0);
pm.solve (mrh, rh);
return rh;
}
Float combustion::space_dot (const field& xh, const field& yh) const {
return m(xh,yh); }
Float combustion::dual_space_dot (const field& mrh, const field& msh) const{
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::std enable_if ::type dual const Expr1 expr1, const Expr2 expr2 dual(const Expr1 &expr1, const Expr2 &expr2)
Definition field_expr.h:229
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
field derivative_solve(const field &mrh) const
field unmassify(const field &uh) const
problem pa1
Definition combustion.h:53
float_type space_dot(const field &xh, const field &yh) const
float_type dual_space_dot(const field &mrh, const field &msh) const
field derivative_versus_parameter(const field &uh) const
form derivative(const field &uh) const
problem::determinant_type update_derivative(const field &uh) const
field residue(const field &uh) const
problem pm
Definition combustion.h:51