Loading...
Searching...
No Matches
combustion_keller_post.cc
Go to the documentation of this file.
#include "rheolef.h"
using namespace rheolef;
using namespace std;
#include "combustion.h"
int main(int argc, char**argv) {
environment rheolef (argc,argv);
string metric;
din >> catchmark("metric") >> metric;
keller<combustion> F (combustion(), metric);
keller<combustion>::value_type xh, dot_xh;
dout << noverbose
<< setprecision(numeric_limits<Float>::digits10)
<< "# metric " << metric << endl
<< "# s lambda umax det(mantissa,base,exp) |u| |grad(u)| |residue|"
<< endl;
for (size_t n = 0; F.get(din,xh); ++n) {
problem::determinant_type det;
if (n > 0 || metric != "spherical") det = F.update_derivative(xh);
const space& Xh = xh.second.get_space();
trial u (Xh); test v (Xh);
form a = integrate(dot(grad(u),grad(v))),
m = integrate(u*v);
const combustion& F0 = F.get_problem();
field mrh = F0.residue(xh.second);
dout << F.parameter() << " " << xh.first
<< " " << xh.second.max_abs()
<< " " << det.mantissa
<< " " << det.base
<< " " << det.exponant
<< " " << sqrt(m(xh.second,xh.second))
<< " " << sqrt(a(xh.second,xh.second))
<< " " << sqrt(F0.dual_space_dot (mrh,mrh))
<< endl;
dot_xh = F.direction (xh);
F.refresh (F.parameter(), xh, dot_xh);
}
}
field
see the field page for the full documentation
form
see the form page for the full documentation
rheolef::catchmark
see the catchmark page for the full documentation
Definition catchmark.h:67
rheolef::environment
see the environment page for the full documentation
Definition environment.h:121
rheolef::keller
see the continuation page for the full documentation
Definition keller.h:32
space
see the space page for the full documentation
test
see the test page for the full documentation
trial
see the test page for the full documentation
combustion.h
The combustion problem: class header for the Newton method.
main
int main()
Definition field2bb.cc:58
rheolef
This file is part of Rheolef.
Definition compiler_eigen.h:39
rheolef::grad
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
Definition field_expr_terminal.h:930
rheolef::integrate
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
rheolef::dot
rheolef::std enable_if ::type dot const Expr1 expr1, const Expr2 expr2 dot(const Expr1 &expr1, const Expr2 &expr2)
Definition vec_expr_v2.h:415
std
STL namespace.
rheolef.h
rheolef - reference manual
combustion
Definition combustion.h:25
combustion::dual_space_dot
float_type dual_space_dot(const field &mrh, const field &msh) const
Definition combustion2.icc:65
combustion::residue
field residue(const field &uh) const
Definition combustion2.icc:25
u
Definition leveque.h:25