an efficient C++ finite element environment
|
|
Go to the documentation of this file.
26 Float Re1,
const geo& omega,
string approx)
27 : Re(Re1), Xh(), Qh(), iopt(), a0(),
b(),
c(),
mu(), mp(), lh0(),
lh(), kh(),
28 pmu(), pmp(), a1(), stokes1()
30 Xh =
space (omega, approx,
"vector");
32 iopt.set_family(integrate_option::gauss);
33 iopt.set_order(2*
Xh.degree()+1);
47 stokes0.set_metric (
mp);
48 stokes0.solve (
lh0,
kh, xh[0], xh[1]);
50 idiststream in (restart);
51 in >> catchmark(
"Re") >> Re0
52 >> catchmark(
"u") >> xh[0]
53 >> catchmark(
"p") >> xh[1];
55 << xh[0].get_space().
name() <<
" approximation in file \""
56 << restart <<
"\" (" <<
Xh.name() <<
" expected)");
58 derr <<
"# continuation: from Re=" << Re0 <<
" to " <<
Re << endl;
66 b*xh[0] -
c*xh[1] -
kh};
78 stokes1.solve (mrh[0], mrh[1], delta_xh[0], delta_xh[1]);
84 pmu.solve (mrh[0], rh[0]);
85 pmp.solve (mrh[1], rh[1]);
86 value_type mgh = {
a1.trans_mult(rh[0]) +
b.trans_mult(rh[1]),
check_macro(expr1.have_homogeneous_space(Xh1), "dual(expr1,expr2); expr1 should have homogeneous space. HINT: use dual(interpolate(Xh, expr1),expr2)")
void update_derivative(const value_type &uh) const
see the field page for the full documentation
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 problem_mixed page for the full documentation
see the space page for the full documentation
value_type derivative_trans_mult(const value_type &mrh) const
value_type residue(const value_type &uh) const
value_type derivative_solve(const value_type &mrh) const
form inertia(W w, U u, V v, integrate_option iopt=integrate_option())
field lh(Float epsilon, Float t, const test &v)
void stokes_dirichlet_dg(const space &Xh, const space &Qh, form &a, form &b, form &c, form &mp, field &lh, field &kh, integrate_option iopt=integrate_option())
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 inertia_fix_rhs(test v, integrate_option iopt=integrate_option())
Eigen::Matrix< field, 2, 1 > value_type
navier_stokes_dg(Float Re, const geo &omega, string approx)
see the test page for the full documentation
value_type initial(string restart) const
see the geo page for the full documentation
rheolef::details::is_vec dot