Loading...
Searching...
No Matches
diffusion_tensor.cc

The tensor diffusion benchmark.

The tensor diffusion benchmark

#include "rheolef.h"
using namespace rheolef;
using namespace std;
#include "diffusion_tensor_exact.icc"
int main(int argc, char**argv) {
environment rheolef (argc, argv);
geo omega (argv[1]);
space Xh (omega , argv[2], "tensor");
space Wh (omega["boundary"], argv[2], "tensor");
Xh.block("boundary");
trial sigma (Xh); test tau (Xh);
form ah = integrate (ddot(sigma,tau) + dddot(grad(sigma), grad(tau)));
field lh = integrate (ddot(chi(),tau));
field sigma_h(Xh);
sigma_h["boundary"] = interpolate(Wh, sigma_g());
problem p (ah);
p.solve (lh, sigma_h);
dout << catchmark("sigma") << sigma_h;
}
lh
field lh(Float epsilon, Float t, const test &v)
Definition burgers_diffusion_operators.icc:25
field
see the field page for the full documentation
form
see the form page for the full documentation
geo
see the geo page for the full documentation
problem
see the problem 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
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
diffusion_tensor_exact.icc
The tensorial diffusion benchmark – right-hand-side and exact solution.
sigma_g
sigma_exact sigma_g
Definition diffusion_tensor_exact.icc:50
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::ddot
T ddot(const tensor_basic< T > &a, const tensor_basic< T > &b)
ddot(x,y): see the expression page for the full documentation
Definition tensor.cc:278
rheolef::dddot
T dddot(const tensor3_basic< T > &a, const tensor3_basic< T > &b)
Definition tensor3.cc:94
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::interpolate
field_basic< T, M > interpolate(const space_basic< T, M > &V2h, const field_basic< T, M > &u1h)
see the interpolate page for the full documentation
Definition interpolate.cc:233
std
STL namespace.
rheolef.h
rheolef - reference manual
chi
Definition diffusion_tensor_exact.icc:38
p
Definition sphere.icc:25
sigma
Definition mosolov_exact_circle.h:40