20 #ifndef _TEST_CASE_HPP
21 #define _TEST_CASE_HPP
96 const bool is_divergence_zero,
97 const bool is_divergence_constant
102 is_divergence_zero(is_divergence_zero),
103 is_divergence_constant(is_divergence_constant)
113 is_divergence_zero(
true),
114 is_divergence_constant(
true)
200 std::vector<int> m_iTC;
201 const double pi = acos(-1);
202 const double sqrt2 = std::pow(2, 0.5);
203 const double eps = 1e-5;
214 Solution create_solution(
const size_t n);
215 Diffusion create_diffusion(
const size_t n);
216 Advection create_advection(
const size_t n);
217 Reaction create_reaction(
const size_t n);
std::function< T(const VectorRd &, const Cell *)> CellFType
type for function of a point, that could be discontinuous between cells. T is the type of value of th...
Definition: TestCase.hpp:42
The TestCase class provides definition of test cases.
Definition: TestCase.hpp:164
void validate()
Check if the provided test cases are valid (within range, and combination of solution/diffusion valid...
Definition: TestCase.cpp:538
CellFType< double > diff_source()
Returns the diffusion source term.
Definition: TestCase.cpp:514
Advection get_advection()
Returns the advection.
Definition: TestCase.hpp:224
TestCase(std::vector< int > iTC)
Initialise data.
Definition: TestCase.cpp:16
Diffusion get_diffusion()
Returns the diffusion.
Definition: TestCase.hpp:223
double get_lambda()
Returns the value of the parameter lambda.
Definition: TestCase.hpp:221
CellFType< double > diff_advec_reac_source()
Returns the diffusion-advection-reaction source term.
Definition: TestCase.cpp:525
Reaction get_reaction()
Returns the reaction.
Definition: TestCase.hpp:225
Solution get_solution()
Returns the solution.
Definition: TestCase.hpp:222
function[maxeig, mineig, cond, mat]
Definition: compute_eigs.m:1
Eigen::Vector2d VectorRd
Definition: basis.hpp:55
std::function< T(const VectorRd &)> FType
type for function of point. T is the type of value of the function
Definition: basis.hpp:62
Polytope< DIMENSION > Cell
Definition: Polytope2D.hpp:151
if(strcmp(field, 'real')) % real valued entries T
Definition: mmread.m:93
boost::proto::result_of::make_expr< boost::proto::tag::function, divergence_fun< BasisType >, const BasisType & >::type const divergence(const BasisType &basis)
Definition: dsl.hpp:147
Definition: ddr-klplate.hpp:27
Structure to store an advection velocity and its divergence, together with various flags.
Definition: TestCase.hpp:90
CellFType< VectorRd > value
Definition: TestCase.hpp:120
bool is_zero
Definition: TestCase.hpp:122
CellFType< double > divergence
Definition: TestCase.hpp:121
Advection()
Definition: TestCase.hpp:109
bool is_divergence_constant
Definition: TestCase.hpp:124
Advection(const CellFType< VectorRd > value, const CellFType< double > divergence, const bool is_zero, const bool is_divergence_zero, const bool is_divergence_constant)
Definition: TestCase.hpp:92
bool is_divergence_zero
Definition: TestCase.hpp:123
Structure to store a diffusion tensor and its row-wise divergence.
Definition: TestCase.hpp:68
const CellFType< MatrixRd > value
Definition: TestCase.hpp:83
const CellFType< VectorRd > divergence
Definition: TestCase.hpp:84
Diffusion(const CellFType< MatrixRd > value, const CellFType< VectorRd > divergence, const size_t degree)
Definition: TestCase.hpp:70
const size_t degree
Definition: TestCase.hpp:85
Structure to store a reaction term, together with various flags.
Definition: TestCase.hpp:129
Reaction()
Definition: TestCase.hpp:144
CellFType< double > value
Definition: TestCase.hpp:153
Reaction(const CellFType< double > value, const bool is_zero, const bool is_constant)
Definition: TestCase.hpp:131
bool is_constant
Definition: TestCase.hpp:155
bool is_zero
Definition: TestCase.hpp:154
Structure to store a solution and its derivatives.
Definition: TestCase.hpp:46
const FType< double > value
Definition: TestCase.hpp:61
const CellFType< VectorRd > gradient
Definition: TestCase.hpp:62
Solution(const FType< double > value, const CellFType< VectorRd > gradient, const CellFType< MatrixRd > hessian)
Definition: TestCase.hpp:48
const CellFType< MatrixRd > hessian
Definition: TestCase.hpp:63