Evolving surface finite element method
v0.3.0-14-g3598512
Numerical experiments for my papers
|
#include <secOrd_op_solutionDriven_impl.h>
Public Types | |
using | Scalar_fef = Esfem::Grid::Scal_FEfun::Dune_FEfun |
| |
using | Vector_fef = Esfem::Grid::Vec_FEfun::Dune_FEfun |
| |
template<typename T > | |
using | Local_function = typename T::LocalFunctionType |
Finite element function restricted to a triangle. | |
template<typename T > | |
using | Domain = typename Local_function< T >::DomainType |
template<typename T > | |
using | Range = typename Local_function< T >::RangeType |
using | RangeField = typename Local_function< Vector_fef >::RangeFieldType |
Simply . | |
using | Geometry = Vector_fef::DiscreteFunctionSpaceType::IteratorType::Entity::Geometry |
Geometry means access to the finite element. | |
using | Grid_part = Vector_fef::GridPartType |
Auxiliary template argument. | |
using | Quadrature = Dune::Fem::CachingQuadrature< Grid_part, 0 > |
template<typename T > | |
using | Jacobian_range = typename Local_function< T >::JacobianRangeType |
Jacobian of the local finite element function. More... | |
Public Member Functions | |
MCF_op (const Io::Parameter &, const Grid::Grid_and_time &, const Scalar_fef &u_input) | |
MCF_op (const MCF_op &)=delete | |
MCF_op & | operator= (const MCF_op &)=delete |
void | operator() (const Vector_fef &rhs, Vector_fef &lhs) const override |
Applying the mean curvature operator. The cg solver uses this. More... | |
void | brusselator_rhs (const Vector_fef &rhs, Vector_fef &lhs) const |
Generates rhs for the linear system. More... | |
Static Public Attributes | |
Variable containing dimensions | |
static constexpr int | dim_vec_domain = Domain<Vector_fef>::dimension |
static constexpr int | dim_vec_range = Range<Vector_fef>::dimension |
static constexpr int | dim_scalar_domain = Domain<Scalar_fef>::dimension |
static constexpr int | dim_scalar_range = Range<Scalar_fef>::dimension |
Private Member Functions | |
void | mcf_lhs_matrixFree_assembly (const Geometry &, const Quadrature &, const Local_function< Vector_fef > &, Local_function< Vector_fef > &) const |
Used by operator() More... | |
void | mcf_rhs_matrixFree_assembly (const Geometry &, const Quadrature &, const Local_function< Vector_fef > &, const Local_function< Scalar_fef > &u_loc, Local_function< Vector_fef > &) const |
Used by rhs() More... | |
Range< Vector_fef > | surface_normal (const Geometry &) const |
Calculates the outwards pointing normal vector. | |
Private Attributes | |
const double | alpha |
Velocity Laplace regularization parameter by Lubich. | |
const double | delta |
Tumor growth parameter. | |
const double | epsilon |
Mean curvature regularization parameter by Elliott. | |
const double | eps |
Generic tolerance. | |
const Dune::Fem::TimeProviderBase & | tp |
Time step provider. | |
const Scalar_fef & | u |
Concentration of the growth promoting chemical substance. | |
Definition at line 40 of file secOrd_op_solutionDriven_impl.h.
using Esfem::Impl::MCF_op::Jacobian_range = typename Local_function<T>::JacobianRangeType |
Jacobian of the local finite element function.
Jacobian_range
is used like this: jac[0][1]
. Definition at line 116 of file secOrd_op_solutionDriven_impl.h.
MCF_op::MCF_op | ( | const Io::Parameter & | p, |
const Grid::Grid_and_time & | g, | ||
const Scalar_fef & | u_input | ||
) |
Esfem::SecOrd_op::Solution_driven
Definition at line 58 of file secOrd_op_solutionDriven_impl.cpp.
void MCF_op::brusselator_rhs | ( | const Vector_fef & | rhs, |
Vector_fef & | lhs | ||
) | const |
Generates rhs for the linear system.
The new value of the finite element function will be
Definition at line 83 of file secOrd_op_solutionDriven_impl.cpp.
|
private |
Used by operator()
The matrix vector formulation reads as
Definition at line 113 of file secOrd_op_solutionDriven_impl.cpp.
|
private |
Used by rhs()
The matrix vector formulation reads as
Definition at line 131 of file secOrd_op_solutionDriven_impl.cpp.
|
override |
Applying the mean curvature operator. The cg solver uses this.
The precise formulation reads as
Definition at line 69 of file secOrd_op_solutionDriven_impl.cpp.