LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Class to test the convergence of the Dirac operator. More...
#include </home/nico/bildung/SemVI/thesis/lehrfempp/projects/hldo_sphere/debugging/dirac_convergence_test.h>
Public Member Functions | |
DiracConvergenceTest (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) | |
Constructor setting all the functions and the reference k. More... | |
void | Compute (unsigned refinement_levels) |
Solves the dirac opeartor source problems up to the given refinement_level. More... | |
Private Attributes | |
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_ |
Class to test the convergence of the Dirac operator.
This test does only test convergence but not the convergence to a specific value. Morespecifically its used to test
\[ |\|u_k\| - \|u_{k-1}\|| \to 0 \]
The method Compute() computes a list of values stored in ./results/result_dirac_convergence_refimement_level
.csv that can be used for plots
Definition at line 59 of file dirac_convergence_test.h.
|
inline |
Constructor setting all the functions and the reference k.
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 |
Definition at line 72 of file dirac_convergence_test.h.
void projects::hldo_sphere::debugging::DiracConvergenceTest::Compute | ( | unsigned | refinement_levels | ) |
Solves the dirac opeartor source problems up to the given refinement_level.
Solves the hodge laplacian source problems for the tensor product of passed refinement levels and ks.
refinement_levels | integer maximal refinement level to compute |
refinement_levels | integer list containig all the levels |
ks | list of all ks to be used |
Definition at line 17 of file dirac_convergence_test.cc.
References projects::hldo_sphere::mesh::SphereTriagMeshBuilder::Build(), projects::hldo_sphere::debugging::concat(), f_one_, f_two_, f_zero_, k_, lf::base::RefEl::kTria(), projects::hldo_sphere::post_processing::L2norm(), lf::quad::make_QuadRule(), projects::hldo_sphere::debugging::SolutionList::mu_one, projects::hldo_sphere::debugging::SolutionList::mu_two, projects::hldo_sphere::debugging::SolutionList::mu_zero, projects::hldo_sphere::operators::DiracOperatorSourceProblem::SetLoadFunctions(), projects::hldo_sphere::mesh::SphereTriagMeshBuilder::setRadius(), projects::hldo_sphere::mesh::SphereTriagMeshBuilder::setRefinementLevel(), and lf::geometry::Volume().
|
private |
Definition at line 95 of file dirac_convergence_test.h.
Referenced by Compute().
|
private |
Definition at line 96 of file dirac_convergence_test.h.
Referenced by Compute().
|
private |
Definition at line 92 of file dirac_convergence_test.h.
Referenced by Compute().
|
private |
Definition at line 97 of file dirac_convergence_test.h.
Referenced by Compute().