LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Creates and solves the discretised Dirac Operator source problems for a given list of levels and values of k. More...
Public Member Functions | |
DiracOperatorExperiment (std::function< complex(const Eigen::Matrix< double, 3, 1 > &)> u_zero, std::function< Eigen::Matrix< complex, 3, 1 >(const Eigen::Matrix< double, 3, 1 > &)> u_one, std::function< complex(const Eigen::Matrix< double, 3, 1 > &)> u_two, std::function< complex(const Eigen::Matrix< double, 3, 1 > &)> f_zero, std::function< Eigen::Matrix< complex, 3, 1 >(const Eigen::Matrix< double, 3, 1 > &)> f_one, std::function< complex(const Eigen::Matrix< double, 3, 1 > &)> f_two, double &k, std::string name) | |
Constructor setting all the functions and the reference k. More... | |
void | Compute (std::vector< unsigned > refinement_levels, std::vector< double > ks) |
Solves the hodge laplacian source problems for the tensor product of passed refinement levels and ks. More... | |
Private Attributes | |
std::function< complex(const Eigen::Matrix< double, 3, 1 > &)> | u_zero_ |
std::function< Eigen::Matrix< complex, 3, 1 >(const Eigen::Matrix< double, 3, 1 > &)> | u_one_ |
std::function< complex(const Eigen::Matrix< double, 3, 1 > &)> | u_two_ |
std::function< complex(const Eigen::Matrix< double, 3, 1 > &)> | f_zero_ |
std::function< Eigen::Matrix< complex, 3, 1 >(const Eigen::Matrix< double, 3, 1 > &)> | f_one_ |
std::function< complex(const Eigen::Matrix< double, 3, 1 > &)> | f_two_ |
double & | k_ |
std::string | name_ |
Creates and solves the discretised Dirac Operator source problems for a given list of levels and values of k.
Details about the experiments can be found in the thesis Hodge-Laplacians and Dirac Operators on the Surface of the 3-Sphere
chapter 6.
Definition at line 45 of file dirac_operator_experiment.h.
|
inline |
Constructor setting all the functions and the reference k.
u_zero | analytical soltions corresponding to the load function f_zero |
u_one | analytical soltions corresponding to the load function f_one |
u_two | analytical soltions corresponding to the load function f_two |
f_zero | load function corresponding to the analytical solution u_zero |
f_one | load function corresponding to the analytical solution u_one |
f_two | load function corresponding to the analytical solution u_two |
k | reference used in all the functions such that changes of k affect the functions |
name | identifier of the example (cretes a folder with this name for the results) |
Definition at line 63 of file dirac_operator_experiment.h.
|
inline |
Solves the hodge laplacian source problems for the tensor product of passed refinement levels and ks.
refinement_levels | integer list containig all the levels |
ks | list of all ks to be used |
Definition at line 93 of file dirac_operator_experiment.h.
References projects::hldo_sphere::mesh::SphereTriagMeshBuilder::Build(), f_one_, f_two_, f_zero_, projects::hldo_sphere::post_processing::ProblemSolutionWrapper< SCALAR >::k, k_, projects::hldo_sphere::post_processing::ProblemSolutionWrapper< SCALAR >::levels, projects::hldo_sphere::post_processing::ProblemSolutionWrapper< SCALAR >::mesh, name_, projects::hldo_sphere::post_processing::process_results(), projects::hldo_sphere::operators::DiracOperatorSourceProblem::SetLoadFunctions(), projects::hldo_sphere::mesh::SphereTriagMeshBuilder::setRadius(), projects::hldo_sphere::mesh::SphereTriagMeshBuilder::setRefinementLevel(), projects::hldo_sphere::post_processing::ProblemSolutionWrapper< SCALAR >::solutions, u_one_, u_two_, and u_zero_.
|
private |
Definition at line 230 of file dirac_operator_experiment.h.
Referenced by Compute().
|
private |
Definition at line 231 of file dirac_operator_experiment.h.
Referenced by Compute().
|
private |
Definition at line 227 of file dirac_operator_experiment.h.
Referenced by Compute().
|
private |
Definition at line 232 of file dirac_operator_experiment.h.
Referenced by Compute().
|
private |
Definition at line 233 of file dirac_operator_experiment.h.
Referenced by Compute().
|
private |
Definition at line 225 of file dirac_operator_experiment.h.
Referenced by Compute().
|
private |
Definition at line 226 of file dirac_operator_experiment.h.
Referenced by Compute().
|
private |
Definition at line 222 of file dirac_operator_experiment.h.
Referenced by Compute().