LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
Public Member Functions | Private Attributes | List of all members
projects::hldo_sphere::debugging::DiracConvergenceTest Class Reference

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_
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ DiracConvergenceTest()

projects::hldo_sphere::debugging::DiracConvergenceTest::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 
)
inline

Constructor setting all the functions and the reference k.

Parameters
f_zeroload function corresponding to the analytical solution u_zero
f_oneload function corresponding to the analytical solution u_one
f_twoload function corresponding to the analytical solution u_two
kreference used in all the functions such that changes of k affect the functions

Definition at line 72 of file dirac_convergence_test.h.

Member Function Documentation

◆ Compute()

void projects::hldo_sphere::debugging::DiracConvergenceTest::Compute ( unsigned  refinement_levels)

Member Data Documentation

◆ f_one_

std::function<Eigen::Matrix<complex, 3, 1>( const Eigen::Matrix<double, 3, 1> &)> projects::hldo_sphere::debugging::DiracConvergenceTest::f_one_
private

Definition at line 95 of file dirac_convergence_test.h.

Referenced by Compute().

◆ f_two_

std::function<complex(const Eigen::Matrix<double, 3, 1> &)> projects::hldo_sphere::debugging::DiracConvergenceTest::f_two_
private

Definition at line 96 of file dirac_convergence_test.h.

Referenced by Compute().

◆ f_zero_

std::function<complex(const Eigen::Matrix<double, 3, 1> &)> projects::hldo_sphere::debugging::DiracConvergenceTest::f_zero_
private

Definition at line 92 of file dirac_convergence_test.h.

Referenced by Compute().

◆ k_

double& projects::hldo_sphere::debugging::DiracConvergenceTest::k_
private

Definition at line 97 of file dirac_convergence_test.h.

Referenced by Compute().


The documentation for this class was generated from the following files: