Evolving surface finite element method
v0.3.0-14-g3598512
Numerical experiments for my papers
|
Implementation details. More...
Namespaces | |
hash | |
hash grid plus helper functions | |
Classes | |
class | Analytic_velocity |
The actual implementation of the velocity. More... | |
class | Evolving_grid |
Evolution via a hash map. More... | |
class | Explicit_initial_data |
Initial data is given via an analytic formula. More... | |
struct | Identity_impl |
class | MCF_op |
class | Random_initial_data |
Random perturbation around an equilibrium point. More... | |
class | Rhs_fun |
Scalar valued right-hand side for the surface PDE. More... | |
struct | sd_iData |
Sphere growing via na logistic growth function. More... | |
struct | sd_rhs |
Right-hand side for surface Dalquist test equation. More... | |
struct | sdp_u_rhs |
Right-hand side for surface logistic sphere experiment. More... | |
struct | sls_iData |
Sphere growing via a logistic growth function. More... | |
struct | sls_rhs |
Right-hand side for surface logistic sphere experiment. More... | |
struct | sls_v_iData |
Velocity of a sphere growing via a logistic growth function. More... | |
struct | sphere_1EF |
First eigen function of the sphere. More... | |
struct | sphere_2EF |
Second eigen function of the sphere. More... | |
struct | sphere_3EF |
Thrid eigen function of the sphere. More... | |
struct | sphere_eigenFun |
Implementation of SecOrd_op::vIdata::ssef() More... | |
struct | sphere_mcf_sol |
Implementation of SecOrd_op::vIdata::ssef() More... | |
class | Vec_rhs_fun |
Vector valued right-hand side for the mean curvature equation. More... | |
Functions | |||||||
Evolving_grid::Nodes_key | get_vertexList (const std::string &filename) | ||||||
std::size_t | get_relevant_precision (const Evolving_grid::Nodes_key &vertex_list) | ||||||
Evolving_grid::Map | identity_map (const Evolving_grid::Nodes_key &, const std::size_t precision) | ||||||
std::size_t | get_relevant_precision (const std::string &number) | ||||||
std::vector< std::size_t > | create_precision_vec (const std::vector< std::string > &vertex_list) | ||||||
std::size_t | max (const std::vector< std::size_t > &) | ||||||
std::string | node_to_string (const Evolving_grid::Node &, const int precision) | ||||||
Evolving_grid::Node | string_to_node (const std::string &) | ||||||
std::string | normalize_node (const std::string &, const int precision) | ||||||
std::string | clean_whitespace (const std::string &) | ||||||
std::vector< std::string > | dgfFile_to_vec (const std::string &filename) | ||||||
template<typename It > | |||||||
It | dgf_find_vertex (It first, It last, const std::string &filename) | ||||||
template<typename It > | |||||||
It | dgf_close_list (It first, It last, const std::string &filename) | ||||||
const std::string & | project_dir () | ||||||
void | dune_fem_parameter_append (int argc, char **argv, const std::string &file) | ||||||
std::string | get_gridKey () | ||||||
std::string | get_macroGrid () | ||||||
std::string | doubleVector_to_string (const std::vector< double > &) | ||||||
void | file_check (const std::vector< std::string > &file_list) | ||||||
double | hom_value (const Esfem::Io::Parameter &, const Esfem::Growth) | ||||||
double | pertubation (const Esfem::Io::Parameter &, const Esfem::Growth) | ||||||
std::string | print_configuration (const Esfem::Io::Parameter &, const Esfem::Growth) | ||||||
std::string | dof_filename (const Io::Parameter &, const Growth) | ||||||
template<typename Rhs , typename Fef > | |||||||
void | assemble_RHS (const Rhs &rhs, Fef &fef) | ||||||
Assemble load vector. More... | |||||||
std::vector< MCF_op::Domain< MCF_op::Vector_fef > > | oriented_basis (const MCF_op::Geometry &) | ||||||
Calculates an oriented basis for the tangent space. Assumes grid dimension == 2 and world dimension == 3 . More... | |||||||
MCF_op::Range< MCF_op::Vector_fef > | nonUnit_normal (const std::vector< MCF_op::Domain< MCF_op::Vector_fef > > &basis) | ||||||
Calculates an non-normalized normal vector via the cross product formula. More... | |||||||
MCF_op::RangeField | euclidean_norm (const MCF_op::Range< MCF_op::Vector_fef > &v) | ||||||
Euclidean norm for a 3-dimensional vector. | |||||||
Evaluation helper functions | |||||||
Evaluates the local finite element function on the quadrature points. I have to pass the point and the quadrature object itself since I do not know what its precise type is. I do not consider using template a good practise for this problem.
| |||||||
MCF_op::Range< MCF_op::Vector_fef > | evaluate (const std::size_t pt, const MCF_op::Quadrature &q, const MCF_op::Local_function< MCF_op::Vector_fef > &cf) | ||||||
MCF_op::Range< MCF_op::Scalar_fef > | evaluate (const std::size_t pt, const MCF_op::Quadrature &q, const MCF_op::Local_function< MCF_op::Scalar_fef > &cf) | ||||||
Returns X(p) More... | |||||||
MCF_op::Jacobian_range< MCF_op::Vector_fef > | jacobian (const std::size_t pt, const MCF_op::Quadrature &q, const MCF_op::Local_function< MCF_op::Vector_fef > &cf) | ||||||
Returns dX(p) | |||||||
Implementation details.
void Esfem::Impl::assemble_RHS | ( | const Rhs & | rhs, |
Fef & | fef | ||
) |
Assemble load vector.
Rhs | Deduce Rhs_fun or Vec_rhs_fun |
Fef | Deduce Scal_FEfun::Dune_FEfun or Vec_FEfun::Dune_FEfun |
Definition at line 314 of file secOrd_op_rhs_impl.h.
|
inline |
MCF_op::Range<MCF_op::Vector_fef> Esfem::Impl::nonUnit_normal | ( | const std::vector< MCF_op::Domain< MCF_op::Vector_fef > > & | basis | ) |
Calculates an non-normalized normal vector via the cross product formula.
basis.size() == 2
and that the basis is correctly oriented. std::vector< MCF_op::Domain< Vector_fef > > Esfem::Impl::oriented_basis | ( | const MCF_op::Geometry & | g | ) |
Calculates an oriented basis for the tangent space. Assumes grid dimension == 2
and world dimension == 3
.
Definition at line 174 of file secOrd_op_solutionDriven_impl.cpp.