an efficient C++ finite element environment
|
|
Go to the documentation of this file. 1 #ifndef _RHEOLEF_PROBLEM_MIXED_H
2 #define _RHEOLEF_PROBLEM_MIXED_H
172 #include "rheolef/problem.h"
177 template <
class T,
class M = rheo_default_memory_model>
242 template<
class T,
class M>
256 template<
class T,
class M>
273 template<
class T,
class M>
291 template<
class T,
class M>
296 return _s.initialized();
298 template<
class T,
class M>
305 template<
class T,
class M>
312 template<
class T,
class M>
319 template<
class T,
class M>
326 template<
class T,
class M>
331 if (_init_s_done)
return;
333 if (_mp.uu().dis_nnz() == 0) {
340 if (_c.uu().dis_nnz() == 0) {
346 if ( _pa.initialized()) { _s.set_inner_solver ( _pa.get_solver()); }
348 template<
class T,
class M>
358 vec<T,M> f =
lh.u() - _a.ub()*uh.
b() - _b.bu().trans_mult(ph.
b());
360 if (_c.uu().dis_nnz() == 0) {
361 g = kh.
u() - _b.ub()*uh.
b();
363 g = kh.
u() - _b.ub()*uh.
b() + _c.ub()*ph.
b();
369 #endif // _RHEOLEF_PROBLEM_MIXED_H
void solve(const field_basic< T, M > &lh, const field_basic< T, M > &kh, field_basic< T, M > &uh, field_basic< T, M > &ph) const
problem_mixed_basic< Float > problem_mixed
see the problem_mixed 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
void set_inner_problem(const problem &pa)
void set_preconditionner(const problem &pmp)
solver_abtb_basic< T, M > _s
problem_basic< T, M > _pa
solver_basic< T, M >::determinant_type determinant_type
problem_basic< T, M > _pmp
see the vec page for the full documentation
const vec< T, M > & u() const
const solver_option & option() const
void set_metric(const form &mp)
solver_basic< T, M >::size_type size_type
field lh(Float epsilon, Float t, const test &v)
void set_preconditioner(const solver_basic< T, M > &smp)
This file is part of Rheolef.
see the problem page for the full documentation
const vec< T, M > & b() const
see the solver_option page for the full documentation