HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
HArDCore3D Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  AssembledSystems
 Struct to store the assembled systems. More...
 
struct  AssembleSystems
 Struct to store the systems that need assembling. More...
 
struct  Brinkman
 Structure for Brinkman model. More...
 
struct  BrinkmanNorms
 Structure to store norm components (energy for velocity, L2 pressure, and global) More...
 
struct  BrinkmanParameters
 Structure to store physical parameter (and compute derived parameters) More...
 
class  Cell_basis
 
class  CurlBasis
 Basis for the space of curls of polynomials. More...
 
class  DDR_PEC
 
class  DDR_Spaces
 
class  DDRCore
 Construct all polynomial spaces for the DDR sequence. More...
 
struct  DecomposePoly
 Structure to decompose a set of polynomials on a basis on a face or a cell. More...
 
class  DivergenceBasis
 Basis (or rather family) of divergence of an existing basis. More...
 
struct  Einstein
 Class to assemble and solve an Einstein problem. More...
 
struct  EinsteinNorms
 Structure to store norm components (for B_\alpha, D_\alpha, theta^\alpha) More...
 
class  ElementQuad
 
struct  evaluate_quad
 Evaluate a basis at quadrature nodes. 'BasisFunction' (=Function, Gradient, Curl, Divergence or Hessian) determines what kind of value we want to evaluate. More...
 
class  Family
 Family of functions expressed as linear combination of the functions of a given basis. More...
 
struct  FullGradientDiffusion
 Assemble a diffusion problem. More...
 
class  GlobalDOFSpace
 Base class for global DOF spaces. Provides functions to manipulate global DOFs (the local version being provided by DOFSpace). More...
 
class  GolyComplBasisCell
 Basis for the complement G^{c,k}(T) in P^k(T)^3 of the range of grad. More...
 
class  GolyComplBasisFace
 Basis for the complement G^{c,k}(F) in P^k(F)^2 of the range of the gradient on a face. More...
 
class  GradientBasis
 Basis for the space of gradients of polynomials. More...
 
class  HHO_Diffusion
 The HHO_Diffusion class provides tools to implement the HHO method for the diffusion problem. More...
 
class  HHO_LocVarDiff
 The HHO_LocVarDiff class provides tools to implement the HHO method for the diffusion problem. More...
 
class  HHOSpace
 Class definition: polynomial bases and operators. More...
 
class  HybridCore
 
struct  IntegralWeight
 Structure for weights (scalar, at the moment) in integral. More...
 
class  LADDRCore
 Construct the spaces for the LADDR sequence. More...
 
class  LASXCurl
 Discrete Lie algebra valued Serendipity Hcurl space: local operators, L2 product and global interpolator. More...
 
class  LASXDiv
 Discrete Serendipity Hdiv space: local operators, L2 product and global interpolator. More...
 
class  LASXGrad
 Discrete Serendipity Hgrad space: local operators, L2 product and global interpolator. More...
 
class  LAXCurl
 Discrete Lie algebra valued Hcurl space. More...
 
class  LAXDiv
 Discrete Lie algebra valued Hdiv space: local operators, L2 product and global interpolator. More...
 
class  LAXGrad
 Discrete Lie algebra valued H1 space: local operators, L2 product and global interpolator. More...
 
class  LegendreGauss
 
class  LieAlgebra
 Lie algebra class: mass matrix, structure constants and Lie bracket. More...
 
class  LinearSolver
 This structure is a wrapper to allow a given code to select various linear solvers. More...
 
class  LocalDOFSpace
 Base class for DOF spaces: functions to access local DOFs (organised from the smallest dimension to the largest) associated with each geometric entity. More...
 
struct  LocalStaticCondensation
 Structure to store information for, and perform, local static condensation. More...
 
struct  Magnetostatics
 Assemble a magnetostatic problem. More...
 
class  MatrixFamily
 Matrix family obtained from a scalar family. More...
 
class  MeshBuilder
 The MeshBuilder class provides build tools to create a full mesh with all connectivities. More...
 
class  MeshReaderRF
 The MeshReaderRF class provides functions to read a RF mesh file. More...
 
class  MHDTests
 
struct  MonomialPowers
 Compute vectors listing the powers of monomial basis functions (for a cell or face, only specializations are relevant) up to a certain degree. More...
 
struct  MonomialPowers< Cell >
 
struct  MonomialPowers< Face >
 
class  MonomialScalarBasisCell
 Scalar monomial basis on a cell. More...
 
class  MonomialScalarBasisEdge
 Scalar monomial basis on an edge. More...
 
class  MonomialScalarBasisFace
 Scalar monomial basis on a face. More...
 
struct  NavierStokes
 Class to assemble and solve a Navier-Stokes problem. More...
 
struct  PolynomialSpaceDimension
 Basis dimensions for various polynomial spaces on edges/faces/elements (when relevant): Pk, Gk, Rk and complements. More...
 
struct  PolynomialSpaceDimension< Cell >
 
struct  PolynomialSpaceDimension< Edge >
 
struct  PolynomialSpaceDimension< Face >
 
struct  QuadratureNode
 Description of one node and one weight from a quadrature rule. More...
 
class  QuadRuleEdge
 
class  QuadRuleTetra
 
class  QuadRuleTriangle
 
class  RestrictedBasis
 Generate a basis restricted to the first "dimension" functions. More...
 
class  RolyComplBasisCell
 Basis for the complement R^{c,k}(T) in P^k(T)^3 of the range of curl. More...
 
class  RolyComplBasisFace
 Basis for the complement R^{c,k}(F) in P^k(F)^2 of the range of the vectorial rotational on a face. More...
 
class  SerendipityProblem
 Construct all polynomial spaces for the DDR sequence. More...
 
class  ShiftedBasis
 Generate a basis where the function indices are shifted. More...
 
struct  Stokes
 Assemble a Stokes problem. More...
 
struct  StokesNorms
 Structure to store norm components (for velocity, its curl, pressure, and its gradient), as well as Hcurl and Hgrad norms of velocity and pressure. More...
 
class  SXCurl
 Discrete Serendipity Hcurl space: local operators, L2 product and global interpolator. More...
 
class  SXDiv
 Discrete Serendipity Hdiv space: local operators, L2 product and global interpolator. More...
 
class  SXGrad
 Discrete Serendipity Hgrad space: local operators, L2 product and global interpolator. More...
 
struct  SystemVectors
 Struct to store the systems and vector. More...
 
class  TangentFamily
 Vector family for polynomial functions that are tangent to a certain place (determined by the generators) More...
 
class  TensorizedVectorFamily
 Vector family obtained by tensorization of a scalar family. More...
 
class  UVector
 
class  VariableDOFSpace
 Base class for global DOF spaces. More...
 
class  VCurl
 Virtual Hcurl space: local operators, L2 product and global interpolator. More...
 
class  VDiv
 Virtual Hdiv space: local operators, L2 product and global interpolator. More...
 
struct  VecFaceHash
 Hash function for VectorZd type. More...
 
struct  VecHash
 Hash function for VectorZd type. More...
 
class  VEMCore
 Construct all polynomial spaces for the VEM sequence. More...
 
class  VGrad
 Virtual H1 space: local operators, L2 product and global interpolator. More...
 
class  VHHOSpace
 Class definition: polynomial bases and operators. More...
 
class  VtuWriter
 The VtuWriter class provides methods to plot a 3D mesh and a solution on this mesh. More...
 
class  XCurl
 Discrete Hcurl space: local operators, L2 product and global interpolator. More...
 
class  XDiv
 Discrete Hdiv space: local operators, L2 product and global interpolator. More...
 
class  XGrad
 Discrete H1 space: local operators, L2 product and global interpolator. More...
 
struct  YangMills
 Assemble a YangMills problem. More...
 
struct  YangMillsNorms
 Structure to store norm components. More...
 

Typedefs

typedef Eigen::Matrix3d MatrixRd
 
template<typename T >
using FType = std::function< T(const VectorRd &)>
 type for function of point. T is the return type of the function
 
template<typename T >
using CellFType = std::function< T(const VectorRd &, const Cell *)>
 type for function of point. T is the return type of the function
 
template<typename T >
using BasisQuad = boost::multi_array< T, 2 >
 type for bases evaluated on quadrature nodes
 
typedef std::function< double(const Cell &, const Eigen::Vector3d &)> IntegralWeightValueType
 
typedef std::function< size_t(const Cell &)> IntegralWeightDegreeType
 
template<typename MatrixType >
using EigenLUType = Eigen::SparseLU< MatrixType >
 
template<typename MatrixType >
using EigenBiCGStabType = Eigen::BiCGSTAB< MatrixType, Eigen::IncompleteLUT< double > >
 
template<typename MatrixType >
using PardisoLUType = bool
 
template<typename MatrixType >
using UMFPACKType = bool
 
using PastixLUType = bool
 
using PastixLLTType = bool
 
template<typename MatrixType >
using ListSolvers = std::tuple< std::unique_ptr< EigenLUType< MatrixType > >, std::unique_ptr< EigenBiCGStabType< MatrixType > >, std::unique_ptr< PardisoLUType< MatrixType > >, std::unique_ptr< UMFPACKType< MatrixType > >, std::unique_ptr< PastixLUType >, std::unique_ptr< PastixLLTType > >
 
typedef std::function< bool(const Cell &)> CellSelection
 
typedef std::unordered_map< VectorZd, double, VecHashMonomialCellIntegralsType
 Type for list of integrals of monomials.
 
typedef std::vector< doubleMonomialEdgeIntegralsType
 Type for list of edge integrals of monomials.
 
typedef std::unordered_map< Eigen::Vector2i, double, VecFaceHashMonomialFaceIntegralsType
 Type for list of face integrals of monomials.
 
typedef boost::multi_array< double, 3 > Scalar3Tensor
 
typedef Eigen::Map< Eigen::MatrixXd, Eigen::Unaligned, Eigen::Stride< Eigen::Dynamic, Eigen::Dynamic > > MatrixSlice
 
typedef Eigen::Map< Eigen::VectorXd, Eigen::Unaligned, Eigen::InnerStride< Eigen::Dynamic > > VectorSlice
 
typedef std::vector< QuadratureNodeQuadratureRule
 

Enumerations

enum  TensorRankE { Scalar = 0 , Vector = 1 , Matrix = 2 }
 
enum  BasisFunctionE {
  Function , Gradient , Curl , Divergence ,
  Hessian , CurlCurl
}
 
enum  SolverName {
  EigenLU , EigenBiCGStab , PardisoLU , UMFPACK ,
  PaStiXLU , PaStiXLLT
}
 Enumeration of all available solvers. More...
 

Functions

std::function< Eigen::Vector3d(double t, const Eigen::Vector3d &)> star (const std::function< Eigen::Vector3d(double t, const Eigen::Vector3d &)> &F)
 
std::function< Eigen::Vector3d(const Eigen::Vector3d &)> star (const std::function< Eigen::Vector3d(const Eigen::Vector3d &)> &F)
 
template<typename Fct >
std::vector< FctstarCol (const std::vector< Fct > &F)
 
std::function< Eigen::Vector3d(const Eigen::Vector3d &)> noise (const std::function< Eigen::Vector3d(const Eigen::Vector3d &)> &f)
 
template<typename outValue , typename Fct >
std::vector< FctsumLA (const std::vector< Fct > &LAF, const std::vector< Fct > &LAG, double lambda)
 Template to evaluate a vector of functions.
 
double scalar_product (const double &x, const double &y)
 Scalar product between two reals.
 
double scalar_product (const double &x, const Eigen::Matrix< double, 1, 1 > &y)
 Scalar product between one real and one 1-dimension Eigen vector.
 
double scalar_product (const VectorRd &x, const VectorRd &y)
 Scalar product between two vectors.
 
boost::multi_array< VectorRd, 2 > vector_product (const boost::multi_array< VectorRd, 2 > &basis_quad, const VectorRd &v)
 Compute the vector (cross) product between the evaluation of a basis and a constant vector.
 
Eigen::MatrixXd PermuteTensorization (const size_t a, const size_t b)
 Returns the matrix giving the permutation of the tensorization of a family of size a with a family of size b.
 
Eigen::MatrixXd compute_gram_matrix (const boost::multi_array< VectorRd, 2 > &B1, const boost::multi_array< double, 2 > &B2, const QuadratureRule &qr)
 Compute the Gram-like matrix given a family of vector-valued and one of scalar-valued functions by tensorizing the latter.
 
Eigen::MatrixXd compute_gram_matrix (const boost::multi_array< double, 2 > &B1, const boost::multi_array< double, 2 > &B2, const QuadratureRule &qr, const size_t nrows, const size_t ncols, const std::string sym)
 
Eigen::MatrixXd compute_gram_matrix (const boost::multi_array< double, 2 > &B1, const boost::multi_array< double, 2 > &B2, const QuadratureRule &qr, const std::string sym)
 
Eigen::MatrixXd compute_gram_matrix (const boost::multi_array< VectorRd, 2 > &B1, const boost::multi_array< VectorRd, 2 > &B2, const QuadratureRule &qr, const size_t nrows, const size_t ncols, const std::string sym)
 
Eigen::MatrixXd compute_gram_matrix (const boost::multi_array< VectorRd, 2 > &B1, const boost::multi_array< VectorRd, 2 > &B2, const QuadratureRule &qr, const std::string sym="nonsym")
 Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. Consists in calling the Vector3d-valued version with nrows = nb of elements in B1, ncols = nb of elements in B2.
 
Eigen::MatrixXd compute_weighted_gram_matrix (const FType< VectorRd > &f, const BasisQuad< VectorRd > &B1, const BasisQuad< double > &B2, const QuadratureRule &qr, size_t n_rows=0, size_t n_cols=0)
 Computes the Gram-like matrix of integrals (f dot phi_i, phi_j)
 
Eigen::MatrixXd compute_weighted_gram_matrix (const FType< VectorRd > &f, const BasisQuad< double > &B1, const BasisQuad< VectorRd > &B2, const QuadratureRule &qr, size_t n_rows=0, size_t n_cols=0)
 Computes the Gram-like matrix of integrals (phi_i, f dot phi_j)
 
template<typename ScalarFamilyType >
DivergenceBasis< TangentFamily< ScalarFamilyType > > ScalarRotFamily (const TangentFamily< ScalarFamilyType > &tangent_family, const Face &F)
 The following function creates the "scalar rot" basis of a TangentFamily on a face.
 
template<typename outValue , typename inValue , typename FunctionType >
boost::multi_array< outValue, 2 > transform_values_quad (const boost::multi_array< inValue, 2 > &B_quad, const FunctionType &F)
 Takes an array B_quad of values at quadrature nodes and applies the function F to all of them. F must take inValue and return outValue. The function must be called with outValue as template argument: transform_values_quad<outValue>(...)
 
template<typename ScalarBasisType , size_t N>
Family< TensorizedVectorFamily< ScalarBasisType, N > > GenericTensorization (const ScalarBasisType &B, const std::vector< Eigen::VectorXd > &v)
 From a scalar family B=(B_1..B_r) and vectors (v_1..v_k) in R^N, constructs a "Family" of "TensorizedVectorFamily" (built on B, of size N) that represents the family (B_1v_1..B_rv_1 B_1v_2...B_rv_2...B_1v_k...B_rv_k).
 
template<typename ScalarBasisType , size_t N>
Family< MatrixFamily< ScalarBasisType, N > > IsotropicMatrixFamily (const ScalarBasisType &B)
 From a scalar family B, constructs a "Family" of "MatrixFamily" (built on B, of size NxN) that represents the family B Id on the MatrixFamily.
 
template<typename T >
Eigen::MatrixXd gram_schmidt (boost::multi_array< T, 2 > &basis_eval, const std::function< double(size_t, size_t)> &inner_product)
 
template<int N>
double scalar_product (const Eigen::Matrix< double, N, N > &x, const Eigen::Matrix< double, N, N > &y)
 Scalar product between two matrices.
 
template<typename Value >
boost::multi_array< double, 2 > scalar_product (const boost::multi_array< Value, 2 > &basis_quad, const Value &v)
 This overloading of the scalar_product function computes the scalar product between an evaluation of a basis and a constant value; both basis values and constant value must be of type Value.
 
template<typename BasisType >
Family< BasisTypel2_orthonormalize (const BasisType &basis, const QuadratureRule &qr, boost::multi_array< typename BasisType::FunctionValue, 2 > &basis_quad)
 \(L^2\)-orthonormalization: simply consists in using gram_schmidt() with the specific l2 inner product
 
template<typename BasisType >
Family< BasisTypel2_orthonormalize (const BasisType &basis, const Eigen::MatrixXd &GM)
 \(L^2\)-orthonormalization: when the Gram Matrix is passed, we use Cholesky.
 
template<typename FunctionValue >
Eigen::MatrixXd compute_gram_matrix (const boost::multi_array< FunctionValue, 2 > &B1, const boost::multi_array< FunctionValue, 2 > &B2, const QuadratureRule &qr, const size_t nrows, const size_t ncols, const std::string sym="nonsym")
 
template<typename FunctionValue >
Eigen::MatrixXd compute_gram_matrix (const boost::multi_array< FunctionValue, 2 > &B1, const boost::multi_array< FunctionValue, 2 > &B2, const QuadratureRule &qr, const std::string sym="nonsym")
 
template<typename FunctionValue >
Eigen::MatrixXd compute_gram_matrix (const boost::multi_array< FunctionValue, 2 > &B, const QuadratureRule &qr)
 Compute the Gram matrix given the evaluation of one family of functions at quadrature nodes. Consists in calling the generic templated version with B1=B2.
 
template<typename ScalarFamilyType , size_t N>
Eigen::MatrixXd compute_gram_matrix (const MatrixFamily< ScalarFamilyType, N > &MatFam, const boost::multi_array< double, 2 > &scalar_family_quad, const QuadratureRule &qr)
 Compute the Gram-like matrix for a MatrixFamily. This overload is more efficient than the generic function as it only computes the gram matrix of the underlying scalar family, and then creates the bloc-diagonal gram matrix of the MatrixFamily (which is indeed bloc diagonal given the choice of m_E elements in this class).
 
template<typename T >
Eigen::VectorXd integrate (const FType< T > &f, const BasisQuad< T > &B, const QuadratureRule &qr, size_t n_rows=0)
 Computes the vector of integrals (f, phi_i)
 
template<typename T , typename U >
Eigen::MatrixXd compute_weighted_gram_matrix (const FType< U > &f, const BasisQuad< T > &B1, const BasisQuad< T > &B2, const QuadratureRule &qr, size_t n_rows=0, size_t n_cols=0, const std::string sym="nonsym")
 Computes the Gram-like matrix of integrals (f phi_i, phi_j)
 
template<typename T , typename U >
Eigen::MatrixXd compute_weighted_gram_matrix (const FType< U > &f, const BasisQuad< T > &B1, const BasisQuad< T > &B2, const QuadratureRule &qr, const std::string sym)
 Computes the Gram-like matrix of integrals (f phi_i, phi_j)
 
template<typename BasisType >
Eigen::VectorXd l2_projection (const std::function< typename BasisType::FunctionValue(const VectorRd &)> &f, const BasisType &basis, QuadratureRule &quad, const boost::multi_array< typename BasisType::FunctionValue, 2 > &basis_quad, const Eigen::MatrixXd &mass_basis=Eigen::MatrixXd::Zero(1, 1))
 Compute the L2-projection of a function.
 
std::pair< double, doublestore_times (boost::timer::cpu_timer &timer, std::string message="")
 Function to store and display wall/proc timers from boost::timer::cpu_timer.
 
IntegralWeight operator* (double const &r, IntegralWeight const &weight)
 Operator to multiply an IntegralWeight by a number.
 
IntegralWeight operator+ (IntegralWeight const &weight1, IntegralWeight const &weight2)
 Operator to add an IntegralWeight to another one.
 
static std::pair< std::vector< int >, std::vector< int > > distributeLoad (size_t nb_elements, unsigned nb_threads)
 Function to distribute elements (considered as jobs) over threads. It returns a pair of vectors indicating the start and end element of each thread.
 
static void parallel_for (unsigned nb_elements, std::function< void(size_t start, size_t end)> functor, bool use_threads=true)
 Generic function to execute threaded processes.
 
static SystemVectors< Eigen::SparseMatrix< double > > parallel_assembly_system (size_t nb_elements, std::vector< std::pair< size_t, size_t > > size_systems, std::vector< size_t > size_vectors, std::function< void(size_t start, size_t end, std::vector< std::list< Eigen::Triplet< double > > > *triplets, std::vector< Eigen::VectorXd > *vecs)> batch_local_assembly, bool use_threads=true)
 Function to assemble global matrices from a procedure that compute local triplets.
 
static std::pair< Eigen::SparseMatrix< double >, Eigen::VectorXd > parallel_assembly_system (size_t nb_elements, size_t size_system, std::function< void(size_t start, size_t end, std::list< Eigen::Triplet< double > > *triplets, Eigen::VectorXd *rhs)> batch_local_assembly, bool use_threads=true)
 Function to assemble a global matrix and right-hand side from a procedure that compute local triplets and rhs contributions (a wrapper for the more general function that can assemble several matrices and vectors)
 
static std::tuple< Eigen::SparseMatrix< double >, Eigen::VectorXd, Eigen::SparseMatrix< double >, Eigen::VectorXd > parallel_assembly_system (size_t nb_elements, size_t size_system1, std::pair< size_t, size_t > size_Mat2, size_t size_b2, std::function< void(size_t start, size_t end, std::list< Eigen::Triplet< double > > *triplets1, Eigen::VectorXd *vec1, std::list< Eigen::Triplet< double > > *triplets2, Eigen::VectorXd *vec2)> batch_local_assembly, bool use_threads=true)
 Function to assemble two global matrices and vectors (such as: system and static condensation operator, or system and matrix for BC) from a procedure that compute local triplets and rhs contributions (a wrapper for the more general function that can assemble several matrices and vectors)
 
template<typename GeometricSupport >
size_t const DimPoly (int m)
 
template<>
const size_t DimPoly< Cell > (const int m)
 Compute the size of the basis of 3-variate polynomials up to degree m.
 
template<>
const size_t DimPoly< Face > (const int m)
 Compute the size of the basis of 2-variate polynomials up to degree m.
 
template<>
const size_t DimPoly< Edge > (const int m)
 Compute the size of the basis of 1-variate polynomials up to degree m.
 
std::vector< MonomialCellIntegralsTypeIntegrateCellMonomials_onEdges (const Cell &T, const size_t maxdeg)
 Compute all the integrals, on the edges of a cell, of this cell's monomials up to a max degree.
 
std::vector< MonomialCellIntegralsTypeIntegrateCellMonomials_onFaces (const Cell &T, const size_t maxdeg, std::vector< MonomialCellIntegralsType > &integrals_edges)
 Compute all the integrals, on the faces of a cell, of this cell's monomials up to a max degree.
 
MonomialCellIntegralsType IntegrateCellMonomials (const Cell &T, const int maxdeg)
 Compute all the integrals of a cell's monomials on the cell.
 
MonomialCellIntegralsType CheckIntegralsDegree (const Cell &T, const size_t degree, const MonomialCellIntegralsType &mono_int_map={})
 Checks if the degree of an existing list of monomial integrals is sufficient, other re-compute and return a proper list.
 
template<typename BasisType >
Eigen::MatrixXd transformGM (const Family< BasisType > &family_basis, const char RC, const Eigen::MatrixXd &anc_GM)
 Transforms a Gram Matrix from an ancestor to a family basis.
 
template<typename BasisType >
Eigen::MatrixXd transformGM (const RestrictedBasis< BasisType > &restr_basis, const char RC, const Eigen::MatrixXd &anc_GM)
 Transforms a Gram Matrix from an ancestor to a restricted basis.
 
template<typename BasisType >
Eigen::MatrixXd transformGM (const ShiftedBasis< BasisType > &shifted_basis, const char RC, const Eigen::MatrixXd &anc_GM)
 Transforms a Gram Matrix from an ancestor to a shifted basis.
 
Eigen::MatrixXd GramMatrix (const Cell &T, const MonomialScalarBasisCell &basis1, const MonomialScalarBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases.
 
template<typename BasisType >
Eigen::MatrixXd GramMatrix (const Cell &T, const BasisType &basis, MonomialCellIntegralsType mono_int_map={})
 This overload to simplify the call to GramMatrix in case the two bases are the same.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrix (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of any pair of tensorized scalar bases.
 
Eigen::MatrixXd GramMatrix (const Cell &T, const RolyComplBasisCell &basis1, const RolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of RolyCompl bases.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd GramMatrix (const Cell &T, const RolyComplBasisCell &rolycompl_basis, const TensorizedVectorFamily< BasisType1, N > &tens_family, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a RolyCompl basis and a tensorized scalar basis.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd GramMatrix (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &tens_family, const RolyComplBasisCell &rolycompl_basis, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a tensorized scalar basis and a RolyCompl basis.
 
Eigen::MatrixXd GramMatrix (const Cell &T, const GolyComplBasisCell &basis1, const GolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of GolyCompl bases.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd GramMatrix (const Cell &T, const GolyComplBasisCell &golycompl_basis, const TensorizedVectorFamily< BasisType1, N > &tens_family, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a GolyCompl basis and a tensorized scalar basis.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd GramMatrix (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &tens_family, const GolyComplBasisCell &golycompl_basis, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a tensorized scalar basis and a GolyCompl basis.
 
Eigen::MatrixXd GMRolyComplScalar (const Cell &T, const RolyComplBasisCell &rolycompl_basis, const MonomialScalarBasisCell &mono_basis, const size_t m, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of the mth component of a RolyCompl Basis and a monomial basis.
 
template<typename BasisType >
Eigen::MatrixXd GMRolyComplScalar (const Cell &T, const RolyComplBasisCell &basis1, const BasisType &basis2, const size_t m, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of the mth component of a RolyCompl Basis and any basis.
 
Eigen::MatrixXd GMGolyComplScalar (const Cell &T, const GolyComplBasisCell &golycompl_basis, const MonomialScalarBasisCell &mono_basis, const size_t s, MonomialCellIntegralsType mono_int_map, const size_t m=3, const size_t k1=3, const size_t k2=3)
 Computes the Gram Matrix of the sth section of a GolyCompl Basis and a monomial basis.
 
template<typename BasisType >
Eigen::MatrixXd GMGolyComplScalar (const Cell &T, const GolyComplBasisCell &basis1, const BasisType &basis2, const size_t s, MonomialCellIntegralsType mono_int_map, const size_t m=3, const size_t k1=3, const size_t k2=3)
 Generic template to compute the Gram Matrix of the sth section of a GolyCompl Basis and any basis with an extra power of the mth variable.
 
Eigen::MatrixXd GMGolyCompl (const Cell &T, const GolyComplBasisCell &basis1, const GolyComplBasisCell &basis2, const size_t s1, const size_t s2, MonomialCellIntegralsType mono_int_map, const size_t m1=3, const size_t m2=3, const size_t k1=3, const size_t k2=3)
 Computes the Gram Matrix of the (optionally k1th derivative of the) s1th section of GolyCompl (optionally multiplied by the m1th variable) and the (optionally k2th derivative of the) s2th section of GolyCompl (optionally multiplied by the m2th variable)
 
template<typename BasisType >
constexpr bool useAncestor ()
 Determines if the ancestor of a basis will be used to compute a Gram matrix for this basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of bases.
 
Eigen::MatrixXd GMScalarDerivative (const Cell &T, const MonomialScalarBasisCell &basis1, const MonomialScalarBasisCell &basis2, const size_t m, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates, without scaling)
 
Eigen::MatrixXd GMScalarDerivative (const Cell &T, const MonomialScalarBasisCell &basis1, const MonomialScalarBasisCell &basis2, const size_t m, const size_t l, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases, taking partial derivatives of each of them (w.r.t. homogeneous coordinates, without scaling)
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GMScalarDerivative (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, const size_t m, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of scalar bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates, without scaling)
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GMScalarDerivative (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, const size_t m, const size_t l, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of scalar bases, taking partial derivatives of each of them (w.r.t. homogeneous coordinates, without scaling)
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrix (const Cell &T, const GradientBasis< BasisType1 > &grad_basis, const TensorizedVectorFamily< BasisType2, N > &tens_family, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a gradient basis and a tensorized scalar basis.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrix (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &tens_family, const GradientBasis< BasisType2 > &grad_basis, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a tensorized scalar basis and a gradient basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Cell &T, const GradientBasis< BasisType1 > &grad_basis1, const GradientBasis< BasisType2 > &grad_basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a gradient basis and another gradient basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Cell &T, const CurlBasis< BasisType1 > &basis1, const CurlBasis< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of Curl of any pair of bases.
 
template<typename BasisType1 , typename BasisType2 >
boost::disable_if< boost::is_same< BasisType2, MonomialCellIntegralsType >, Eigen::MatrixXd >::type GramMatrix (const Cell &T, const CurlBasis< BasisType1 > &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a Curl basis and any other basis.
 
template<typename BasisType1 , typename Basis2 >
Eigen::MatrixXd GramMatrix (const Cell &T, const BasisType1 &basis1, const CurlBasis< Basis2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of any basis and a Curl basis.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrixCurlCurl (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of a tensorized basis and the curl of another tensorized basis.
 
Eigen::MatrixXd GramMatrixCurlCurl (const Cell &T, const GolyComplBasisCell &basis1, const GolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Compute the Gram Matrix of the curl of a GolyCompl basis and the curl of another GolyCompl basis.
 
template<typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrixCurlCurl (const Cell &T, const GolyComplBasisCell &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of a GolyCompl basis and the curl of a tensorized basis.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd GramMatrixCurlCurl (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const GolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of a tensorized basis and the curl of a GolyCompl basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrixCurlCurl (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of any basis and the curl of any other basis.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrixCurl (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a Curl<Tensorized> basis and a tensorized scalar basis.
 
template<typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrixCurl (const Cell &T, const GolyComplBasisCell &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a Curl<GolyCompl> basis and a tensorized scalar basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrixCurl (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of any basis and any other basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrixCurl (const Cell &T, const BasisType1 &basis1, const CurlBasis< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the curl of any two bases when one CurlBasis is at a lower level than the other.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Cell &T, const DivergenceBasis< BasisType1 > &basis1, const DivergenceBasis< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of Divergence of any pair of bases.
 
Eigen::MatrixXd GMRolyComplScalarDiv (const Cell &T, const MonomialScalarBasisCell &mono_basis, const RolyComplBasisCell &rolycompl_basis, const size_t k, MonomialCellIntegralsType mono_int_map)
 Gram Matrix of the divergence of a RolyCompl Basis and the kth derivative of a monomial basis.
 
template<typename BasisType >
Eigen::MatrixXd GMRolyComplScalarDiv (const Cell &T, const BasisType &basis1, const RolyComplBasisCell &basis2, const size_t k, MonomialCellIntegralsType mono_int_map)
 Gram Matrix of the divergence of a RolyCompl basis and the k-th derivative of any scalar basis.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrixDivDiv (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of a tensorized basis and the divergence of another tensorized basis.
 
Eigen::MatrixXd GramMatrixDivDiv (const Cell &T, const RolyComplBasisCell &basis1, const RolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Compute the Gram Matrix of the divergence of a RolyCompl basis and the divergence of another RolyCompl basis.
 
template<typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrixDivDiv (const Cell &T, const RolyComplBasisCell &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of a RolyCompl basis and the divergence of a tensorized basis.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd GramMatrixDivDiv (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const RolyComplBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of a tensorized basis and the divergence of a RolyCompl basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrixDivDiv (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of any basis and the divergence of any other basis.
 
template<typename BasisType1 , typename BasisType2 >
boost::disable_if< boost::is_same< BasisType2, MonomialCellIntegralsType >, Eigen::MatrixXd >::type GramMatrix (const Cell &T, const DivergenceBasis< BasisType1 > &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a Divergence basis and any other basis.
 
template<typename BasisType1 , typename Basis2 >
Eigen::MatrixXd GramMatrix (const Cell &T, const BasisType1 &basis1, const DivergenceBasis< Basis2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of any basis and a Divergence basis.
 
template<typename BasisType1 , size_t N>
Eigen::MatrixXd GramMatrixDiv (const Cell &T, const TensorizedVectorFamily< BasisType1, N > &basis1, const MonomialScalarBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a Divergence<Tensorized> basis and a monomial scalar basis.
 
Eigen::MatrixXd GramMatrixDiv (const Cell &T, const RolyComplBasisCell &basis1, const MonomialScalarBasisCell &basis2, MonomialCellIntegralsType mono_int_map={})
 Computes the Gram Matrix of a Divergence<RolyCompl> basis and a monomial scalar basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrixDiv (const Cell &T, const BasisType1 &basis1, const BasisType2 &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of any basis and any other basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrixDiv (const Cell &T, const BasisType1 &basis1, const DivergenceBasis< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of any two bases when one DivergenceBasis is at a lower level than the other.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrix (const Cell &T, const MatrixFamily< BasisType1, N > &basis1, const MatrixFamily< BasisType2, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Gram Matrix of any pair of MatrixFamily bases.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Cell &T, const DivergenceBasis< MatrixFamily< BasisType1, dimspace > > &basis1, const TensorizedVectorFamily< BasisType2, dimspace > &basis2, MonomialCellIntegralsType mono_int_map={})
 Gram Matrix of the divergence of a MatrixFamily and a tensorized family (only valid if, in MatrixFamily and TensorizedVectorFamily, we have N=dimspace).
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Cell &T, const TensorizedVectorFamily< BasisType1, dimspace > &basis1, const DivergenceBasis< MatrixFamily< BasisType2, dimspace > > &basis2, MonomialCellIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a vector valued basis and the divergence of a MatrixFamily.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Cell &T, const GradientBasis< TensorizedVectorFamily< BasisType1, dimspace > > &basis1, const MatrixFamily< BasisType2, dimspace > &basis2, MonomialCellIntegralsType mono_int_map={})
 Gram Matrix of the gradient basis of a tensorized family and a matrix family (only valid if N=dimspace in Tensorized and MatrixFamily).
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Cell &T, const MatrixFamily< BasisType1, dimspace > &basis1, const GradientBasis< TensorizedVectorFamily< BasisType2, dimspace > > &basis2, MonomialCellIntegralsType mono_int_map={})
 Gram Matrix of a Matrix family and the gradient of a tensorized family.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrix (const Cell &T, const GradientBasis< TensorizedVectorFamily< BasisType1, N > > &basis1, const GradientBasis< TensorizedVectorFamily< BasisType2, N > > &basis2, MonomialCellIntegralsType mono_int_map={})
 Gram Matrix of two gradient bases of tensorized families.
 
MonomialEdgeIntegralsType IntegrateEdgeMonomials (const Edge &E, const int maxdeg)
 Compute all integrals of edge monomials up to a total degree.
 
MonomialEdgeIntegralsType CheckIntegralsDegree (const Edge &E, const size_t degree, const MonomialEdgeIntegralsType &mono_int_map={})
 Checks if the degree of an existing list of monomial integrals is sufficient, other re-compute and return a proper list.
 
Eigen::MatrixXd GramMatrix (const Edge &E, const MonomialScalarBasisEdge &basis1, const MonomialScalarBasisEdge &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Edge &E, const BasisType1 &basis1, const BasisType2 &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of bases.
 
template<typename BasisType >
Eigen::MatrixXd GramMatrix (const Edge &E, const BasisType &basis, MonomialEdgeIntegralsType mono_int_map={})
 This overload to simplify the call to GramMatrix in case the two bases are the same.
 
Eigen::MatrixXd GMDer (const Edge &E, const MonomialScalarBasisEdge &basis1, const MonomialScalarBasisEdge &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Computes the Gram Matrix of the derivative of a monomial basis with another monomial basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GMDer (const Edge &E, const BasisType1 &basis1, const BasisType2 &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Generic template for GMDer with derived bases.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Edge &E, const GradientBasis< BasisType1 > &basis1, const BasisType2 &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Computes the Gram Matrix of a gradient basis (considering the tangential gradient as a scalar) and a scalar basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Edge &E, const BasisType1 &basis1, const GradientBasis< BasisType2 > &basis2, MonomialEdgeIntegralsType mono_int_map={})
 Computes the Gram Matrix of a scalar basis and a gradient basis (considering the tangential gradient as a scalar)
 
std::vector< MonomialFaceIntegralsTypeIntegrateFaceMonomials_onEdges (const Face &F, const size_t maxdeg)
 Compute all integrals, on the edges of a face, of the face monomials up to a total degree.
 
MonomialFaceIntegralsType IntegrateFaceMonomials (const Face &F, const int maxdeg)
 Compute all integrals on a face of face monomials up to a total degree.
 
MonomialFaceIntegralsType CheckIntegralsDegree (const Face &F, const size_t degree, const MonomialFaceIntegralsType &mono_int_map={})
 Checks if the degree of an existing list of monomial integrals is sufficient, other re-compute and return a proper list.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Face &F, const BasisType1 &basis1, const BasisType2 &basis2, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of bases.
 
Eigen::MatrixXd GramMatrix (const Face &F, const MonomialScalarBasisFace &basis1, const MonomialScalarBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases.
 
template<typename BasisType >
Eigen::MatrixXd GramMatrix (const Face &F, const BasisType &basis, MonomialFaceIntegralsType mono_int_map={})
 This overload to simplify the call to GramMatrix in case the two bases are the same.
 
template<typename BasisType1 , typename BasisType2 , size_t N>
Eigen::MatrixXd GramMatrix (const Face &F, const TensorizedVectorFamily< BasisType1, N > &basis1, const TensorizedVectorFamily< BasisType2, N > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of any pair of tensorized scalar bases.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Face &F, const TangentFamily< BasisType1 > &basis1, const TangentFamily< BasisType2 > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of tangent bases.
 
Eigen::MatrixXd GramMatrix (const Face &F, const RolyComplBasisFace &basis1, const RolyComplBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of RolyCompl bases.
 
Eigen::MatrixXd GramMatrix (const Face &F, const GolyComplBasisFace &basis1, const GolyComplBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of GolyCompl bases.
 
template<typename BasisType >
Eigen::MatrixXd GramMatrix (const Face &F, const RolyComplBasisFace &basis1, const TangentFamily< BasisType > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a RolyCompl basis and a tangent basis.
 
template<typename BasisType >
Eigen::MatrixXd GramMatrix (const Face &F, const TangentFamily< BasisType > &basis1, const RolyComplBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a RolyCompl basis and a tangent basis.
 
Eigen::MatrixXd GMRolyComplScalar (const Face &F, const RolyComplBasisFace &rolycompl_basis, const MonomialScalarBasisFace &mono_basis, const size_t m, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of the scalar part of a RolyCompl Basis and a monomial basis with an extra power on the mth variable.
 
template<typename BasisType >
Eigen::MatrixXd GMRolyComplScalar (const Face &F, const RolyComplBasisFace &basis1, const BasisType &basis2, const size_t m, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of the scalar part of a RolyCompl Basis and any basis with an extra power on the mth variable.
 
Eigen::MatrixXd GMScalarDerivative (const Face &F, const MonomialScalarBasisFace &basis1, const MonomialScalarBasisFace &basis2, const size_t m, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates on the face, no change of variable)
 
Eigen::MatrixXd GMScalarDerivative (const Face &F, const MonomialScalarBasisFace &basis1, const MonomialScalarBasisFace &basis2, const size_t m, const size_t l, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a pair of local scalar monomial bases, taking a partial derivative of each (w.r.t. homogeneous coordinates on the face, no change of variable)
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GMScalarDerivative (const Face &F, const BasisType1 &basis1, const BasisType2 &basis2, const size_t m, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of scalar bases, taking a partial derivative of the first (w.r.t. homogeneous coordinates on the face, no change of variable)
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GMScalarDerivative (const Face &F, const BasisType1 &basis1, const BasisType2 &basis2, const size_t m, const size_t l, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of any pair of scalar bases, taking a partial derivative of each (w.r.t. homogeneous coordinates on the face, no change of variable)
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Face &F, const CurlBasis< BasisType1 > &basis1, const CurlBasis< BasisType2 > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a pair of Curl bases.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Face &F, const CurlBasis< BasisType1 > &basis1, const TangentFamily< BasisType2 > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a Curl basis and a Tangent basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrix (const Face &F, const TangentFamily< BasisType1 > &basis1, const CurlBasis< BasisType2 > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a Tangent basis and a Curl basis.
 
template<typename BasisType1 , typename BasisType2 >
boost::disable_if< boost::is_same< BasisType2, MonomialFaceIntegralsType >, Eigen::MatrixXd >::type GramMatrix (const Face &F, const DivergenceBasis< BasisType1 > &basis1, const BasisType2 &basis2, MonomialFaceIntegralsType mono_int_map={})
 Generic template to compute the Gram Matrix of a Divergence basis and any other basis.
 
template<typename BasisType1 , typename Basis2 >
Eigen::MatrixXd GramMatrix (const Face &F, const BasisType1 &basis1, const DivergenceBasis< Basis2 > &basis2, MonomialFaceIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of any basis and a Divergence basis.
 
template<typename BasisType1 >
Eigen::MatrixXd GramMatrixDiv (const Face &F, const TangentFamily< BasisType1 > &basis1, const MonomialScalarBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of a Divergence<TangentFamily> basis and a monomial scalar basis.
 
Eigen::MatrixXd GramMatrixDiv (const Face &F, const RolyComplBasisFace &basis1, const MonomialScalarBasisFace &basis2, MonomialFaceIntegralsType mono_int_map={})
 Computes the Gram Matrix of a Divergence<RolyCompl> basis and a monomial scalar basis.
 
template<typename BasisType1 , typename BasisType2 >
Eigen::MatrixXd GramMatrixDiv (const Face &F, const BasisType1 &basis1, const BasisType2 &basis2, MonomialFaceIntegralsType mono_int_map={})
 Template to compute the Gram Matrix of the divergence of any basis and any other basis.
 
MatrixSlice slice (Scalar3Tensor &tensor, size_t fixed_dim, size_t index)
 Function to slice a 3-tensor with respect to one index (returns a 2-tensor)
 
VectorSlice slice (Scalar3Tensor &tensor, size_t fixed_dim1, size_t index1, size_t fixed_dim2, size_t index2)
 Function to slice a 3-tensor with respect to two indices (returns a 1-tensor)
 
template<size_t N>
Scalar3Tensor tripleInt (const Cell &T, const MonomialScalarBasisCell &basis1, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Computes the triple integral product of a scalar times the dot product of two vectors - basis1(basis2 . basis2).
 
template<size_t N>
Scalar3Tensor tripleInt (const Cell &T, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &tens_family1, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &tens_family2, MonomialCellIntegralsType mono_int_map={})
 Computes the triple integral product of a vector basis dot the cross product of the second vector basis - tens_family1 . (tens_family2 x tens_family2).
 
template<size_t N>
Scalar3Tensor tripleInt (const Cell &T, const GradientBasis< MonomialScalarBasisCell > &grad_basis, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &tens_family, MonomialCellIntegralsType mono_int_map={})
 Computes the triple integral product of a vector basis dot the cross product of the second vector basis - grad_basis . (tens_family x tens_family).
 
template<size_t N>
Scalar3Tensor tripleInt (const Cell &T, const GolyComplBasisCell &golycompl_basis, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &tens_family, MonomialCellIntegralsType mono_int_map={})
 Computes the triple integral product of a vector basis dot the cross product of the second vector basis - golycompl_basis . (tens_family x tens_family).
 
template<typename ScalarBasisType1 , typename ScalarBasisType2 , size_t N>
Scalar3Tensor tripleInt (const Cell &T, const GradientBasis< ShiftedBasis< ScalarBasisType1 > > &grad_shift_basis, const TensorizedVectorFamily< Family< ScalarBasisType2 >, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<typename ScalarBasisType , typename BasisType >
Scalar3Tensor tripleInt (const Cell &T, const GradientBasis< ShiftedBasis< ScalarBasisType > > &grad_shift_basis, const BasisType &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<typename BasisType , typename ScalarBasisType , size_t N>
Scalar3Tensor tripleInt (const Cell &T, const BasisType &basis1, const TensorizedVectorFamily< Family< ScalarBasisType >, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<typename BasisType , typename ScalarBasisType , size_t N>
Scalar3Tensor tripleInt (const Cell &T, const Family< BasisType > &basis1, const Family< TensorizedVectorFamily< ScalarBasisType, N > > &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<typename BasisType , size_t N>
Scalar3Tensor tripleInt (const Cell &T, const Family< BasisType > &basis1, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<typename BasisType1 , typename BasisType2 >
Scalar3Tensor tripleInt (const Cell &T, const BasisType1 &basis1, const Family< BasisType2 > &basis2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
template<size_t N, typename ScalarBasisType >
Scalar3Tensor tripleInt (const Cell &T, const TensorizedVectorFamily< Family< ScalarBasisType >, N > &tens_family1, const TensorizedVectorFamily< MonomialScalarBasisCell, N > &tens_family2, MonomialCellIntegralsType mono_int_map={})
 Handles a derived basis (see other functions for detailed output)
 
QuadratureRule generate_quadrature_rule (const Cell &T, const int doe, const bool force_split=false)
 Generate quadrature rule on mesh element.
 
QuadratureRule generate_quadrature_rule (const Face &F, const int doe)
 Generate quadrature rule on mesh face.
 
QuadratureRule generate_quadrature_rule (const Edge &E, const int doe)
 Generate quadrature rule on mesh edge.
 
double parallelipiped_volume_3d (double x[4], double y[4], double z[4])
 
double tetra_unit_volume ()
 
double tetra_volume (double x[4], double y[4], double z[4])
 
double tetra_sum (double func(double x, double y, double z), double x[4], double y[4], double z[4], size_t nq, double cq0[], double cq1[], double cq2[], double wq[])
 
double tetra_unit_sum (double func(double x, double y, double z), size_t nq, double xq[], double yq[], double zq[], double wq[])
 
size_t tetra_unit_size (size_t rule)
 
void tetra_unit_set (size_t rule, size_t nq, double cq0[], double cq1[], double cq2[], double wq[])
 
double tetra_sum (double func(double x, double y, double z), double x[4], double y[4], double z[4], int nq, double cq0[], double cq1[], double cq2[], double wq[])
 

Variables

static const double PI = boost::math::constants::pi<double>()
 
static Magnetostatics::SolutionPotentialType constant_u
 
static Magnetostatics::SolutionCurlType constant_sigma
 
static Magnetostatics::ForcingTermType constant_f
 
static Magnetostatics::PermeabilityType constant_mu = Magnetostatics::PermeabilityType(1.)
 
static Magnetostatics::SolutionPotentialType linear_u
 
static Magnetostatics::SolutionCurlType linear_sigma
 
static Magnetostatics::ForcingTermType linear_f
 
static Magnetostatics::PermeabilityType linear_mu = Magnetostatics::PermeabilityType(1.)
 
static Magnetostatics::SolutionPotentialType trigonometric_u
 
static Magnetostatics::SolutionCurlType trigonometric_sigma
 
static Magnetostatics::ForcingTermType trigonometric_f
 
static Magnetostatics::PermeabilityType trigonometric_mu = Magnetostatics::PermeabilityType(1.)
 
static Magnetostatics::SolutionPotentialType variable_permeability_u
 
static Magnetostatics::SolutionCurlType variable_permeability_sigma
 
static Magnetostatics::ForcingTermType variable_permeability_f
 
static Magnetostatics::PermeabilityType variable_permeability_mu
 
static const double PI = boost::math::constants::pi<double>()
 
static Magnetostatics::SolutionPotentialType constant_u
 
static Magnetostatics::SolutionCurlType constant_sigma
 
static Magnetostatics::ForcingTermType constant_f
 
static Magnetostatics::PermeabilityType constant_mu = Magnetostatics::PermeabilityType(1.)
 
static Magnetostatics::SolutionPotentialType linear_u
 
static Magnetostatics::SolutionCurlType linear_sigma
 
static Magnetostatics::ForcingTermType linear_f
 
static Magnetostatics::PermeabilityType linear_mu = Magnetostatics::PermeabilityType(1.)
 
static Magnetostatics::SolutionPotentialType trigonometric_u
 
static Magnetostatics::SolutionCurlType trigonometric_sigma
 
static Magnetostatics::ForcingTermType trigonometric_f
 
static Magnetostatics::PermeabilityType trigonometric_mu = Magnetostatics::PermeabilityType(1.)
 
static Magnetostatics::SolutionPotentialType variable_permeability_u
 
static Magnetostatics::SolutionCurlType variable_permeability_sigma
 
static Magnetostatics::ForcingTermType variable_permeability_f
 
static Magnetostatics::PermeabilityType variable_permeability_mu
 
static const double PI = boost::math::constants::pi<double>()
 
double pressure_scaling = 1.
 
double reynolds = 1.
 
double navier_scaling = 1.
 
static NavierStokes::VelocityType trigonometric_u
 
static NavierStokes::VorticityType trigonometric_curl_u
 
static NavierStokes::PressureType trigonometric_p
 
static NavierStokes::PressureGradientType trigonometric_grad_p
 
static NavierStokes::ForcingTermType trigonometric_curl_u_cross_u
 
static NavierStokes::ForcingTermType trigonometric_f
 
static NavierStokes::VelocityType constant_u
 
static NavierStokes::VorticityType constant_curl_u
 
static NavierStokes::ForcingTermType constant_curl_u_cross_u
 
static NavierStokes::PressureType constant_p
 
static NavierStokes::PressureGradientType constant_grad_p
 
static NavierStokes::ForcingTermType constant_f
 
static NavierStokes::VelocityType linear_u
 
static NavierStokes::VorticityType linear_curl_u
 
static NavierStokes::ForcingTermType linear_curl_u_cross_u
 
static NavierStokes::PressureType linear_p
 
static NavierStokes::PressureGradientType linear_grad_p
 
static NavierStokes::ForcingTermType linear_f
 
constexpr double scal_u = 1.
 
static NavierStokes::VelocityType vertical_u
 
static NavierStokes::VorticityType vertical_curl_u
 
static NavierStokes::PressureType vertical_p = trigonometric_p
 
static NavierStokes::PressureGradientType vertical_grad_p = trigonometric_grad_p
 
static NavierStokes::ForcingTermType vertical_curl_u_cross_u
 
static NavierStokes::ForcingTermType vertical_f
 
static NavierStokes::VelocityType pressflux_u
 
static NavierStokes::VorticityType pressflux_curl_u
 
static NavierStokes::PressureType pressflux_p
 
static NavierStokes::PressureGradientType pressflux_grad_p
 
static NavierStokes::ForcingTermType pressflux_curl_u_cross_u
 
static NavierStokes::ForcingTermType pressflux_f
 
static const double PI = boost::math::constants::pi<double>()
 
static Stokes::VelocityType trigonometric_u
 
static Stokes::VorticityType trigonometric_curl_u
 
static Stokes::PressureType trigonometric_p
 
static Stokes::PressureGradientType trigonometric_grad_p
 
static Stokes::ForcingTermType trigonometric_f
 
static Stokes::ViscosityType trigonometric_nu = Stokes::ViscosityType(1.)
 
static Stokes::VelocityType linear_u
 
static Stokes::VorticityType linear_curl_u
 
static Stokes::PressureType linear_p
 
static Stokes::PressureGradientType linear_grad_p
 
static Stokes::ForcingTermType linear_f
 
static Stokes::ViscosityType linear_nu = Stokes::ViscosityType(1.)
 
static Stokes::VelocityType field_u
 
static Stokes::VorticityType field_curl_u
 
static Stokes::PressureType field_p
 
static Stokes::PressureGradientType field_grad_p
 
static Stokes::ForcingTermType field_f
 
static Stokes::ViscosityType field_nu = Stokes::ViscosityType(1.)
 
static const double PI = boost::math::constants::pi<double>()
 
static Stokes::VelocityType trigonometric_u
 
static Stokes::VorticityType trigonometric_curl_u
 
static Stokes::PressureType trigonometric_p
 
static Stokes::PressureGradientType trigonometric_grad_p
 
static Stokes::ForcingTermType trigonometric_f
 
static Stokes::ViscosityType trigonometric_nu = Stokes::ViscosityType(1.)
 
static Stokes::VelocityType linear_u
 
static Stokes::VorticityType linear_curl_u
 
static Stokes::PressureType linear_p
 
static Stokes::PressureGradientType linear_grad_p
 
static Stokes::ForcingTermType linear_f
 
static Stokes::ViscosityType linear_nu = Stokes::ViscosityType(1.)
 
static Stokes::VelocityType field_u
 
static Stokes::VorticityType field_curl_u
 
static Stokes::PressureType field_p
 
static Stokes::PressureGradientType field_grad_p
 
static Stokes::ForcingTermType field_f
 
static Stokes::ViscosityType field_nu = Stokes::ViscosityType(1.)
 
static Stokes::VelocityType vertical_u
 
static Stokes::VorticityType vertical_curl_u
 
static Stokes::PressureType vertical_p = trigonometric_p
 
static Stokes::PressureGradientType vertical_grad_p = trigonometric_grad_p
 
static Stokes::ForcingTermType vertical_curl_u_cross_u
 
static Stokes::ForcingTermType vertical_f
 
static const double PI = boost::math::constants::pi<double>()
 
static Einstein::TZeroFormType minkowski_lapse
 
static Einstein::TOneFormType minkowski_theta0
 
static Einstein::TOneFormType minkowski_theta1
 
static Einstein::TOneFormType minkowski_theta2
 
static Einstein::TOneFormType minkowski_theta3
 
static Einstein::TCollection1Forms minkowski_theta = {minkowski_theta0, minkowski_theta1, minkowski_theta2, minkowski_theta3}
 
static Einstein::TOneFormType minkowski_E0
 
static Einstein::TOneFormType minkowski_E1
 
static Einstein::TOneFormType minkowski_E2
 
static Einstein::TOneFormType minkowski_E3
 
static Einstein::TCollection1Forms minkowski_E = {minkowski_E0, minkowski_E1, minkowski_E2, minkowski_E3}
 
static Einstein::TTwoFormType minkowski_dE0
 
static Einstein::TTwoFormType minkowski_dE1
 
static Einstein::TTwoFormType minkowski_dE2
 
static Einstein::TTwoFormType minkowski_dE3
 
static Einstein::TCollection1Forms minkowski_dE = {minkowski_dE0, minkowski_dE1, minkowski_dE2, minkowski_dE3}
 
static Einstein::TTwoFormType minkowski_B0
 
static Einstein::TTwoFormType minkowski_B1
 
static Einstein::TTwoFormType minkowski_B2
 
static Einstein::TTwoFormType minkowski_B3
 
static Einstein::TCollection2Forms minkowski_B = {minkowski_B0, minkowski_B1, minkowski_B2, minkowski_B3}
 
static Einstein::TTwoFormType minkowski_dtB0
 
static Einstein::TTwoFormType minkowski_dtB1
 
static Einstein::TTwoFormType minkowski_dtB2
 
static Einstein::TTwoFormType minkowski_dtB3
 
static Einstein::TCollection2Forms minkowski_dtB = {minkowski_dtB0, minkowski_dtB1, minkowski_dtB2, minkowski_dtB3}
 
static Einstein::TTwoFormType minkowski_D0
 
static Einstein::TTwoFormType minkowski_D1
 
static Einstein::TTwoFormType minkowski_D2
 
static Einstein::TTwoFormType minkowski_D3
 
static Einstein::TCollection2Forms minkowski_D = {minkowski_D0, minkowski_D1, minkowski_D2, minkowski_D3}
 
static Einstein::TTwoFormType minkowski_dtD0
 
static Einstein::TTwoFormType minkowski_dtD1
 
static Einstein::TTwoFormType minkowski_dtD2
 
static Einstein::TTwoFormType minkowski_dtD3
 
static Einstein::TCollection2Forms minkowski_dtD = {minkowski_dtD0, minkowski_dtD1, minkowski_dtD2, minkowski_dtD3}
 
static Einstein::TOneFormType minkowski_H0
 
static Einstein::TOneFormType minkowski_H1
 
static Einstein::TOneFormType minkowski_H2
 
static Einstein::TOneFormType minkowski_H3
 
static Einstein::TCollection1Forms minkowski_H = {minkowski_H0, minkowski_H1, minkowski_H2, minkowski_H3}
 
static Einstein::TTwoFormType minkowski_dH0
 
static Einstein::TTwoFormType minkowski_dH1
 
static Einstein::TTwoFormType minkowski_dH2
 
static Einstein::TTwoFormType minkowski_dH3
 
static Einstein::TCollection1Forms minkowski_dH = {minkowski_dH0, minkowski_dH1, minkowski_dH2, minkowski_dH3}
 
static Einstein::TZeroFormType kasner_lapse
 
static Einstein::TOneFormType kasner_theta0
 
static Einstein::TOneFormType kasner_theta1
 
static Einstein::TOneFormType kasner_theta2
 
static Einstein::TOneFormType kasner_theta3
 
static Einstein::TCollection1Forms kasner_theta = {kasner_theta0, kasner_theta1, kasner_theta2, kasner_theta3}
 
static Einstein::TOneFormType kasner_E0
 
static Einstein::TOneFormType kasner_E1
 
static Einstein::TOneFormType kasner_E2
 
static Einstein::TOneFormType kasner_E3
 
static Einstein::TCollection1Forms kasner_E = {kasner_E0, kasner_E1, kasner_E2, kasner_E3}
 
static Einstein::TOneFormType deth_kasner_E0
 
static Einstein::TOneFormType deth_kasner_E1
 
static Einstein::TOneFormType deth_kasner_E2
 
static Einstein::TOneFormType deth_kasner_E3
 
static Einstein::TCollection1Forms deth_kasner_E = {deth_kasner_E0, deth_kasner_E1, deth_kasner_E2, deth_kasner_E3}
 
static Einstein::TTwoFormType kasner_D0
 
static Einstein::TTwoFormType kasner_D1
 
static Einstein::TTwoFormType kasner_D2
 
static Einstein::TTwoFormType kasner_D3
 
static Einstein::TCollection2Forms kasner_D = {kasner_D0, kasner_D1, kasner_D2, kasner_D3}
 
static Einstein::TTwoFormType deth_kasner_D0
 
static Einstein::TTwoFormType deth_kasner_D1
 
static Einstein::TTwoFormType deth_kasner_D2
 
static Einstein::TTwoFormType deth_kasner_D3
 
static Einstein::TCollection2Forms deth_kasner_D = {deth_kasner_D0, deth_kasner_D1, deth_kasner_D2, deth_kasner_D3}
 
static Einstein::TTwoFormType kasner_dtD0
 
static Einstein::TTwoFormType kasner_dtD1
 
static Einstein::TTwoFormType kasner_dtD2
 
static Einstein::TTwoFormType kasner_dtD3
 
static Einstein::TCollection2Forms kasner_dtD = {kasner_dtD0, kasner_dtD1, kasner_dtD2, kasner_dtD3}
 
static Einstein::TTwoFormType deth_kasner_dtD0
 
static Einstein::TTwoFormType deth_kasner_dtD1
 
static Einstein::TTwoFormType deth_kasner_dtD2
 
static Einstein::TTwoFormType deth_kasner_dtD3
 
static Einstein::TCollection2Forms deth_kasner_dtD = {deth_kasner_dtD0, deth_kasner_dtD1, deth_kasner_dtD2, deth_kasner_dtD3}
 
static Einstein::TTwoFormType kasner_B0
 
static Einstein::TTwoFormType kasner_B1
 
static Einstein::TTwoFormType kasner_B2
 
static Einstein::TTwoFormType kasner_B3
 
static Einstein::TCollection2Forms kasner_B = {kasner_B0, kasner_B1, kasner_B2, kasner_B3}
 
static Einstein::TOneFormType kasner_H0
 
static Einstein::TOneFormType kasner_H1
 
static Einstein::TOneFormType kasner_H2
 
static Einstein::TOneFormType kasner_H3
 
static Einstein::TCollection1Forms kasner_H = {kasner_H0, kasner_H1, kasner_H2, kasner_H3}
 
static Einstein::TOneFormType deth_kasner_H0
 
static Einstein::TOneFormType deth_kasner_H1
 
static Einstein::TOneFormType deth_kasner_H2
 
static Einstein::TOneFormType deth_kasner_H3
 
static Einstein::TCollection1Forms deth_kasner_H = {deth_kasner_H0, deth_kasner_H1, deth_kasner_H2, deth_kasner_H3}
 
static Einstein::TTwoFormType kasner_dH0
 
static Einstein::TTwoFormType kasner_dH1
 
static Einstein::TTwoFormType kasner_dH2
 
static Einstein::TTwoFormType kasner_dH3
 
static Einstein::TCollection2Forms kasner_dH = {kasner_dH0, kasner_dH1, kasner_dH2, kasner_dH3}
 
static Einstein::TTwoFormType deth_kasner_dH0
 
static Einstein::TTwoFormType deth_kasner_dH1
 
static Einstein::TTwoFormType deth_kasner_dH2
 
static Einstein::TTwoFormType deth_kasner_dH3
 
static Einstein::TCollection2Forms deth_kasner_dH = {deth_kasner_dH0, deth_kasner_dH1, deth_kasner_dH2, deth_kasner_dH3}
 
static Einstein::TZeroFormType gowdy_lapse
 
static Einstein::TOneFormType gowdy_theta0
 
static Einstein::TOneFormType gowdy_theta1
 
static Einstein::TOneFormType gowdy_theta2
 
static Einstein::TOneFormType gowdy_theta3
 
static Einstein::TCollection1Forms gowdy_theta = {gowdy_theta0, gowdy_theta1, gowdy_theta2, gowdy_theta3}
 
static Einstein::TOneFormType gowdy_E0
 
static Einstein::TOneFormType gowdy_E1
 
static Einstein::TOneFormType gowdy_E2
 
static Einstein::TOneFormType gowdy_E3
 
static Einstein::TCollection1Forms gowdy_E = {gowdy_E0, gowdy_E1, gowdy_E2, gowdy_E3}
 
static Einstein::TTwoFormType gowdy_dE0
 
static Einstein::TTwoFormType gowdy_dE1
 
static Einstein::TTwoFormType gowdy_dE2
 
static Einstein::TTwoFormType gowdy_dE3
 
static Einstein::TCollection1Forms gowdy_dE = {gowdy_dE0, gowdy_dE1, gowdy_dE2, gowdy_dE3}
 
static Einstein::TOneFormType gowdy_H0
 
static Einstein::TOneFormType gowdy_H1
 
static Einstein::TOneFormType gowdy_H2
 
static Einstein::TOneFormType gowdy_H3
 
static Einstein::TCollection1Forms gowdy_H = {gowdy_H0, gowdy_H1, gowdy_H2, gowdy_H3}
 
static Einstein::TTwoFormType gowdy_dH0
 
static Einstein::TTwoFormType gowdy_dH1
 
static Einstein::TTwoFormType gowdy_dH2
 
static Einstein::TTwoFormType gowdy_dH3
 
static Einstein::TCollection1Forms gowdy_dH = {gowdy_dH0, gowdy_dH1, gowdy_dH2, gowdy_dH3}
 
static Einstein::TTwoFormType gowdy_D0
 
static Einstein::TTwoFormType gowdy_D1
 
static Einstein::TTwoFormType gowdy_D2
 
static Einstein::TTwoFormType gowdy_D3
 
static Einstein::TCollection2Forms gowdy_D = {gowdy_D0, gowdy_D1, gowdy_D2, gowdy_D3}
 
static Einstein::TTwoFormType gowdy_dtD0
 
static Einstein::TTwoFormType gowdy_dtD1
 
static Einstein::TTwoFormType gowdy_dtD2
 
static Einstein::TTwoFormType gowdy_dtD3
 
static Einstein::TCollection2Forms gowdy_dtD = {gowdy_dtD0, gowdy_dtD1, gowdy_dtD2, gowdy_dtD3}
 
static Einstein::TTwoFormType gowdy_B0
 
static Einstein::TTwoFormType gowdy_B1
 
static Einstein::TTwoFormType gowdy_B2
 
static Einstein::TTwoFormType gowdy_B3
 
static Einstein::TCollection2Forms gowdy_B = {gowdy_B0, gowdy_B1, gowdy_B2, gowdy_B3}
 
static Einstein::TTwoFormType gowdy_dtB0
 
static Einstein::TTwoFormType gowdy_dtB1
 
static Einstein::TTwoFormType gowdy_dtB2
 
static Einstein::TTwoFormType gowdy_dtB3
 
static Einstein::TCollection2Forms gowdy_dtB = {gowdy_dtB0, gowdy_dtB1, gowdy_dtB2, gowdy_dtB3}
 
static Einstein::TZeroFormType linear_lapse
 
static Einstein::TOneFormType linear_theta0
 
static Einstein::TOneFormType linear_theta1
 
static Einstein::TOneFormType linear_theta2
 
static Einstein::TOneFormType linear_theta3
 
static Einstein::TCollection1Forms linear_theta = {linear_theta0, linear_theta1, linear_theta2, linear_theta3}
 
static Einstein::TOneFormType linear_E0
 This is E0 = 1/N dN.
 
static Einstein::TOneFormType linear_E1
 
static Einstein::TOneFormType linear_E2
 
static Einstein::TOneFormType linear_E3
 
static Einstein::TCollection1Forms linear_E = {minkowski_E0, linear_E1, linear_E2, linear_E3}
 
static Einstein::TOneFormType deth_linear_E0
 This is E0 = 1/N dN.
 
static Einstein::TOneFormType deth_linear_E1
 
static Einstein::TOneFormType deth_linear_E2
 
static Einstein::TOneFormType deth_linear_E3
 
static Einstein::TCollection1Forms deth_linear_E = {deth_linear_E0, deth_linear_E1, deth_linear_E2, deth_linear_E3}
 
static Einstein::TOneFormType linear_dE0
 
static Einstein::TOneFormType linear_dE1
 
static Einstein::TOneFormType linear_dE2
 
static Einstein::TOneFormType linear_dE3
 
static Einstein::TCollection1Forms linear_dE = {linear_dE0, linear_dE1, linear_dE2, linear_dE3}
 
static Einstein::TTwoFormType linear_D0
 
static Einstein::TTwoFormType linear_D1
 
static Einstein::TTwoFormType linear_D2
 
static Einstein::TTwoFormType linear_D3
 
static Einstein::TCollection2Forms linear_D = {linear_D0, linear_D1, linear_D2, linear_D3}
 
static Einstein::TTwoFormType linear_dtD0
 Not calculated since not needed.
 
static Einstein::TTwoFormType linear_dtD1
 
static Einstein::TTwoFormType linear_dtD2
 
static Einstein::TTwoFormType linear_dtD3
 
static Einstein::TCollection2Forms linear_dtD = {linear_dtD0, linear_dtD1, linear_dtD2, linear_dtD3}
 
static Einstein::TTwoFormType linear_B0
 
static Einstein::TTwoFormType linear_B1
 
static Einstein::TTwoFormType linear_B2
 
static Einstein::TTwoFormType linear_B3
 
static Einstein::TCollection2Forms linear_B = {linear_B0, linear_B1, linear_B2, linear_B3}
 
static Einstein::TTwoFormType linear_dtB0
 
static Einstein::TTwoFormType linear_dtB1
 
static Einstein::TTwoFormType linear_dtB2
 
static Einstein::TTwoFormType linear_dtB3
 
static Einstein::TCollection2Forms linear_dtB = {linear_dtB0, linear_dtB1, linear_dtB2, linear_dtB3}
 
static Einstein::TOneFormType linear_H0
 
static Einstein::TOneFormType linear_H1
 
static Einstein::TOneFormType linear_H2
 
static Einstein::TOneFormType linear_H3
 
static Einstein::TCollection1Forms linear_H = {linear_H0, linear_H1, linear_H2, linear_H3}
 
static Einstein::TTwoFormType linear_dH0
 
static Einstein::TTwoFormType linear_dH1
 
static Einstein::TTwoFormType linear_dH2
 
static Einstein::TTwoFormType linear_dH3
 
static Einstein::TCollection2Forms linear_dH = {linear_dH0, linear_dH1, linear_dH2, linear_dH3}
 
static Einstein::TZeroFormType constant_lapse
 
static Einstein::TOneFormType constant_theta0
 
static Einstein::TOneFormType constant_theta1
 
static Einstein::TOneFormType constant_theta2
 
static Einstein::TOneFormType constant_theta3
 
static Einstein::TCollection1Forms constant_theta = {constant_theta0, constant_theta1, constant_theta2, constant_theta3}
 
static Einstein::TOneFormType constant_E0
 
static Einstein::TOneFormType constant_E1
 
static Einstein::TOneFormType constant_E2
 
static Einstein::TOneFormType constant_E3
 
static Einstein::TCollection1Forms constant_E = {constant_E0, constant_E1, constant_E2, constant_E3}
 
static Einstein::TOneFormType constant_dE0
 
static Einstein::TOneFormType constant_dE1
 
static Einstein::TOneFormType constant_dE2
 
static Einstein::TOneFormType constant_dE3
 
static Einstein::TCollection1Forms constant_dE = {constant_dE0, constant_dE1, constant_dE2, constant_dE3}
 
static Einstein::TTwoFormType constant_D0
 
static Einstein::TTwoFormType constant_D1
 
static Einstein::TTwoFormType constant_D2
 
static Einstein::TTwoFormType constant_D3
 
static Einstein::TCollection2Forms constant_D = {constant_D0, constant_D1, constant_D2, constant_D3}
 
static Einstein::TTwoFormType constant_dtD0
 
static Einstein::TTwoFormType constant_dtD1
 
static Einstein::TTwoFormType constant_dtD2
 
static Einstein::TTwoFormType constant_dtD3
 
static Einstein::TCollection2Forms constant_dtD = {constant_dtD0, constant_dtD1, constant_dtD2, constant_dtD3}
 
static Einstein::TTwoFormType constant_B0
 
static Einstein::TTwoFormType constant_B1
 
static Einstein::TTwoFormType constant_B2
 
static Einstein::TTwoFormType constant_B3
 
static Einstein::TCollection2Forms constant_B = {constant_B0, constant_B1, constant_B2, constant_B3}
 
static Einstein::TTwoFormType constant_dtB0
 
static Einstein::TTwoFormType constant_dtB1
 
static Einstein::TTwoFormType constant_dtB2
 
static Einstein::TTwoFormType constant_dtB3
 
static Einstein::TCollection2Forms constant_dtB = {constant_dtB0, constant_dtB1, constant_dtB2, constant_dtB3}
 
static Einstein::TOneFormType constant_H0
 
static Einstein::TOneFormType constant_H1
 
static Einstein::TOneFormType constant_H2
 
static Einstein::TOneFormType constant_H3
 
static Einstein::TCollection1Forms constant_H = {constant_H0, constant_H1, constant_H2, constant_H3}
 
static Einstein::TTwoFormType constant_dH0
 
static Einstein::TTwoFormType constant_dH1
 
static Einstein::TTwoFormType constant_dH2
 
static Einstein::TTwoFormType constant_dH3
 
static Einstein::TCollection2Forms constant_dH = {constant_dH0, constant_dH1, constant_dH2, constant_dH3}
 
static Einstein::TZeroFormType test_lapse
 
static Einstein::TOneFormType test_theta0
 
static Einstein::TOneFormType test_theta1
 
static Einstein::TOneFormType test_theta2
 
static Einstein::TOneFormType test_theta3
 
static Einstein::TCollection1Forms test_theta = {test_theta0, test_theta1, test_theta2, test_theta3}
 
static Einstein::TOneFormType test_E0
 
static Einstein::TOneFormType test_E1
 
static Einstein::TOneFormType test_E2
 
static Einstein::TOneFormType test_E3
 
static Einstein::TCollection1Forms test_E = {test_E0, test_E1, test_E2, test_E3}
 
static Einstein::TOneFormType test_dE0
 
static Einstein::TOneFormType test_dE1
 
static Einstein::TOneFormType test_dE2
 
static Einstein::TOneFormType test_dE3
 
static Einstein::TCollection1Forms test_dE = {test_dE0, test_dE1, test_dE2, test_dE3}
 
static Einstein::TTwoFormType test_D0
 
static Einstein::TTwoFormType test_D1
 
static Einstein::TTwoFormType test_D2
 
static Einstein::TTwoFormType test_D3
 
static Einstein::TCollection2Forms test_D = {test_D0, test_D1, test_D2, test_D3}
 
static Einstein::TTwoFormType test_dtD0
 
static Einstein::TTwoFormType test_dtD1
 
static Einstein::TTwoFormType test_dtD2
 
static Einstein::TTwoFormType test_dtD3
 
static Einstein::TCollection2Forms test_dtD = {test_dtD0, test_dtD1, test_dtD2, test_dtD3}
 
static Einstein::TTwoFormType test_B0
 
static Einstein::TTwoFormType test_B1
 
static Einstein::TTwoFormType test_B2
 
static Einstein::TTwoFormType test_B3
 
static Einstein::TCollection2Forms test_B = {test_B0, test_B1, test_B2, test_B3}
 
static Einstein::TTwoFormType test_dtB0
 
static Einstein::TTwoFormType test_dtB1
 
static Einstein::TTwoFormType test_dtB2
 
static Einstein::TTwoFormType test_dtB3
 
static Einstein::TCollection2Forms test_dtB = {test_dtB0, test_dtB1, test_dtB2, test_dtB3}
 
static Einstein::TOneFormType test_H0
 
static Einstein::TOneFormType test_H1
 
static Einstein::TOneFormType test_H2
 
static Einstein::TOneFormType test_H3
 
static Einstein::TCollection1Forms test_H = {test_H0, test_H1, test_H2, test_H3}
 
static Einstein::TTwoFormType test_dH0
 
static Einstein::TTwoFormType test_dH1
 
static Einstein::TTwoFormType test_dH2
 
static Einstein::TTwoFormType test_dH3
 
static Einstein::TCollection2Forms test_dH = {test_dH0, test_dH1, test_dH2, test_dH3}
 
static const double PI = boost::math::constants::pi<double>()
 
static Einstein::TZeroFormType minkowski_lapse
 
static Einstein::TOneFormType minkowski_theta0
 
static Einstein::TOneFormType minkowski_theta1
 
static Einstein::TOneFormType minkowski_theta2
 
static Einstein::TOneFormType minkowski_theta3
 
static Einstein::TCollection1Forms minkowski_theta = {minkowski_theta0, minkowski_theta1, minkowski_theta2, minkowski_theta3}
 
static Einstein::TOneFormType minkowski_E0
 
static Einstein::TOneFormType minkowski_E1
 
static Einstein::TOneFormType minkowski_E2
 
static Einstein::TOneFormType minkowski_E3
 
static Einstein::TCollection1Forms minkowski_E = {minkowski_E0, minkowski_E1, minkowski_E2, minkowski_E3}
 
static Einstein::TTwoFormType minkowski_dE0
 
static Einstein::TTwoFormType minkowski_dE1
 
static Einstein::TTwoFormType minkowski_dE2
 
static Einstein::TTwoFormType minkowski_dE3
 
static Einstein::TCollection1Forms minkowski_dE = {minkowski_dE0, minkowski_dE1, minkowski_dE2, minkowski_dE3}
 
static Einstein::TTwoFormType minkowski_B0
 
static Einstein::TTwoFormType minkowski_B1
 
static Einstein::TTwoFormType minkowski_B2
 
static Einstein::TTwoFormType minkowski_B3
 
static Einstein::TCollection2Forms minkowski_B = {minkowski_B0, minkowski_B1, minkowski_B2, minkowski_B3}
 
static Einstein::TTwoFormType minkowski_dtB0
 
static Einstein::TTwoFormType minkowski_dtB1
 
static Einstein::TTwoFormType minkowski_dtB2
 
static Einstein::TTwoFormType minkowski_dtB3
 
static Einstein::TCollection2Forms minkowski_dtB = {minkowski_dtB0, minkowski_dtB1, minkowski_dtB2, minkowski_dtB3}
 
static Einstein::TTwoFormType minkowski_D0
 
static Einstein::TTwoFormType minkowski_D1
 
static Einstein::TTwoFormType minkowski_D2
 
static Einstein::TTwoFormType minkowski_D3
 
static Einstein::TCollection2Forms minkowski_D = {minkowski_D0, minkowski_D1, minkowski_D2, minkowski_D3}
 
static Einstein::TTwoFormType minkowski_dtD0
 
static Einstein::TTwoFormType minkowski_dtD1
 
static Einstein::TTwoFormType minkowski_dtD2
 
static Einstein::TTwoFormType minkowski_dtD3
 
static Einstein::TCollection2Forms minkowski_dtD = {minkowski_dtD0, minkowski_dtD1, minkowski_dtD2, minkowski_dtD3}
 
static Einstein::TOneFormType minkowski_H0
 
static Einstein::TOneFormType minkowski_H1
 
static Einstein::TOneFormType minkowski_H2
 
static Einstein::TOneFormType minkowski_H3
 
static Einstein::TCollection1Forms minkowski_H = {minkowski_H0, minkowski_H1, minkowski_H2, minkowski_H3}
 
static Einstein::TTwoFormType minkowski_dH0
 
static Einstein::TTwoFormType minkowski_dH1
 
static Einstein::TTwoFormType minkowski_dH2
 
static Einstein::TTwoFormType minkowski_dH3
 
static Einstein::TCollection1Forms minkowski_dH = {minkowski_dH0, minkowski_dH1, minkowski_dH2, minkowski_dH3}
 
static Einstein::TZeroFormType kasner_lapse
 
static Einstein::TOneFormType kasner_theta0
 
static Einstein::TOneFormType kasner_theta1
 
static Einstein::TOneFormType kasner_theta2
 
static Einstein::TOneFormType kasner_theta3
 
static Einstein::TCollection1Forms kasner_theta = {kasner_theta0, kasner_theta1, kasner_theta2, kasner_theta3}
 
static Einstein::TOneFormType kasner_E0
 
static Einstein::TOneFormType kasner_E1
 
static Einstein::TOneFormType kasner_E2
 
static Einstein::TOneFormType kasner_E3
 
static Einstein::TCollection1Forms kasner_E = {kasner_E0, kasner_E1, kasner_E2, kasner_E3}
 
static Einstein::TTwoFormType kasner_D0
 
static Einstein::TTwoFormType kasner_D1
 
static Einstein::TTwoFormType kasner_D2
 
static Einstein::TTwoFormType kasner_D3
 
static Einstein::TCollection2Forms kasner_D = {kasner_D0, kasner_D1, kasner_D2, kasner_D3}
 
static Einstein::TTwoFormType kasner_dtD0
 
static Einstein::TTwoFormType kasner_dtD1
 
static Einstein::TTwoFormType kasner_dtD2
 
static Einstein::TTwoFormType kasner_dtD3
 
static Einstein::TCollection2Forms kasner_dtD = {kasner_dtD0, kasner_dtD1, kasner_dtD2, kasner_dtD3}
 
static Einstein::TTwoFormType kasner_B0
 
static Einstein::TTwoFormType kasner_B1
 
static Einstein::TTwoFormType kasner_B2
 
static Einstein::TTwoFormType kasner_B3
 
static Einstein::TCollection2Forms kasner_B = {kasner_B0, kasner_B1, kasner_B2, kasner_B3}
 
static Einstein::TOneFormType kasner_H0
 
static Einstein::TOneFormType kasner_H1
 
static Einstein::TOneFormType kasner_H2
 
static Einstein::TOneFormType kasner_H3
 
static Einstein::TCollection1Forms kasner_H = {kasner_H0, kasner_H1, kasner_H2, kasner_H3}
 
static Einstein::TTwoFormType kasner_dH0
 
static Einstein::TTwoFormType kasner_dH1
 
static Einstein::TTwoFormType kasner_dH2
 
static Einstein::TTwoFormType kasner_dH3
 
static Einstein::TCollection2Forms kasner_dH = {kasner_dH0, kasner_dH1, kasner_dH2, kasner_dH3}
 
static Einstein::TZeroFormType gowdy_lapse
 
static Einstein::TOneFormType gowdy_theta0
 
static Einstein::TOneFormType gowdy_theta1
 
static Einstein::TOneFormType gowdy_theta2
 
static Einstein::TOneFormType gowdy_theta3
 
static Einstein::TCollection1Forms gowdy_theta = {gowdy_theta0, gowdy_theta1, gowdy_theta2, gowdy_theta3}
 
static Einstein::TOneFormType gowdy_E0
 
static Einstein::TOneFormType gowdy_E1
 
static Einstein::TOneFormType gowdy_E2
 
static Einstein::TOneFormType gowdy_E3
 
static Einstein::TCollection1Forms gowdy_E = {gowdy_E0, gowdy_E1, gowdy_E2, gowdy_E3}
 
static Einstein::TTwoFormType gowdy_dE0
 
static Einstein::TTwoFormType gowdy_dE1
 
static Einstein::TTwoFormType gowdy_dE2
 
static Einstein::TTwoFormType gowdy_dE3
 
static Einstein::TCollection1Forms gowdy_dE = {gowdy_dE0, gowdy_dE1, gowdy_dE2, gowdy_dE3}
 
static Einstein::TOneFormType gowdy_H0
 
static Einstein::TOneFormType gowdy_H1
 
static Einstein::TOneFormType gowdy_H2
 
static Einstein::TOneFormType gowdy_H3
 
static Einstein::TCollection1Forms gowdy_H = {gowdy_H0, gowdy_H1, gowdy_H2, gowdy_H3}
 
static Einstein::TTwoFormType gowdy_dH0
 
static Einstein::TTwoFormType gowdy_dH1
 
static Einstein::TTwoFormType gowdy_dH2
 
static Einstein::TTwoFormType gowdy_dH3
 
static Einstein::TCollection1Forms gowdy_dH = {gowdy_dH0, gowdy_dH1, gowdy_dH2, gowdy_dH3}
 
static Einstein::TTwoFormType gowdy_D0
 
static Einstein::TTwoFormType gowdy_D1
 
static Einstein::TTwoFormType gowdy_D2
 
static Einstein::TTwoFormType gowdy_D3
 
static Einstein::TCollection2Forms gowdy_D = {gowdy_D0, gowdy_D1, gowdy_D2, gowdy_D3}
 
static Einstein::TTwoFormType gowdy_dtD0
 
static Einstein::TTwoFormType gowdy_dtD1
 
static Einstein::TTwoFormType gowdy_dtD2
 
static Einstein::TTwoFormType gowdy_dtD3
 
static Einstein::TCollection2Forms gowdy_dtD = {gowdy_dtD0, gowdy_dtD1, gowdy_dtD2, gowdy_dtD3}
 
static Einstein::TTwoFormType gowdy_B0
 
static Einstein::TTwoFormType gowdy_B1
 
static Einstein::TTwoFormType gowdy_B2
 
static Einstein::TTwoFormType gowdy_B3
 
static Einstein::TCollection2Forms gowdy_B = {gowdy_B0, gowdy_B1, gowdy_B2, gowdy_B3}
 
static Einstein::TTwoFormType gowdy_dtB0
 
static Einstein::TTwoFormType gowdy_dtB1
 
static Einstein::TTwoFormType gowdy_dtB2
 
static Einstein::TTwoFormType gowdy_dtB3
 
static Einstein::TCollection2Forms gowdy_dtB = {gowdy_dtB0, gowdy_dtB1, gowdy_dtB2, gowdy_dtB3}
 
static Einstein::TZeroFormType linear_lapse
 
static Einstein::TOneFormType linear_theta0
 
static Einstein::TOneFormType linear_theta1
 
static Einstein::TOneFormType linear_theta2
 
static Einstein::TOneFormType linear_theta3
 
static Einstein::TCollection1Forms linear_theta = {linear_theta0, linear_theta1, linear_theta2, linear_theta3}
 
static Einstein::TOneFormType linear_E0
 This is E0 = 1/N dN.
 
static Einstein::TOneFormType linear_E1
 
static Einstein::TOneFormType linear_E2
 
static Einstein::TOneFormType linear_E3
 
static Einstein::TCollection1Forms linear_E = {minkowski_E0, linear_E1, linear_E2, linear_E3}
 
static Einstein::TOneFormType deth_linear_E0
 This is E0 = 1/N dN.
 
static Einstein::TOneFormType deth_linear_E1
 
static Einstein::TOneFormType deth_linear_E2
 
static Einstein::TOneFormType deth_linear_E3
 
static Einstein::TCollection1Forms deth_linear_E = {deth_linear_E0, deth_linear_E1, deth_linear_E2, deth_linear_E3}
 
static Einstein::TOneFormType linear_dE0
 
static Einstein::TOneFormType linear_dE1
 
static Einstein::TOneFormType linear_dE2
 
static Einstein::TOneFormType linear_dE3
 
static Einstein::TCollection1Forms linear_dE = {linear_dE0, linear_dE1, linear_dE2, linear_dE3}
 
static Einstein::TTwoFormType linear_D0
 
static Einstein::TTwoFormType linear_D1
 
static Einstein::TTwoFormType linear_D2
 
static Einstein::TTwoFormType linear_D3
 
static Einstein::TCollection2Forms linear_D = {linear_D0, linear_D1, linear_D2, linear_D3}
 
static Einstein::TTwoFormType linear_dtD0
 Not calculated since not needed.
 
static Einstein::TTwoFormType linear_dtD1
 
static Einstein::TTwoFormType linear_dtD2
 
static Einstein::TTwoFormType linear_dtD3
 
static Einstein::TCollection2Forms linear_dtD = {linear_dtD0, linear_dtD1, linear_dtD2, linear_dtD3}
 
static Einstein::TTwoFormType linear_B0
 
static Einstein::TTwoFormType linear_B1
 
static Einstein::TTwoFormType linear_B2
 
static Einstein::TTwoFormType linear_B3
 
static Einstein::TCollection2Forms linear_B = {linear_B0, linear_B1, linear_B2, linear_B3}
 
static Einstein::TTwoFormType linear_dtB0
 
static Einstein::TTwoFormType linear_dtB1
 
static Einstein::TTwoFormType linear_dtB2
 
static Einstein::TTwoFormType linear_dtB3
 
static Einstein::TCollection2Forms linear_dtB = {linear_dtB0, linear_dtB1, linear_dtB2, linear_dtB3}
 
static Einstein::TOneFormType linear_H0
 
static Einstein::TOneFormType linear_H1
 
static Einstein::TOneFormType linear_H2
 
static Einstein::TOneFormType linear_H3
 
static Einstein::TCollection1Forms linear_H = {linear_H0, linear_H1, linear_H2, linear_H3}
 
static Einstein::TTwoFormType linear_dH0
 
static Einstein::TTwoFormType linear_dH1
 
static Einstein::TTwoFormType linear_dH2
 
static Einstein::TTwoFormType linear_dH3
 
static Einstein::TCollection2Forms linear_dH = {linear_dH0, linear_dH1, linear_dH2, linear_dH3}
 
static Einstein::TZeroFormType constant_lapse
 
static Einstein::TOneFormType constant_theta0
 
static Einstein::TOneFormType constant_theta1
 
static Einstein::TOneFormType constant_theta2
 
static Einstein::TOneFormType constant_theta3
 
static Einstein::TCollection1Forms constant_theta = {constant_theta0, constant_theta1, constant_theta2, constant_theta3}
 
static Einstein::TOneFormType constant_E0
 
static Einstein::TOneFormType constant_E1
 
static Einstein::TOneFormType constant_E2
 
static Einstein::TOneFormType constant_E3
 
static Einstein::TCollection1Forms constant_E = {constant_E0, constant_E1, constant_E2, constant_E3}
 
static Einstein::TOneFormType constant_dE0
 
static Einstein::TOneFormType constant_dE1
 
static Einstein::TOneFormType constant_dE2
 
static Einstein::TOneFormType constant_dE3
 
static Einstein::TCollection1Forms constant_dE = {constant_dE0, constant_dE1, constant_dE2, constant_dE3}
 
static Einstein::TTwoFormType constant_D0
 
static Einstein::TTwoFormType constant_D1
 
static Einstein::TTwoFormType constant_D2
 
static Einstein::TTwoFormType constant_D3
 
static Einstein::TCollection2Forms constant_D = {constant_D0, constant_D1, constant_D2, constant_D3}
 
static Einstein::TTwoFormType constant_dtD0
 
static Einstein::TTwoFormType constant_dtD1
 
static Einstein::TTwoFormType constant_dtD2
 
static Einstein::TTwoFormType constant_dtD3
 
static Einstein::TCollection2Forms constant_dtD = {constant_dtD0, constant_dtD1, constant_dtD2, constant_dtD3}
 
static Einstein::TTwoFormType constant_B0
 
static Einstein::TTwoFormType constant_B1
 
static Einstein::TTwoFormType constant_B2
 
static Einstein::TTwoFormType constant_B3
 
static Einstein::TCollection2Forms constant_B = {constant_B0, constant_B1, constant_B2, constant_B3}
 
static Einstein::TTwoFormType constant_dtB0
 
static Einstein::TTwoFormType constant_dtB1
 
static Einstein::TTwoFormType constant_dtB2
 
static Einstein::TTwoFormType constant_dtB3
 
static Einstein::TCollection2Forms constant_dtB = {constant_dtB0, constant_dtB1, constant_dtB2, constant_dtB3}
 
static Einstein::TOneFormType constant_H0
 
static Einstein::TOneFormType constant_H1
 
static Einstein::TOneFormType constant_H2
 
static Einstein::TOneFormType constant_H3
 
static Einstein::TCollection1Forms constant_H = {constant_H0, constant_H1, constant_H2, constant_H3}
 
static Einstein::TTwoFormType constant_dH0
 
static Einstein::TTwoFormType constant_dH1
 
static Einstein::TTwoFormType constant_dH2
 
static Einstein::TTwoFormType constant_dH3
 
static Einstein::TCollection2Forms constant_dH = {constant_dH0, constant_dH1, constant_dH2, constant_dH3}
 
static Einstein::TZeroFormType test_lapse
 
static Einstein::TOneFormType test_theta0
 
static Einstein::TOneFormType test_theta1
 
static Einstein::TOneFormType test_theta2
 
static Einstein::TOneFormType test_theta3
 
static Einstein::TCollection1Forms test_theta = {test_theta0, test_theta1, test_theta2, test_theta3}
 
static Einstein::TOneFormType test_E0
 
static Einstein::TOneFormType test_E1
 
static Einstein::TOneFormType test_E2
 
static Einstein::TOneFormType test_E3
 
static Einstein::TCollection1Forms test_E = {test_E0, test_E1, test_E2, test_E3}
 
static Einstein::TOneFormType test_dE0
 
static Einstein::TOneFormType test_dE1
 
static Einstein::TOneFormType test_dE2
 
static Einstein::TOneFormType test_dE3
 
static Einstein::TCollection1Forms test_dE = {test_dE0, test_dE1, test_dE2, test_dE3}
 
static Einstein::TTwoFormType test_D0
 
static Einstein::TTwoFormType test_D1
 
static Einstein::TTwoFormType test_D2
 
static Einstein::TTwoFormType test_D3
 
static Einstein::TCollection2Forms test_D = {test_D0, test_D1, test_D2, test_D3}
 
static Einstein::TTwoFormType test_dtD0
 
static Einstein::TTwoFormType test_dtD1
 
static Einstein::TTwoFormType test_dtD2
 
static Einstein::TTwoFormType test_dtD3
 
static Einstein::TCollection2Forms test_dtD = {test_dtD0, test_dtD1, test_dtD2, test_dtD3}
 
static Einstein::TTwoFormType test_B0
 
static Einstein::TTwoFormType test_B1
 
static Einstein::TTwoFormType test_B2
 
static Einstein::TTwoFormType test_B3
 
static Einstein::TCollection2Forms test_B = {test_B0, test_B1, test_B2, test_B3}
 
static Einstein::TTwoFormType test_dtB0
 
static Einstein::TTwoFormType test_dtB1
 
static Einstein::TTwoFormType test_dtB2
 
static Einstein::TTwoFormType test_dtB3
 
static Einstein::TCollection2Forms test_dtB = {test_dtB0, test_dtB1, test_dtB2, test_dtB3}
 
static Einstein::TOneFormType test_H0
 
static Einstein::TOneFormType test_H1
 
static Einstein::TOneFormType test_H2
 
static Einstein::TOneFormType test_H3
 
static Einstein::TCollection1Forms test_H = {test_H0, test_H1, test_H2, test_H3}
 
static Einstein::TTwoFormType test_dH0
 
static Einstein::TTwoFormType test_dH1
 
static Einstein::TTwoFormType test_dH2
 
static Einstein::TTwoFormType test_dH3
 
static Einstein::TCollection2Forms test_dH = {test_dH0, test_dH1, test_dH2, test_dH3}
 
static const double PI = boost::math::constants::pi<double>()
 
double scaling_mu = 1.
 
double scaling_kappainv = 1.
 
double constexpr eps =1e-14
 
static BrinkmanParameters::ViscosityType linear_mu = BrinkmanParameters::ViscosityType(1.)
 
static BrinkmanParameters::PermeabilityInvType linear_kappainv = BrinkmanParameters::PermeabilityInvType(1.)
 
static const MatrixRd mat_u = (MatrixRd() << 1.,2.,3., 0.,-1.,1. , 0.,1.,1.).finished()
 
static const VectorRd vec_p = VectorRd(-1., 2., -5.)
 
static Brinkman::VelocityType linear_u
 
static Brinkman::PressureType linear_p
 
static Brinkman::VelocityGradientType linear_gradu
 
static Brinkman::PressureGradientType linear_gradp
 
static Brinkman::MomentumForcingTermType linear_f
 
static Brinkman::CompressibilityForcingTermType linear_g = [](const VectorRd & x)->double { return linear_gradu(x).trace();}
 
static BrinkmanParameters::ViscosityType quadratic_mu = BrinkmanParameters::ViscosityType(1.)
 
static BrinkmanParameters::PermeabilityInvType quadratic_kappainv = BrinkmanParameters::PermeabilityInvType(1.)
 
static Brinkman::VelocityType quadratic_u
 
static Brinkman::VelocityGradientType quadratic_gradu
 
static Brinkman::PressureType quadratic_p
 
static Brinkman::PressureGradientType quadratic_gradp
 
static Brinkman::MomentumForcingTermType quadratic_f
 
static Brinkman::CompressibilityForcingTermType quadratic_g = [](const VectorRd & x)->double { return quadratic_gradu(x).trace();}
 
static BrinkmanParameters::ViscosityType cubic_mu = BrinkmanParameters::ViscosityType(1.)
 
static BrinkmanParameters::PermeabilityInvType cubic_kappainv = BrinkmanParameters::PermeabilityInvType(1.)
 
static Brinkman::VelocityType cubic_u
 
static Brinkman::VelocityGradientType cubic_gradu
 
static Brinkman::PressureType cubic_p
 
static Brinkman::PressureGradientType cubic_gradp
 
static Brinkman::MomentumForcingTermType cubic_f
 
static Brinkman::CompressibilityForcingTermType cubic_g = [](const VectorRd & x)->double { return cubic_gradu(x).trace();}
 
static BrinkmanParameters::ViscosityType trigonometric_mu = BrinkmanParameters::ViscosityType(1.)
 
static BrinkmanParameters::PermeabilityInvType trigonometric_kappainv = BrinkmanParameters::PermeabilityInvType(1.)
 
static Brinkman::VelocityType trigonometric_u
 
static Brinkman::VelocityGradientType trigonometric_gradu
 
static Brinkman::PressureType trigonometric_p
 
static Brinkman::PressureGradientType trigonometric_gradp
 
static Brinkman::MomentumForcingTermType trigonometric_f
 
static Brinkman::CompressibilityForcingTermType trigonometric_g = [](const VectorRd & x)->double { return trigonometric_gradu(x).trace();}
 
static BrinkmanParameters::ViscosityType regimes_mu = BrinkmanParameters::ViscosityType(1.)
 
static BrinkmanParameters::PermeabilityInvType regimes_kappainv = BrinkmanParameters::PermeabilityInvType(1.)
 
static Brinkman::PressureType regimes_p = trigonometric_p
 
static Brinkman::PressureGradientType regimes_gradp = trigonometric_gradp
 
static Brinkman::VelocityType regimes_uD
 
static Brinkman::VelocityGradientType regimes_graduD
 
static Brinkman::VelocityType regimes_uS = trigonometric_u
 
static Brinkman::VelocityGradientType regimes_graduS = trigonometric_gradu
 
static std::function< double(const VectorRd &)> XiS
 
static Brinkman::VelocityType regimes_u = [](const VectorRd & x) -> VectorRd { return XiS(x) * regimes_uS(x) + (1.-XiS(x)) * regimes_uD(x);}
 
static Brinkman::VelocityGradientType regimes_gradu = [](const VectorRd & x) -> MatrixRd { return XiS(x) * regimes_graduS(x) + (1.-XiS(x)) * regimes_graduD(x);}
 
static Brinkman::MomentumForcingTermType regimes_f
 
static Brinkman::CompressibilityForcingTermType regimes_g = [](const VectorRd & x)->double { return regimes_gradu(x).trace() ;}
 
static std::function< double(const VectorRd &)> XiV = [](const VectorRd & x)->double { return (x.z() > 2*std::abs(x.x()-1.)+0.5-eps); }
 
static BrinkmanParameters::ViscosityType vcracked_mu = BrinkmanParameters::ViscosityType([](const VectorRd & x)->double { return 0.01 * XiV(x);})
 
static BrinkmanParameters::PermeabilityInvType vcracked_kappainv = BrinkmanParameters::PermeabilityInvType([](const VectorRd & x)->double { return 1e-5*(1.-XiV(x)) + 0.001*XiV(x);})
 
static Brinkman::VelocityType vcracked_u
 
static Brinkman::VelocityGradientType vcracked_gradu
 
static Brinkman::PressureType vcracked_p
 
static Brinkman::PressureGradientType vcracked_gradp
 
static Brinkman::MomentumForcingTermType vcracked_f
 
static Brinkman::CompressibilityForcingTermType vcracked_g
 
static std::function< double(const VectorRd &)> XiCavity
 
static std::function< double(const VectorRd &)> XiWedge
 
static std::function< double(const VectorRd &)> XiBox = [](const VectorRd & x)->double { return 1. - XiCavity(x) - XiWedge(x); }
 
constexpr double viscosity_in_cavity = 0.01
 
static BrinkmanParameters::ViscosityType cavity_mu = viscosity_in_cavity * BrinkmanParameters::ViscosityType(XiCavity)
 
constexpr double permeability_in_wedge = 1e-2
 
constexpr double permeability_in_box = 1e-7
 
static BrinkmanParameters::PermeabilityInvType cavity_kappainv
 
static Brinkman::VelocityType cavity_u
 
static Brinkman::VelocityGradientType cavity_gradu
 
static Brinkman::PressureType cavity_p
 
static Brinkman::PressureGradientType cavity_gradp
 
static Brinkman::MomentumForcingTermType cavity_f
 
static Brinkman::CompressibilityForcingTermType cavity_g
 
static std::function< double(const VectorRd &)> Xi_S
 
static std::function< double(const VectorRd &)> Xi_D
 
constexpr double viscosity_S = 1.
 
constexpr double viscosity_D = 0.
 
static BrinkmanParameters::ViscosityType tworegions_mu
 
constexpr double permeability_S = 1e-7
 
constexpr double permeability_D = 1e-2
 
static BrinkmanParameters::PermeabilityInvType tworegions_kappainv
 
static std::function< VectorRd(const VectorRd &)> alpha
 
static std::function< VectorRd(const VectorRd &)> beta_S
 
static std::function< VectorRd(const VectorRd &)> beta_D
 
static Brinkman::VelocityType tworegions_u
 
static Brinkman::VelocityGradientType grad_alpha
 
static Brinkman::VelocityGradientType grad_beta_S
 
static Brinkman::VelocityGradientType grad_beta_D
 
static Brinkman::VelocityGradientType tworegions_gradu
 
static Brinkman::PressureType tworegions_p = trigonometric_p
 
static Brinkman::PressureGradientType tworegions_gradp = trigonometric_gradp
 
static Brinkman::MomentumForcingTermType DivGrad_alpha
 
static Brinkman::MomentumForcingTermType DivGrad_beta_S
 
static Brinkman::MomentumForcingTermType DivGrad_beta_D
 
static Brinkman::MomentumForcingTermType tworegions_f
 
static Brinkman::CompressibilityForcingTermType tworegions_g = [](const VectorRd & x)->double { return tworegions_gradu(x).trace();}
 
static const double PI = boost::math::constants::pi<double>()
 
static const VectorRd vec_a = VectorRd(1.,2.,3.)
 
static FullGradientDiffusion::SolutionType linear_u
 
static FullGradientDiffusion::SolutionGradientType linear_gradu
 
static FullGradientDiffusion::ForcingTermType linear_f
 
static FullGradientDiffusion::PermeabilityType linear_kappa = FullGradientDiffusion::PermeabilityType(1.)
 
static FullGradientDiffusion::SolutionType trigonometric_u
 
static FullGradientDiffusion::SolutionGradientType trigonometric_gradu
 
static FullGradientDiffusion::ForcingTermType trigonometric_f
 
static FullGradientDiffusion::PermeabilityType trigonometric_kappa = FullGradientDiffusion::PermeabilityType(1.)
 
static const double PI = boost::math::constants::pi<double>()
 
static YangMills::TElectricFieldType trigonometric_E1
 
static YangMills::TElectricFieldType trigonometric_E2
 
static YangMills::TElectricFieldType trigonometric_E3
 
static YangMills::TLAElectricFieldType trigonometric_E = {trigonometric_E1, trigonometric_E2, trigonometric_E3}
 
static YangMills::TElectricFieldType trigonometric_A1
 
static YangMills::TElectricFieldType trigonometric_A2
 
static YangMills::TElectricFieldType trigonometric_A3
 
static YangMills::TLAElectricFieldType trigonometric_A = {trigonometric_A1, trigonometric_A2, trigonometric_A3}
 
static YangMills::TMagneticFieldType trigonometric_B1_linear
 
static YangMills::TMagneticFieldType trigonometric_B2_linear
 
static YangMills::TMagneticFieldType trigonometric_B3_linear
 
static YangMills::TLAMagneticFieldType trigonometric_B_linear = {trigonometric_B1_linear, trigonometric_B2_linear, trigonometric_B3_linear}
 
static YangMills::TMagneticFieldType trigonometric_B1_nonlinear
 
static YangMills::TMagneticFieldType trigonometric_B2_nonlinear
 
static YangMills::TMagneticFieldType trigonometric_B3_nonlinear
 
static YangMills::TLAMagneticFieldType trigonometric_B_nonlinear = {trigonometric_B1_nonlinear, trigonometric_B2_nonlinear, trigonometric_B3_nonlinear}
 
static YangMills::TElectricFieldType trigonometric_dtE1
 
static YangMills::TElectricFieldType trigonometric_dtE2
 
static YangMills::TElectricFieldType trigonometric_dtE3
 
static YangMills::TLAElectricFieldType trigonometric_dtE = {trigonometric_dtE1, trigonometric_dtE2, trigonometric_dtE3}
 
static YangMills::TForcingTermType trigonometric_f1_linear
 
static YangMills::TForcingTermType trigonometric_f2_linear
 
static YangMills::TForcingTermType trigonometric_f3_linear
 
static YangMills::TLAForcingTermType trigonometric_f_linear = {trigonometric_f1_linear, trigonometric_f2_linear, trigonometric_f3_linear}
 
static YangMills::TForcingTermType trigonometric_f1_nonlinear
 
static YangMills::TForcingTermType trigonometric_f2_nonlinear
 
static YangMills::TForcingTermType trigonometric_f3_nonlinear
 
static YangMills::TLAForcingTermType trigonometric_f_nonlinear = {trigonometric_f1_nonlinear, trigonometric_f2_nonlinear, trigonometric_f3_nonlinear}
 
static YangMills::TElectricFieldType linear_E1
 
static YangMills::TElectricFieldType linear_E2
 
static YangMills::TElectricFieldType linear_E3
 
static YangMills::TLAElectricFieldType linear_E = {linear_E1, linear_E2, linear_E3}
 
static YangMills::TElectricFieldType linear_A1
 
static YangMills::TElectricFieldType linear_A2
 
static YangMills::TElectricFieldType linear_A3
 
static YangMills::TLAElectricFieldType linear_A = {linear_A1, linear_A2, linear_A3}
 
static YangMills::TMagneticFieldType linear_B1_linear
 
static YangMills::TMagneticFieldType linear_B2_linear
 
static YangMills::TMagneticFieldType linear_B3_linear
 
static YangMills::TLAMagneticFieldType linear_B_linear = {linear_B1_linear, linear_B2_linear, linear_B3_linear}
 
static YangMills::TMagneticFieldType linear_B1_nonlinear
 
static YangMills::TMagneticFieldType linear_B2_nonlinear
 
static YangMills::TMagneticFieldType linear_B3_nonlinear
 
static YangMills::TLAMagneticFieldType linear_B_nonlinear = {linear_B1_nonlinear, linear_B2_nonlinear, linear_B3_nonlinear}
 
static YangMills::TElectricFieldType linear_dtE1
 
static YangMills::TElectricFieldType linear_dtE2
 
static YangMills::TElectricFieldType linear_dtE3
 
static YangMills::TLAElectricFieldType linear_dtE = {linear_dtE1, linear_dtE2, linear_dtE3}
 
static YangMills::TForcingTermType linear_f1_linear
 
static YangMills::TForcingTermType linear_f2_linear
 
static YangMills::TForcingTermType linear_f3_linear
 
static YangMills::TLAForcingTermType linear_f_linear = {linear_f1_linear, linear_f2_linear, linear_f3_linear}
 
static YangMills::TForcingTermType linear_f1_nonlinear
 
static YangMills::TForcingTermType linear_f2_nonlinear
 
static YangMills::TForcingTermType linear_f3_nonlinear
 
static YangMills::TLAForcingTermType linear_f_nonlinear = {linear_f1_nonlinear, linear_f2_nonlinear, linear_f3_nonlinear}
 
static YangMills::TElectricFieldType const_E1
 
static YangMills::TElectricFieldType const_E2
 
static YangMills::TElectricFieldType const_E3
 
static YangMills::TLAElectricFieldType const_E = {const_E1, const_E2, const_E3}
 
static YangMills::TElectricFieldType const_A1
 
static YangMills::TElectricFieldType const_A2
 
static YangMills::TElectricFieldType const_A3
 
static YangMills::TLAElectricFieldType const_A = {const_A1, const_A2, const_A3}
 
static YangMills::TMagneticFieldType const_B1_linear
 
static YangMills::TMagneticFieldType const_B2_linear
 
static YangMills::TMagneticFieldType const_B3_linear
 
static YangMills::TLAMagneticFieldType const_B_linear = {const_B1_linear, const_B2_linear, const_B3_linear}
 
static YangMills::TMagneticFieldType const_B1_nonlinear
 
static YangMills::TMagneticFieldType const_B2_nonlinear
 
static YangMills::TMagneticFieldType const_B3_nonlinear
 
static YangMills::TLAMagneticFieldType const_B_nonlinear = {const_B1_nonlinear, const_B2_nonlinear, const_B3_nonlinear}
 
static YangMills::TElectricFieldType const_dtE1
 
static YangMills::TElectricFieldType const_dtE2
 
static YangMills::TElectricFieldType const_dtE3
 
static YangMills::TLAElectricFieldType const_dtE = {const_dtE1, const_dtE2, const_dtE3}
 
static YangMills::TForcingTermType const_f1_linear
 
static YangMills::TForcingTermType const_f2_linear
 
static YangMills::TForcingTermType const_f3_linear
 
static YangMills::TLAForcingTermType const_f_linear = {const_f1_linear, const_f2_linear, const_f3_linear}
 
static YangMills::TForcingTermType const_f1_nonlinear
 
static YangMills::TForcingTermType const_f2_nonlinear
 
static YangMills::TForcingTermType const_f3_nonlinear
 
static YangMills::TLAForcingTermType const_f_nonlinear = {const_f1_nonlinear, const_f2_nonlinear, const_f3_nonlinear}
 
static const double PI = boost::math::constants::pi<double>()
 
static YangMills::TElectricFieldType trigonometric_E1
 
static YangMills::TElectricFieldType trigonometric_E2
 
static YangMills::TElectricFieldType trigonometric_E3
 
static YangMills::TLAElectricFieldType trigonometric_E = {trigonometric_E1, trigonometric_E2, trigonometric_E3}
 
static YangMills::TElectricFieldType trigonometric_A1
 
static YangMills::TElectricFieldType trigonometric_A2
 
static YangMills::TElectricFieldType trigonometric_A3
 
static YangMills::TLAElectricFieldType trigonometric_A = {trigonometric_A1, trigonometric_A2, trigonometric_A3}
 
static YangMills::TMagneticFieldType trigonometric_B1_linear
 
static YangMills::TMagneticFieldType trigonometric_B2_linear
 
static YangMills::TMagneticFieldType trigonometric_B3_linear
 
static YangMills::TLAMagneticFieldType trigonometric_B_linear = {trigonometric_B1_linear, trigonometric_B2_linear, trigonometric_B3_linear}
 
static YangMills::TMagneticFieldType trigonometric_B1_nonlinear
 
static YangMills::TMagneticFieldType trigonometric_B2_nonlinear
 
static YangMills::TMagneticFieldType trigonometric_B3_nonlinear
 
static YangMills::TLAMagneticFieldType trigonometric_B_nonlinear = {trigonometric_B1_nonlinear, trigonometric_B2_nonlinear, trigonometric_B3_nonlinear}
 
static YangMills::TElectricFieldType trigonometric_dtE1
 
static YangMills::TElectricFieldType trigonometric_dtE2
 
static YangMills::TElectricFieldType trigonometric_dtE3
 
static YangMills::TLAElectricFieldType trigonometric_dtE = {trigonometric_dtE1, trigonometric_dtE2, trigonometric_dtE3}
 
static YangMills::TForcingTermType trigonometric_f1_linear
 
static YangMills::TForcingTermType trigonometric_f2_linear
 
static YangMills::TForcingTermType trigonometric_f3_linear
 
static YangMills::TLAForcingTermType trigonometric_f_linear = {trigonometric_f1_linear, trigonometric_f2_linear, trigonometric_f3_linear}
 
static YangMills::TForcingTermType trigonometric_f1_nonlinear
 
static YangMills::TForcingTermType trigonometric_f2_nonlinear
 
static YangMills::TForcingTermType trigonometric_f3_nonlinear
 
static YangMills::TLAForcingTermType trigonometric_f_nonlinear = {trigonometric_f1_nonlinear, trigonometric_f2_nonlinear, trigonometric_f3_nonlinear}
 
static YangMills::TElectricFieldType linear_E1
 
static YangMills::TElectricFieldType linear_E2
 
static YangMills::TElectricFieldType linear_E3
 
static YangMills::TLAElectricFieldType linear_E = {linear_E1, linear_E2, linear_E3}
 
static YangMills::TElectricFieldType linear_A1
 
static YangMills::TElectricFieldType linear_A2
 
static YangMills::TElectricFieldType linear_A3
 
static YangMills::TLAElectricFieldType linear_A = {linear_A1, linear_A2, linear_A3}
 
static YangMills::TMagneticFieldType linear_B1_linear
 
static YangMills::TMagneticFieldType linear_B2_linear
 
static YangMills::TMagneticFieldType linear_B3_linear
 
static YangMills::TLAMagneticFieldType linear_B_linear = {linear_B1_linear, linear_B2_linear, linear_B3_linear}
 
static YangMills::TMagneticFieldType linear_B1_nonlinear
 
static YangMills::TMagneticFieldType linear_B2_nonlinear
 
static YangMills::TMagneticFieldType linear_B3_nonlinear
 
static YangMills::TLAMagneticFieldType linear_B_nonlinear = {linear_B1_nonlinear, linear_B2_nonlinear, linear_B3_nonlinear}
 
static YangMills::TElectricFieldType linear_dtE1
 
static YangMills::TElectricFieldType linear_dtE2
 
static YangMills::TElectricFieldType linear_dtE3
 
static YangMills::TLAElectricFieldType linear_dtE = {linear_dtE1, linear_dtE2, linear_dtE3}
 
static YangMills::TForcingTermType linear_f1_linear
 
static YangMills::TForcingTermType linear_f2_linear
 
static YangMills::TForcingTermType linear_f3_linear
 
static YangMills::TLAForcingTermType linear_f_linear = {linear_f1_linear, linear_f2_linear, linear_f3_linear}
 
static YangMills::TForcingTermType linear_f1_nonlinear
 
static YangMills::TForcingTermType linear_f2_nonlinear
 
static YangMills::TForcingTermType linear_f3_nonlinear
 
static YangMills::TLAForcingTermType linear_f_nonlinear = {linear_f1_nonlinear, linear_f2_nonlinear, linear_f3_nonlinear}
 
static YangMills::TElectricFieldType const_E1
 
static YangMills::TElectricFieldType const_E2
 
static YangMills::TElectricFieldType const_E3
 
static YangMills::TLAElectricFieldType const_E = {const_E1, const_E2, const_E3}
 
static YangMills::TElectricFieldType const_A1
 
static YangMills::TElectricFieldType const_A2
 
static YangMills::TElectricFieldType const_A3
 
static YangMills::TLAElectricFieldType const_A = {const_A1, const_A2, const_A3}
 
static YangMills::TMagneticFieldType const_B1_linear
 
static YangMills::TMagneticFieldType const_B2_linear
 
static YangMills::TMagneticFieldType const_B3_linear
 
static YangMills::TLAMagneticFieldType const_B_linear = {const_B1_linear, const_B2_linear, const_B3_linear}
 
static YangMills::TMagneticFieldType const_B1_nonlinear
 
static YangMills::TMagneticFieldType const_B2_nonlinear
 
static YangMills::TMagneticFieldType const_B3_nonlinear
 
static YangMills::TLAMagneticFieldType const_B_nonlinear = {const_B1_nonlinear, const_B2_nonlinear, const_B3_nonlinear}
 
static YangMills::TElectricFieldType const_dtE1
 
static YangMills::TElectricFieldType const_dtE2
 
static YangMills::TElectricFieldType const_dtE3
 
static YangMills::TLAElectricFieldType const_dtE = {const_dtE1, const_dtE2, const_dtE3}
 
static YangMills::TForcingTermType const_f1_linear
 
static YangMills::TForcingTermType const_f2_linear
 
static YangMills::TForcingTermType const_f3_linear
 
static YangMills::TLAForcingTermType const_f_linear = {const_f1_linear, const_f2_linear, const_f3_linear}
 
static YangMills::TForcingTermType const_f1_nonlinear
 
static YangMills::TForcingTermType const_f2_nonlinear
 
static YangMills::TForcingTermType const_f3_nonlinear
 
static YangMills::TLAForcingTermType const_f_nonlinear = {const_f1_nonlinear, const_f2_nonlinear, const_f3_nonlinear}
 
static const double PI = boost::math::constants::pi<double>()
 
static Stokes::VelocityType trigonometric_u
 
static Stokes::VorticityType trigonometric_curl_u
 
static Stokes::PressureType trigonometric_p
 
static Stokes::PressureGradientType trigonometric_grad_p
 
static Stokes::ForcingTermType trigonometric_f
 
static Stokes::ForcingTermType trigonometric_curl_f
 
static Stokes::ViscosityType trigonometric_nu = Stokes::ViscosityType(1.)
 
static Stokes::VelocityType linear_u
 
static Stokes::VorticityType linear_curl_u
 
static Stokes::PressureType linear_p
 
static Stokes::PressureGradientType linear_grad_p
 
static Stokes::ForcingTermType linear_f
 
static Stokes::ForcingTermType linear_curl_f
 
static Stokes::ViscosityType linear_nu = Stokes::ViscosityType(1.)
 
static Stokes::VelocityType field_u
 
static Stokes::VorticityType field_curl_u
 
static Stokes::PressureType field_p
 
static Stokes::PressureGradientType field_grad_p
 
static Stokes::ForcingTermType field_f
 
static Stokes::ForcingTermType field_curl_f
 
static Stokes::ViscosityType field_nu = Stokes::ViscosityType(1.)
 
constexpr int dimspace = 3
 Dimension, and generic types for vector in correct dimension (makes it easier to translate a code between 2D and 3D)
 
static const std::vector< VectorRd > basisRd = { VectorRd(1., 0., 0.), VectorRd(0., 1., 0.), VectorRd(0., 0., 1.) }
 
static std::function< Eigen::MatrixXd(const Eigen::MatrixXd &)> symmetrise_matrix = [](const Eigen::MatrixXd & x)->Eigen::MatrixXd { return 0.5*(x+x.transpose());}
 Function to symmetrise a matrix (useful together with transform_values_quad)
 
static std::function< Eigen::MatrixXd(const Eigen::MatrixXd &)> skew_symmetrise_matrix = [](const Eigen::MatrixXd & x)->Eigen::MatrixXd { return 0.5*(x-x.transpose());}
 Function to skew-symmetrise a matrix (useful together with transform_values_quad)
 
std::map< std::string, SolverNamemap_solver
 Map to associate to each lowercase name a solver.
 
std::map< SolverName, std::string > map_realname
 Map to associate to each solver its proper name.
 
std::map< SolverName, size_tmap_id
 
static const CellSelection allcells = [](const Cell &)->bool {return true;}
 
static constexpr size_t MAX_DOE_CELL = 14
 Maximum degree of the cell quadrature rules.
 
static constexpr size_t MAX_DOE_FACE = 20
 Maximum degree of the face quadrature rules.
 
static constexpr size_t MAX_DOE_EDGE = 20
 Maximum degree of the edge quadrature rules.
 

Function Documentation

◆ noise()

std::function< Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::noise ( const std::function< Eigen::Vector3d(const Eigen::Vector3d &)> &  f)

◆ star() [1/2]

std::function< Eigen::Vector3d(const Eigen::Vector3d &)> HArDCore3D::star ( const std::function< Eigen::Vector3d(const Eigen::Vector3d &)> &  F)

◆ star() [2/2]

std::function< Eigen::Vector3d(double t, const Eigen::Vector3d &)> HArDCore3D::star ( const std::function< Eigen::Vector3d(double t, const Eigen::Vector3d &)> &  F)

◆ starCol()

template<typename Fct >
std::vector< Fct > HArDCore3D::starCol ( const std::vector< Fct > &  F)

◆ tetra_sum()

double HArDCore3D::tetra_sum ( double   funcdouble x, double y, double z,
double  x[4],
double  y[4],
double  z[4],
size_t  nq,
double  cq0[],
double  cq1[],
double  cq2[],
double  wq[] 
)

Variable Documentation

◆ constant_B [1/2]

◆ constant_B [2/2]

◆ constant_B0 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_B0 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_B1 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_B1 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_B2 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_B2 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_B3 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_B3 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_D [1/2]

◆ constant_D [2/2]

◆ constant_D0 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_D0 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_D1 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(4.0*t + 8.0, 0, 0);
}

◆ constant_D1 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(4.0*t + 8.0, 0, 0);
}

◆ constant_D2 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 6.0*t + 10.0);
}

◆ constant_D2 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 6.0*t + 10.0);
}

◆ constant_D3 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -12.0*t - 8.0, 0);
}

◆ constant_D3 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -12.0*t - 8.0, 0);
}

◆ constant_dE [1/2]

◆ constant_dE [2/2]

◆ constant_dE0 [1/2]

Einstein::TOneFormType HArDCore3D::constant_dE0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dE0 [2/2]

Einstein::TOneFormType HArDCore3D::constant_dE0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dE1 [1/2]

Einstein::TOneFormType HArDCore3D::constant_dE1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dE1 [2/2]

Einstein::TOneFormType HArDCore3D::constant_dE1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dE2 [1/2]

Einstein::TOneFormType HArDCore3D::constant_dE2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dE2 [2/2]

Einstein::TOneFormType HArDCore3D::constant_dE2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dE3 [1/2]

Einstein::TOneFormType HArDCore3D::constant_dE3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dE3 [2/2]

Einstein::TOneFormType HArDCore3D::constant_dE3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dH [1/2]

◆ constant_dH [2/2]

◆ constant_dH0 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dH0 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dH1 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dH1 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dH2 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dH2 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dH3 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dH3 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtB [1/2]

◆ constant_dtB [2/2]

◆ constant_dtB0 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dtB0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtB0 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dtB0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtB1 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dtB1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtB1 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dtB1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtB2 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dtB2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtB2 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dtB2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtB3 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dtB3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtB3 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dtB3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtD [1/2]

◆ constant_dtD [2/2]

◆ constant_dtD0 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtD0 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_dtD1 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(4.0, 0, 0);
}

◆ constant_dtD1 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(4.0, 0, 0);
}

◆ constant_dtD2 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 6.0);
}

◆ constant_dtD2 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 6.0);
}

◆ constant_dtD3 [1/2]

Einstein::TTwoFormType HArDCore3D::constant_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -12.0, 0);
}

◆ constant_dtD3 [2/2]

Einstein::TTwoFormType HArDCore3D::constant_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -12.0, 0);
}

◆ constant_E [1/2]

◆ constant_E [2/2]

◆ constant_E0 [1/2]

Einstein::TOneFormType HArDCore3D::constant_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_E0 [2/2]

Einstein::TOneFormType HArDCore3D::constant_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_E1 [1/2]

Einstein::TOneFormType HArDCore3D::constant_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 3.0);
}

◆ constant_E1 [2/2]

Einstein::TOneFormType HArDCore3D::constant_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 3.0);
}

◆ constant_E2 [1/2]

Einstein::TOneFormType HArDCore3D::constant_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(2.0, 0, 0);
}

◆ constant_E2 [2/2]

Einstein::TOneFormType HArDCore3D::constant_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(2.0, 0, 0);
}

◆ constant_E3 [1/2]

Einstein::TOneFormType HArDCore3D::constant_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 1.0, 0);
}

◆ constant_E3 [2/2]

Einstein::TOneFormType HArDCore3D::constant_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 1.0, 0);
}

◆ constant_H [1/2]

◆ constant_H [2/2]

◆ constant_H0 [1/2]

Einstein::TOneFormType HArDCore3D::constant_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_H0 [2/2]

Einstein::TOneFormType HArDCore3D::constant_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_H1 [1/2]

Einstein::TOneFormType HArDCore3D::constant_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_H1 [2/2]

Einstein::TOneFormType HArDCore3D::constant_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_H2 [1/2]

Einstein::TOneFormType HArDCore3D::constant_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_H2 [2/2]

Einstein::TOneFormType HArDCore3D::constant_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_H3 [1/2]

Einstein::TOneFormType HArDCore3D::constant_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_H3 [2/2]

Einstein::TOneFormType HArDCore3D::constant_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_lapse [1/2]

Einstein::TZeroFormType HArDCore3D::constant_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return 6*pow(t, 3) + 26*pow(t, 2) + 26*t + 6;
}

◆ constant_lapse [2/2]

Einstein::TZeroFormType HArDCore3D::constant_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return 6*pow(t, 3) + 26*pow(t, 2) + 26*t + 6;
}

◆ constant_theta [1/2]

◆ constant_theta [2/2]

◆ constant_theta0 [1/2]

Einstein::TOneFormType HArDCore3D::constant_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_theta0 [2/2]

Einstein::TOneFormType HArDCore3D::constant_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ constant_theta1 [1/2]

Einstein::TOneFormType HArDCore3D::constant_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 3*t+1);
}

◆ constant_theta1 [2/2]

Einstein::TOneFormType HArDCore3D::constant_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 3*t+1);
}

◆ constant_theta2 [1/2]

Einstein::TOneFormType HArDCore3D::constant_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(2*t+2, 0, 0);
}

◆ constant_theta2 [2/2]

Einstein::TOneFormType HArDCore3D::constant_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(2*t+2, 0, 0);
}

◆ constant_theta3 [1/2]

Einstein::TOneFormType HArDCore3D::constant_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, t+3, 0);
}

◆ constant_theta3 [2/2]

Einstein::TOneFormType HArDCore3D::constant_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, t+3, 0);
}

◆ deth_kasner_D

◆ deth_kasner_D0

Einstein::TTwoFormType HArDCore3D::deth_kasner_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_kasner_D1

Einstein::TTwoFormType HArDCore3D::deth_kasner_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0.5*pow(t, -1.5));
}

◆ deth_kasner_D2

Einstein::TTwoFormType HArDCore3D::deth_kasner_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -1.3090169943749475*pow(t, -0.69098300562505255), 0);
}

◆ deth_kasner_D3

Einstein::TTwoFormType HArDCore3D::deth_kasner_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0.19098300562505255*pow(t, -1.8090169943749475), 0, 0);
}

◆ deth_kasner_dH

◆ deth_kasner_dH0

Einstein::TTwoFormType HArDCore3D::deth_kasner_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_kasner_dH1

Einstein::TTwoFormType HArDCore3D::deth_kasner_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_kasner_dH2

Einstein::TTwoFormType HArDCore3D::deth_kasner_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_kasner_dH3

Einstein::TTwoFormType HArDCore3D::deth_kasner_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_kasner_dtD

◆ deth_kasner_dtD0

Einstein::TTwoFormType HArDCore3D::deth_kasner_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_kasner_dtD1

Einstein::TTwoFormType HArDCore3D::deth_kasner_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -0.75*pow(t, -2.5));
}

◆ deth_kasner_dtD2

Einstein::TTwoFormType HArDCore3D::deth_kasner_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0.90450849718747373*pow(t, -1.6909830056250525), 0);
}

◆ deth_kasner_dtD3

Einstein::TTwoFormType HArDCore3D::deth_kasner_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-0.34549150281252622*pow(t, -2.8090169943749475), 0, 0);
}

◆ deth_kasner_E

◆ deth_kasner_E0

Einstein::TOneFormType HArDCore3D::deth_kasner_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_kasner_E1

Einstein::TOneFormType HArDCore3D::deth_kasner_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0.5*pow(t, -1.5), 0, 0);
}

◆ deth_kasner_E2

Einstein::TOneFormType HArDCore3D::deth_kasner_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -0.30901699437494745*pow(t, -2.3090169943749475), 0);
}

◆ deth_kasner_E3

Einstein::TOneFormType HArDCore3D::deth_kasner_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0.80901699437494745*pow(t, -1.1909830056250525));
}

◆ deth_kasner_H

◆ deth_kasner_H0

Einstein::TOneFormType HArDCore3D::deth_kasner_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_kasner_H1

Einstein::TOneFormType HArDCore3D::deth_kasner_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_kasner_H2

Einstein::TOneFormType HArDCore3D::deth_kasner_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_kasner_H3

Einstein::TOneFormType HArDCore3D::deth_kasner_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ deth_linear_E [1/2]

◆ deth_linear_E [2/2]

◆ deth_linear_E0 [1/2]

Einstein::TOneFormType HArDCore3D::deth_linear_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(t*(-2*t*x(0) - t*x(1) - t*x(2) - 2)/(pow(t, 2)*pow(x(0), 2) + pow(t, 2)*x(0)*x(1) + pow(t, 2)*x(0)*x(2) + pow(t, 2)*x(1)*x(2) + 2*t*x(0) + t*x(1) + t*x(2) + 1), t*(-t*x(0) - 2*t*x(1) - t*x(2) - 2)/(pow(t, 2)*x(0)*x(1) + pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(1), 2) + pow(t, 2)*x(1)*x(2) + t*x(0) + 2*t*x(1) + t*x(2) + 1), t*(-t*x(0) - t*x(1) - 2*t*x(2) - 2)/(pow(t, 2)*x(0)*x(1) + pow(t, 2)*x(0)*x(2) + pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + t*x(0) + t*x(1) + 2*t*x(2) + 1));
}

This is E0 = 1/N dN.

◆ deth_linear_E0 [2/2]

Einstein::TOneFormType HArDCore3D::deth_linear_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(t*(-2*t*x(0) - t*x(1) - t*x(2) - 2)/(pow(t, 2)*pow(x(0), 2) + pow(t, 2)*x(0)*x(1) + pow(t, 2)*x(0)*x(2) + pow(t, 2)*x(1)*x(2) + 2*t*x(0) + t*x(1) + t*x(2) + 1), t*(-t*x(0) - 2*t*x(1) - t*x(2) - 2)/(pow(t, 2)*x(0)*x(1) + pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(1), 2) + pow(t, 2)*x(1)*x(2) + t*x(0) + 2*t*x(1) + t*x(2) + 1), t*(-t*x(0) - t*x(1) - 2*t*x(2) - 2)/(pow(t, 2)*x(0)*x(1) + pow(t, 2)*x(0)*x(2) + pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + t*x(0) + t*x(1) + 2*t*x(2) + 1));
}

This is E0 = 1/N dN.

◆ deth_linear_E1 [1/2]

Einstein::TOneFormType HArDCore3D::deth_linear_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d((x(0) + x(1))/(pow(t, 3)*pow(x(0), 2)*x(1) + pow(t, 3)*pow(x(0), 2)*x(2) + pow(t, 3)*x(0)*pow(x(1), 2) + 2*pow(t, 3)*x(0)*x(1)*x(2) + pow(t, 3)*x(0)*pow(x(2), 2) + pow(t, 3)*pow(x(1), 2)*x(2) + pow(t, 3)*x(1)*pow(x(2), 2) + pow(t, 2)*pow(x(0), 2) + 3*pow(t, 2)*x(0)*x(1) + 3*pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(1), 2) + 3*pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(0) + 2*t*x(1) + 2*t*x(2) + 1), 0, 0);
}

◆ deth_linear_E1 [2/2]

Einstein::TOneFormType HArDCore3D::deth_linear_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d((x(0) + x(1))/(pow(t, 3)*pow(x(0), 2)*x(1) + pow(t, 3)*pow(x(0), 2)*x(2) + pow(t, 3)*x(0)*pow(x(1), 2) + 2*pow(t, 3)*x(0)*x(1)*x(2) + pow(t, 3)*x(0)*pow(x(2), 2) + pow(t, 3)*pow(x(1), 2)*x(2) + pow(t, 3)*x(1)*pow(x(2), 2) + pow(t, 2)*pow(x(0), 2) + 3*pow(t, 2)*x(0)*x(1) + 3*pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(1), 2) + 3*pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(0) + 2*t*x(1) + 2*t*x(2) + 1), 0, 0);
}

◆ deth_linear_E2 [1/2]

Einstein::TOneFormType HArDCore3D::deth_linear_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, (x(1) + x(2))/(pow(t, 3)*pow(x(0), 2)*x(1) + pow(t, 3)*pow(x(0), 2)*x(2) + pow(t, 3)*x(0)*pow(x(1), 2) + 2*pow(t, 3)*x(0)*x(1)*x(2) + pow(t, 3)*x(0)*pow(x(2), 2) + pow(t, 3)*pow(x(1), 2)*x(2) + pow(t, 3)*x(1)*pow(x(2), 2) + pow(t, 2)*pow(x(0), 2) + 3*pow(t, 2)*x(0)*x(1) + 3*pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(1), 2) + 3*pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(0) + 2*t*x(1) + 2*t*x(2) + 1), 0);
}

◆ deth_linear_E2 [2/2]

Einstein::TOneFormType HArDCore3D::deth_linear_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, (x(1) + x(2))/(pow(t, 3)*pow(x(0), 2)*x(1) + pow(t, 3)*pow(x(0), 2)*x(2) + pow(t, 3)*x(0)*pow(x(1), 2) + 2*pow(t, 3)*x(0)*x(1)*x(2) + pow(t, 3)*x(0)*pow(x(2), 2) + pow(t, 3)*pow(x(1), 2)*x(2) + pow(t, 3)*x(1)*pow(x(2), 2) + pow(t, 2)*pow(x(0), 2) + 3*pow(t, 2)*x(0)*x(1) + 3*pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(1), 2) + 3*pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(0) + 2*t*x(1) + 2*t*x(2) + 1), 0);
}

◆ deth_linear_E3 [1/2]

Einstein::TOneFormType HArDCore3D::deth_linear_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, (x(0) + x(2))/(pow(t, 3)*pow(x(0), 2)*x(1) + pow(t, 3)*pow(x(0), 2)*x(2) + pow(t, 3)*x(0)*pow(x(1), 2) + 2*pow(t, 3)*x(0)*x(1)*x(2) + pow(t, 3)*x(0)*pow(x(2), 2) + pow(t, 3)*pow(x(1), 2)*x(2) + pow(t, 3)*x(1)*pow(x(2), 2) + pow(t, 2)*pow(x(0), 2) + 3*pow(t, 2)*x(0)*x(1) + 3*pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(1), 2) + 3*pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(0) + 2*t*x(1) + 2*t*x(2) + 1));
}

◆ deth_linear_E3 [2/2]

Einstein::TOneFormType HArDCore3D::deth_linear_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, (x(0) + x(2))/(pow(t, 3)*pow(x(0), 2)*x(1) + pow(t, 3)*pow(x(0), 2)*x(2) + pow(t, 3)*x(0)*pow(x(1), 2) + 2*pow(t, 3)*x(0)*x(1)*x(2) + pow(t, 3)*x(0)*pow(x(2), 2) + pow(t, 3)*pow(x(1), 2)*x(2) + pow(t, 3)*x(1)*pow(x(2), 2) + pow(t, 2)*pow(x(0), 2) + 3*pow(t, 2)*x(0)*x(1) + 3*pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(1), 2) + 3*pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(0) + 2*t*x(1) + 2*t*x(2) + 1));
}

◆ gowdy_B [1/2]

Einstein::TCollection2Forms HArDCore3D::gowdy_B = {gowdy_B0, gowdy_B1, gowdy_B2, gowdy_B3}
static

◆ gowdy_B [2/2]

Einstein::TCollection2Forms HArDCore3D::gowdy_B = {gowdy_B0, gowdy_B1, gowdy_B2, gowdy_B3}
static

◆ gowdy_B0 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_B0 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_B1 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
1.0*M_PI*sqrt(t)*exp(0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))*sin(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t),
0
);
}

◆ gowdy_B1 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
1.0*M_PI*sqrt(t)*exp(0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))*sin(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t),
0
);
}

◆ gowdy_B2 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
-1.0*M_PI*sqrt(t)*exp(-0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))*sin(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)
);
}

◆ gowdy_B2 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
-1.0*M_PI*sqrt(t)*exp(-0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))*sin(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)
);
}

◆ gowdy_B3 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_B3 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_D [1/2]

Einstein::TCollection2Forms HArDCore3D::gowdy_D = {gowdy_D0, gowdy_D1, gowdy_D2, gowdy_D3}
static

◆ gowdy_D [2/2]

Einstein::TCollection2Forms HArDCore3D::gowdy_D = {gowdy_D0, gowdy_D1, gowdy_D2, gowdy_D3}
static

◆ gowdy_D0 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_D0 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_D1 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
pow(t, -0.5)*(1.0*M_PI*pow(t, 1.0)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) - 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 0.25)*exp(-0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))
);
}

◆ gowdy_D1 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
pow(t, -0.5)*(1.0*M_PI*pow(t, 1.0)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) - 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 0.25)*exp(-0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))
);
}

◆ gowdy_D2 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
pow(t, -0.5)*(1.0*M_PI*pow(t, 1.0)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) - 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.25)*exp(0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)),
0
);
}

◆ gowdy_D2 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
pow(t, -0.5)*(1.0*M_PI*pow(t, 1.0)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) - 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.25)*exp(0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)),
0
);
}

◆ gowdy_D3 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
1.0*pow(t, 0.25)*exp(M_PI*(-0.5*M_PI*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2)) + 0.5*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.25*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*M_PI*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2)))),
0,
0
);
}

◆ gowdy_D3 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
1.0*pow(t, 0.25)*exp(M_PI*(-0.5*M_PI*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2)) + 0.5*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.25*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*M_PI*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2)))),
0,
0
);
}

◆ gowdy_dE [1/2]

◆ gowdy_dE [2/2]

◆ gowdy_dE0 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dE0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dE0 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dE0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dE1 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dE1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
1.0/t*(-1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.25)
);
}

◆ gowdy_dE1 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dE1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
1.0/t*(-1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.25)
);
}

◆ gowdy_dE2 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dE2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
1.0*M_PI*pow(t, -0.25)*(2.0*M_PI*pow(t, 1.0)*cyl_bessel_j(1, 2*M_PI*t) + 2.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) - 0.5*cyl_bessel_j(0, 2*M_PI*t))*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(0, 2*M_PI), 2))*sin(2*M_PI*x(2))
);
}

◆ gowdy_dE2 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dE2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
1.0*M_PI*pow(t, -0.25)*(2.0*M_PI*pow(t, 1.0)*cyl_bessel_j(1, 2*M_PI*t) + 2.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) - 0.5*cyl_bessel_j(0, 2*M_PI*t))*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(0, 2*M_PI), 2))*sin(2*M_PI*x(2))
);
}

◆ gowdy_dE3 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dE3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dE3 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dE3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dH [1/2]

◆ gowdy_dH [2/2]

◆ gowdy_dH0 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dH0 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dH1 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
1.0*pow(M_PI, 2)*(1.0*pow(t, 0.75)*pow(sin(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t) + 2.0*pow(t, 0.75)*cos(2*M_PI*x(2)) - 4.0*M_PI*pow(t, 1.75)*pow(sin(2*M_PI*x(2)), 2)*cyl_bessel_j(1, 2*M_PI*t) + 4.0*M_PI*pow(t, 1.75)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(1, 2*M_PI*t) - 4.0*pow(M_PI, 2)*pow(t, 2.75)*pow(sin(2*M_PI*x(2)), 2)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*pow(cyl_bessel_j(1, 2*M_PI*t), 2))*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(0, 2*M_PI), 2))*cyl_bessel_j(0, 2*M_PI*t)
);
}

◆ gowdy_dH1 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
1.0*pow(M_PI, 2)*(1.0*pow(t, 0.75)*pow(sin(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t) + 2.0*pow(t, 0.75)*cos(2*M_PI*x(2)) - 4.0*M_PI*pow(t, 1.75)*pow(sin(2*M_PI*x(2)), 2)*cyl_bessel_j(1, 2*M_PI*t) + 4.0*M_PI*pow(t, 1.75)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(1, 2*M_PI*t) - 4.0*pow(M_PI, 2)*pow(t, 2.75)*pow(sin(2*M_PI*x(2)), 2)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*pow(cyl_bessel_j(1, 2*M_PI*t), 2))*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(0, 2*M_PI), 2))*cyl_bessel_j(0, 2*M_PI*t)
);
}

◆ gowdy_dH2 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
1.0*pow(M_PI, 2)*(-1.0*pow(t, 0.75)*pow(sin(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t) + 2.0*pow(t, 0.75)*cos(2*M_PI*x(2)) + 4.0*M_PI*pow(t, 1.75)*pow(sin(2*M_PI*x(2)), 2)*cyl_bessel_j(1, 2*M_PI*t) - 4.0*M_PI*pow(t, 1.75)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(1, 2*M_PI*t) + 4.0*pow(M_PI, 2)*pow(t, 2.75)*pow(sin(2*M_PI*x(2)), 2)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*pow(cyl_bessel_j(1, 2*M_PI*t), 2))*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) + 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(0, 2*M_PI), 2))*cyl_bessel_j(0, 2*M_PI*t),
0
);
}

◆ gowdy_dH2 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
1.0*pow(M_PI, 2)*(-1.0*pow(t, 0.75)*pow(sin(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t) + 2.0*pow(t, 0.75)*cos(2*M_PI*x(2)) + 4.0*M_PI*pow(t, 1.75)*pow(sin(2*M_PI*x(2)), 2)*cyl_bessel_j(1, 2*M_PI*t) - 4.0*M_PI*pow(t, 1.75)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(1, 2*M_PI*t) + 4.0*pow(M_PI, 2)*pow(t, 2.75)*pow(sin(2*M_PI*x(2)), 2)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*pow(cyl_bessel_j(1, 2*M_PI*t), 2))*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) + 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(0, 2*M_PI), 2))*cyl_bessel_j(0, 2*M_PI*t),
0
);
}

◆ gowdy_dH3 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dH3 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dtB [1/2]

◆ gowdy_dtB [2/2]

◆ gowdy_dtB0 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtB0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dtB0 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtB0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dtB1 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtB1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
M_PI*pow(t, -0.5)*(-M_PI*pow(t, 1.0)*(1.0*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) + 2.0)*cyl_bessel_j(1, 2*M_PI*t) + 0.5*cyl_bessel_j(0, 2*M_PI*t))*exp(0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))*sin(2*M_PI*x(2)),
0
);
}

◆ gowdy_dtB1 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtB1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
M_PI*pow(t, -0.5)*(-M_PI*pow(t, 1.0)*(1.0*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) + 2.0)*cyl_bessel_j(1, 2*M_PI*t) + 0.5*cyl_bessel_j(0, 2*M_PI*t))*exp(0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))*sin(2*M_PI*x(2)),
0
);
}

◆ gowdy_dtB2 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtB2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
M_PI*pow(t, -0.5)*(M_PI*pow(t, 1.0)*(-1.0*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) + 2.0)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*cyl_bessel_j(0, 2*M_PI*t))*exp(-0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))*sin(2*M_PI*x(2))
);
}

◆ gowdy_dtB2 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtB2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
M_PI*pow(t, -0.5)*(M_PI*pow(t, 1.0)*(-1.0*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) + 2.0)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*cyl_bessel_j(0, 2*M_PI*t))*exp(-0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))*sin(2*M_PI*x(2))
);
}

◆ gowdy_dtB3 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtB3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dtB3 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtB3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dtD [1/2]

◆ gowdy_dtD [2/2]

◆ gowdy_dtD0 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dtD0 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_dtD1 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
pow(t, -2.0)*(-0.125*sqrt(t) - 0.25*M_PI*pow(t, 1.5)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) - 1.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 0.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 2.0*pow(M_PI, 2)*pow(t, 2.5)*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) + 1.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 1.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 3)*pow(cyl_bessel_j(0, 2*M_PI*t), 2)*cyl_bessel_j(1, 2*M_PI*t) + 1.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 3)*pow(cyl_bessel_j(1, 2*M_PI*t), 3) + 8.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) + 1.0*pow(M_PI, 3)*pow(t, 3.5)*cos(2*M_PI*x(2))*pow(cyl_bessel_j(0, 2*M_PI*t), 2)*cyl_bessel_j(1, 2*M_PI*t) - 4.0*pow(M_PI, 3)*pow(t, 3.5)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t))*exp(-0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))
);
}

◆ gowdy_dtD1 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
pow(t, -2.0)*(-0.125*sqrt(t) - 0.25*M_PI*pow(t, 1.5)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) - 1.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 0.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 2.0*pow(M_PI, 2)*pow(t, 2.5)*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) + 1.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 1.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 3)*pow(cyl_bessel_j(0, 2*M_PI*t), 2)*cyl_bessel_j(1, 2*M_PI*t) + 1.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 3)*pow(cyl_bessel_j(1, 2*M_PI*t), 3) + 8.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) + 1.0*pow(M_PI, 3)*pow(t, 3.5)*cos(2*M_PI*x(2))*pow(cyl_bessel_j(0, 2*M_PI*t), 2)*cyl_bessel_j(1, 2*M_PI*t) - 4.0*pow(M_PI, 3)*pow(t, 3.5)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t))*exp(-0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t))
);
}

◆ gowdy_dtD2 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
pow(t, -2.0)*(0.125*sqrt(t) - 0.25*M_PI*pow(t, 1.5)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) + 1.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 2.0*pow(M_PI, 2)*pow(t, 2.5)*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 1.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 1.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 3)*pow(cyl_bessel_j(0, 2*M_PI*t), 2)*cyl_bessel_j(1, 2*M_PI*t) + 1.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 3)*pow(cyl_bessel_j(1, 2*M_PI*t), 3) - 8.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) + 1.0*pow(M_PI, 3)*pow(t, 3.5)*cos(2*M_PI*x(2))*pow(cyl_bessel_j(0, 2*M_PI*t), 2)*cyl_bessel_j(1, 2*M_PI*t) + 4.0*pow(M_PI, 3)*pow(t, 3.5)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t))*exp(0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)),
0
);
}

◆ gowdy_dtD2 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
pow(t, -2.0)*(0.125*sqrt(t) - 0.25*M_PI*pow(t, 1.5)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) + 1.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 2.0*pow(M_PI, 2)*pow(t, 2.5)*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 1.5*pow(M_PI, 2)*pow(t, 2.5)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 1.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 3)*pow(cyl_bessel_j(0, 2*M_PI*t), 2)*cyl_bessel_j(1, 2*M_PI*t) + 1.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 3)*pow(cyl_bessel_j(1, 2*M_PI*t), 3) - 8.0*pow(M_PI, 3)*pow(t, 3.5)*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) + 1.0*pow(M_PI, 3)*pow(t, 3.5)*cos(2*M_PI*x(2))*pow(cyl_bessel_j(0, 2*M_PI*t), 2)*cyl_bessel_j(1, 2*M_PI*t) + 4.0*pow(M_PI, 3)*pow(t, 3.5)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t))*exp(0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)),
0
);
}

◆ gowdy_dtD3 [1/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
pow(t, -0.75)*(1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) - 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 0.25)*exp(M_PI*(-0.5*M_PI*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*M_PI*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.25*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*M_PI*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*M_PI*pow(cyl_bessel_j(0, 2*M_PI), 2))), 0,
0
);
}

◆ gowdy_dtD3 [2/2]

Einstein::TTwoFormType HArDCore3D::gowdy_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
pow(t, -0.75)*(1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) - 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 0.25)*exp(M_PI*(-0.5*M_PI*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*M_PI*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.25*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*M_PI*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*M_PI*pow(cyl_bessel_j(0, 2*M_PI), 2))), 0,
0
);
}

◆ gowdy_E [1/2]

Einstein::TCollection1Forms HArDCore3D::gowdy_E = {gowdy_E0, gowdy_E1, gowdy_E2, gowdy_E3}
static

◆ gowdy_E [2/2]

Einstein::TCollection1Forms HArDCore3D::gowdy_E = {gowdy_E0, gowdy_E1, gowdy_E2, gowdy_E3}
static

◆ gowdy_E0 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
-1.0*pow(M_PI, 2)*pow(t, 1.0)*sin(4*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t)
);
}

◆ gowdy_E0 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
-1.0*pow(M_PI, 2)*pow(t, 1.0)*sin(4*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t)
);
}

◆ gowdy_E1 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
pow(t, -0.25)*(-1.0*M_PI*pow(t, 1.0)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) + 0.5)*exp(M_PI*(-0.5*M_PI*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2)) + 0.5*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.25*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*M_PI*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2))) + 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)),
0,
0
);
}

◆ gowdy_E1 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
pow(t, -0.25)*(-1.0*M_PI*pow(t, 1.0)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) + 0.5)*exp(M_PI*(-0.5*M_PI*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2)) + 0.5*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.25*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*M_PI*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2))) + 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)),
0,
0
);
}

◆ gowdy_E2 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
pow(t, -0.25)*(1.0*M_PI*pow(t, 1.0)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) + 0.5)*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2)) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2))),
0
);
}

◆ gowdy_E2 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
pow(t, -0.25)*(1.0*M_PI*pow(t, 1.0)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t) + 0.5)*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2)) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2))),
0
);
}

◆ gowdy_E3 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
1.0/t*(-1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.25)
);
}

◆ gowdy_E3 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
1.0/t*(-1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cos(2*M_PI*x(2)), 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 1.0*pow(M_PI, 2)*pow(t, 2.0)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.25)
);
}

◆ gowdy_H [1/2]

Einstein::TCollection1Forms HArDCore3D::gowdy_H = {gowdy_H0, gowdy_H1, gowdy_H2, gowdy_H3}
static

◆ gowdy_H [2/2]

Einstein::TCollection1Forms HArDCore3D::gowdy_H = {gowdy_H0, gowdy_H1, gowdy_H2, gowdy_H3}
static

◆ gowdy_H0 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_H0 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_H1 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
M_PI*sqrt(t)*(-1.0*pow(t, 0.25) - 2.0*M_PI*pow(t, 1.25)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t))*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(0, 2*M_PI), 2))*sin(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t),
0
);
}

◆ gowdy_H1 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
M_PI*sqrt(t)*(-1.0*pow(t, 0.25) - 2.0*M_PI*pow(t, 1.25)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t))*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(0, 2*M_PI), 2))*sin(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t),
0
);
}

◆ gowdy_H2 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
M_PI*sqrt(t)*(-1.0*pow(t, 0.25) + 2.0*M_PI*pow(t, 1.25)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t))*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) + 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(0, 2*M_PI), 2))*sin(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t),
0,
0
);
}

◆ gowdy_H2 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
M_PI*sqrt(t)*(-1.0*pow(t, 0.25) + 2.0*M_PI*pow(t, 1.25)*cos(2*M_PI*x(2))*cyl_bessel_j(1, 2*M_PI*t))*exp(-0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(0, 2*M_PI*t), 2) - 0.5*pow(M_PI, 2)*pow(t, 2)*pow(cyl_bessel_j(1, 2*M_PI*t), 2) + 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) + 0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t) - 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(1, 2*M_PI), 2) + 0.5*pow(M_PI, 2)*pow(cyl_bessel_j(0, 2*M_PI), 2))*sin(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t),
0,
0
);
}

◆ gowdy_H3 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_H3 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_lapse [1/2]

Einstein::TZeroFormType HArDCore3D::gowdy_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return pow(t, -0.25)*exp(0.5*pow(M_PI, 2)*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2)) - 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*pow(M_PI, 2)*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2)) + 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI));
}

◆ gowdy_lapse [2/2]

Einstein::TZeroFormType HArDCore3D::gowdy_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return pow(t, -0.25)*exp(0.5*pow(M_PI, 2)*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2)) - 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*pow(M_PI, 2)*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2)) + 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI));
}

◆ gowdy_theta [1/2]

◆ gowdy_theta [2/2]

◆ gowdy_theta0 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_theta0 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ gowdy_theta1 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
sqrt(t)*exp(0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)),
0,
0
);
}

◆ gowdy_theta1 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
sqrt(t)*exp(0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)),
0,
0
);
}

◆ gowdy_theta2 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
sqrt(t)*exp(-0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)),
0
);
}

◆ gowdy_theta2 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
sqrt(t)*exp(-0.5*cos(2*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)),
0
);
}

◆ gowdy_theta3 [1/2]

Einstein::TOneFormType HArDCore3D::gowdy_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
pow(t, -0.25)*exp(M_PI*( 0.5*M_PI*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2))
-0.5*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t)
-0.5*M_PI*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2))
+ 0.25*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI)))
);
}

◆ gowdy_theta3 [2/2]

Einstein::TOneFormType HArDCore3D::gowdy_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
pow(t, -0.25)*exp(M_PI*( 0.5*M_PI*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2))
-0.5*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t)
-0.5*M_PI*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2))
+ 0.25*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI)))
);
}

◆ kasner_B [1/2]

◆ kasner_B [2/2]

◆ kasner_B0 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_B0 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_B1 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_B1 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_B2 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_B2 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_B3 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_B3 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_D [1/2]

◆ kasner_D [2/2]

◆ kasner_D0 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_D0 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_D1 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0.5*pow(t, -0.5));
}

◆ kasner_D1 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0.5*pow(t, -0.5));
}

◆ kasner_D2 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -1.3090169943749475*pow(t, 0.30901699437494745), 0);
}

◆ kasner_D2 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -1.3090169943749475*pow(t, 0.30901699437494745), 0);
}

◆ kasner_D3 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0.19098300562505255*pow(t, -0.80901699437494745), 0, 0);
}

◆ kasner_D3 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0.19098300562505255*pow(t, -0.80901699437494745), 0, 0);
}

◆ kasner_dH [1/2]

◆ kasner_dH [2/2]

◆ kasner_dH0 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_dH0 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_dH1 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_dH1 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_dH2 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_dH2 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_dH3 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_dH3 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_dtD [1/2]

◆ kasner_dtD [2/2]

◆ kasner_dtD0 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_dtD0 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_dtD1 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -0.25*pow(t, -1.5));
}

◆ kasner_dtD1 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -0.25*pow(t, -1.5));
}

◆ kasner_dtD2 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -0.40450849718747378*pow(t, -0.69098300562505255), 0);
}

◆ kasner_dtD2 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -0.40450849718747378*pow(t, -0.69098300562505255), 0);
}

◆ kasner_dtD3 [1/2]

Einstein::TTwoFormType HArDCore3D::kasner_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-0.1545084971874737*pow(t, -1.8090169943749475), 0, 0);
}

◆ kasner_dtD3 [2/2]

Einstein::TTwoFormType HArDCore3D::kasner_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-0.1545084971874737*pow(t, -1.8090169943749475), 0, 0);
}

◆ kasner_E [1/2]

◆ kasner_E [2/2]

◆ kasner_E0 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_E0 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_E1 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0.5*pow(t, -0.5), 0, 0);
}

◆ kasner_E1 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0.5*pow(t, -0.5), 0, 0);
}

◆ kasner_E2 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -0.30901699437494745*pow(t, -1.3090169943749475), 0);
}

◆ kasner_E2 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -0.30901699437494745*pow(t, -1.3090169943749475), 0);
}

◆ kasner_E3 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0.80901699437494745*pow(t, -0.19098300562505255));
}

◆ kasner_E3 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0.80901699437494745*pow(t, -0.19098300562505255));
}

◆ kasner_H [1/2]

◆ kasner_H [2/2]

◆ kasner_H0 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_H0 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_H1 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_H1 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_H2 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_H2 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_H3 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_H3 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_lapse [1/2]

Einstein::TZeroFormType HArDCore3D::kasner_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return pow(t, 1.0);
}

◆ kasner_lapse [2/2]

Einstein::TZeroFormType HArDCore3D::kasner_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return pow(t, 1.0);
}

◆ kasner_theta [1/2]

◆ kasner_theta [2/2]

◆ kasner_theta0 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_theta0 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ kasner_theta1 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(sqrt(t), 0, 0);
}

◆ kasner_theta1 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(sqrt(t), 0, 0);
}

◆ kasner_theta2 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, pow(t, -0.30901699437494745), 0);
}

◆ kasner_theta2 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, pow(t, -0.30901699437494745), 0);
}

◆ kasner_theta3 [1/2]

Einstein::TOneFormType HArDCore3D::kasner_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, pow(t, 0.80901699437494745));
}

◆ kasner_theta3 [2/2]

Einstein::TOneFormType HArDCore3D::kasner_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, pow(t, 0.80901699437494745));
}

◆ linear_B [1/2]

◆ linear_B [2/2]

◆ linear_B0 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_B0 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_B1 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-t, 0, 0);
}

◆ linear_B1 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-t, 0, 0);
}

◆ linear_B2 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -t);
}

◆ linear_B2 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -t);
}

◆ linear_B3 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, t, 0);
}

◆ linear_B3 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, t, 0);
}

◆ linear_D [1/2]

◆ linear_D [2/2]

◆ linear_D0 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(t*(t*x(0) + t*x(1) + 1)/(t*x(0) + t*x(2) + 1), t*(-t*x(0) - t*x(2) - 1)/(t*x(1) + t*x(2) + 1), t*(t*x(1) + t*x(2) + 1)/(t*x(0) + t*x(1) + 1));
}

◆ linear_D0 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(t*(t*x(0) + t*x(1) + 1)/(t*x(0) + t*x(2) + 1), t*(-t*x(0) - t*x(2) - 1)/(t*x(1) + t*x(2) + 1), t*(t*x(1) + t*x(2) + 1)/(t*x(0) + t*x(1) + 1));
}

◆ linear_D1 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 2.0*t*x(0)*x(1) + 2.0*t*x(0)*x(2) + 2.0*t*x(1)*x(2) + 2.0*t*pow(x(2), 2) + 1.0*x(0) + 1.0*x(1) + 2.0*x(2));
}

◆ linear_D1 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 2.0*t*x(0)*x(1) + 2.0*t*x(0)*x(2) + 2.0*t*x(1)*x(2) + 2.0*t*pow(x(2), 2) + 1.0*x(0) + 1.0*x(1) + 2.0*x(2));
}

◆ linear_D2 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -2.0*t*pow(x(0), 2) - 2.0*t*x(0)*x(1) - 2.0*t*x(0)*x(2) - 2.0*t*x(1)*x(2) - 2.0*x(0) - 1.0*x(1) - 1.0*x(2), 0);
}

◆ linear_D2 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -2.0*t*pow(x(0), 2) - 2.0*t*x(0)*x(1) - 2.0*t*x(0)*x(2) - 2.0*t*x(1)*x(2) - 2.0*x(0) - 1.0*x(1) - 1.0*x(2), 0);
}

◆ linear_D3 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(2.0*t*x(0)*x(1) + 2.0*t*x(0)*x(2) + 2.0*t*pow(x(1), 2) + 2.0*t*x(1)*x(2) + 1.0*x(0) + 2.0*x(1) + 1.0*x(2), 0, 0);
}

◆ linear_D3 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(2.0*t*x(0)*x(1) + 2.0*t*x(0)*x(2) + 2.0*t*pow(x(1), 2) + 2.0*t*x(1)*x(2) + 1.0*x(0) + 2.0*x(1) + 1.0*x(2), 0, 0);
}

◆ linear_dE [1/2]

◆ linear_dE [2/2]

◆ linear_dE0 [1/2]

Einstein::TOneFormType HArDCore3D::linear_dE0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_dE0 [2/2]

Einstein::TOneFormType HArDCore3D::linear_dE0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_dE1 [1/2]

Einstein::TOneFormType HArDCore3D::linear_dE1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-1.0, 0, 0);
}

◆ linear_dE1 [2/2]

Einstein::TOneFormType HArDCore3D::linear_dE1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-1.0, 0, 0);
}

◆ linear_dE2 [1/2]

Einstein::TOneFormType HArDCore3D::linear_dE2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -1.0);
}

◆ linear_dE2 [2/2]

Einstein::TOneFormType HArDCore3D::linear_dE2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -1.0);
}

◆ linear_dE3 [1/2]

Einstein::TOneFormType HArDCore3D::linear_dE3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 1.0, 0);
}

◆ linear_dE3 [2/2]

Einstein::TOneFormType HArDCore3D::linear_dE3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 1.0, 0);
}

◆ linear_dH [1/2]

◆ linear_dH [2/2]

◆ linear_dH0 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_dH0 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_dH1 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(pow(t, 2)/pow(t*x(0) + t*x(2) + 1, 2), 0, -pow(t, 2)/(pow(t, 2)*pow(x(0), 2) + 2*pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(0) + 2*t*x(2) + 1));
}

◆ linear_dH1 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(pow(t, 2)/pow(t*x(0) + t*x(2) + 1, 2), 0, -pow(t, 2)/(pow(t, 2)*pow(x(0), 2) + 2*pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(0) + 2*t*x(2) + 1));
}

◆ linear_dH2 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, pow(t, 2)/(pow(t, 2)*pow(x(0), 2) + 2*pow(t, 2)*x(0)*x(1) + pow(t, 2)*pow(x(1), 2) + 2*t*x(0) + 2*t*x(1) + 1), pow(t, 2)/pow(t*x(0) + t*x(1) + 1, 2));
}

◆ linear_dH2 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, pow(t, 2)/(pow(t, 2)*pow(x(0), 2) + 2*pow(t, 2)*x(0)*x(1) + pow(t, 2)*pow(x(1), 2) + 2*t*x(0) + 2*t*x(1) + 1), pow(t, 2)/pow(t*x(0) + t*x(1) + 1, 2));
}

◆ linear_dH3 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-pow(t, 2)/(pow(t, 2)*pow(x(1), 2) + 2*pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(1) + 2*t*x(2) + 1), pow(t, 2)*(-t*(x(0) + x(1)) - 1)/((t*x(0) + t*x(1) + 1)*pow(t*x(1) + t*x(2) + 1, 2)), 0);
}

◆ linear_dH3 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-pow(t, 2)/(pow(t, 2)*pow(x(1), 2) + 2*pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(1) + 2*t*x(2) + 1), pow(t, 2)*(-t*(x(0) + x(1)) - 1)/((t*x(0) + t*x(1) + 1)*pow(t*x(1) + t*x(2) + 1, 2)), 0);
}

◆ linear_dtB [1/2]

◆ linear_dtB [2/2]

◆ linear_dtB0 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dtB0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_dtB0 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dtB0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_dtB1 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dtB1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-1, 0, 0);
}

◆ linear_dtB1 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dtB1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-1, 0, 0);
}

◆ linear_dtB2 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dtB2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -1);
}

◆ linear_dtB2 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dtB2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -1);
}

◆ linear_dtB3 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dtB3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 1, 0);
}

◆ linear_dtB3 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dtB3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 1, 0);
}

◆ linear_dtD [1/2]

◆ linear_dtD [2/2]

◆ linear_dtD0 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

Not calculated since not needed.

◆ linear_dtD0 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

Not calculated since not needed.

◆ linear_dtD1 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 2.0*x(0)*x(1) + 2.0*x(0)*x(2) + 2.0*x(1)*x(2) + 2.0*pow(x(2), 2));
}

◆ linear_dtD1 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 2.0*x(0)*x(1) + 2.0*x(0)*x(2) + 2.0*x(1)*x(2) + 2.0*pow(x(2), 2));
}

◆ linear_dtD2 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -2.0*pow(x(0), 2) - 2.0*x(0)*x(1) - 2.0*x(0)*x(2) - 2.0*x(1)*x(2), 0);
}

◆ linear_dtD2 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -2.0*pow(x(0), 2) - 2.0*x(0)*x(1) - 2.0*x(0)*x(2) - 2.0*x(1)*x(2), 0);
}

◆ linear_dtD3 [1/2]

Einstein::TTwoFormType HArDCore3D::linear_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(2.0*x(0)*x(1) + 2.0*x(0)*x(2) + 2.0*pow(x(1), 2) + 2.0*x(1)*x(2), 0, 0);
}

◆ linear_dtD3 [2/2]

Einstein::TTwoFormType HArDCore3D::linear_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(2.0*x(0)*x(1) + 2.0*x(0)*x(2) + 2.0*pow(x(1), 2) + 2.0*x(1)*x(2), 0, 0);
}

◆ linear_E [1/2]

◆ linear_E [2/2]

◆ linear_E0 [1/2]

Einstein::TOneFormType HArDCore3D::linear_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

This is E0 = 1/N dN.

◆ linear_E0 [2/2]

Einstein::TOneFormType HArDCore3D::linear_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

This is E0 = 1/N dN.

◆ linear_E1 [1/2]

Einstein::TOneFormType HArDCore3D::linear_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(1.0*x(0) + 1.0*x(1), 0, 0);
}

◆ linear_E1 [2/2]

Einstein::TOneFormType HArDCore3D::linear_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(1.0*x(0) + 1.0*x(1), 0, 0);
}

◆ linear_E2 [1/2]

Einstein::TOneFormType HArDCore3D::linear_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 1.0*x(1) + 1.0*x(2), 0);
}

◆ linear_E2 [2/2]

Einstein::TOneFormType HArDCore3D::linear_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 1.0*x(1) + 1.0*x(2), 0);
}

◆ linear_E3 [1/2]

Einstein::TOneFormType HArDCore3D::linear_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 1.0*x(0) + 1.0*x(2));
}

◆ linear_E3 [2/2]

Einstein::TOneFormType HArDCore3D::linear_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 1.0*x(0) + 1.0*x(2));
}

◆ linear_H [1/2]

◆ linear_H [2/2]

◆ linear_H0 [1/2]

Einstein::TOneFormType HArDCore3D::linear_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_H0 [2/2]

Einstein::TOneFormType HArDCore3D::linear_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_H1 [1/2]

Einstein::TOneFormType HArDCore3D::linear_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -t/(t*x(0) + t*x(2) + 1), 0);
}

◆ linear_H1 [2/2]

Einstein::TOneFormType HArDCore3D::linear_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -t/(t*x(0) + t*x(2) + 1), 0);
}

◆ linear_H2 [1/2]

Einstein::TOneFormType HArDCore3D::linear_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -t/(t*x(0) + t*x(1) + 1));
}

◆ linear_H2 [2/2]

Einstein::TOneFormType HArDCore3D::linear_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -t/(t*x(0) + t*x(1) + 1));
}

◆ linear_H3 [1/2]

Einstein::TOneFormType HArDCore3D::linear_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-t/(t*x(1) + t*x(2) + 1), 0, 0);
}

◆ linear_H3 [2/2]

Einstein::TOneFormType HArDCore3D::linear_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(-t/(t*x(1) + t*x(2) + 1), 0, 0);
}

◆ linear_lapse [1/2]

Einstein::TZeroFormType HArDCore3D::linear_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return pow(t, 3)*pow(x(0), 2)*x(1) + pow(t, 3)*pow(x(0), 2)*x(2) + pow(t, 3)*x(0)*pow(x(1), 2) + 2*pow(t, 3)*x(0)*x(1)*x(2) + pow(t, 3)*x(0)*pow(x(2), 2) + pow(t, 3)*pow(x(1), 2)*x(2) + pow(t, 3)*x(1)*pow(x(2), 2) + pow(t, 2)*pow(x(0), 2) + 3*pow(t, 2)*x(0)*x(1) + 3*pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(1), 2) + 3*pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(0) + 2*t*x(1) + 2*t*x(2) + 1;
}

◆ linear_lapse [2/2]

Einstein::TZeroFormType HArDCore3D::linear_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return pow(t, 3)*pow(x(0), 2)*x(1) + pow(t, 3)*pow(x(0), 2)*x(2) + pow(t, 3)*x(0)*pow(x(1), 2) + 2*pow(t, 3)*x(0)*x(1)*x(2) + pow(t, 3)*x(0)*pow(x(2), 2) + pow(t, 3)*pow(x(1), 2)*x(2) + pow(t, 3)*x(1)*pow(x(2), 2) + pow(t, 2)*pow(x(0), 2) + 3*pow(t, 2)*x(0)*x(1) + 3*pow(t, 2)*x(0)*x(2) + pow(t, 2)*pow(x(1), 2) + 3*pow(t, 2)*x(1)*x(2) + pow(t, 2)*pow(x(2), 2) + 2*t*x(0) + 2*t*x(1) + 2*t*x(2) + 1;
}

◆ linear_theta [1/2]

◆ linear_theta [2/2]

◆ linear_theta0 [1/2]

Einstein::TOneFormType HArDCore3D::linear_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_theta0 [2/2]

Einstein::TOneFormType HArDCore3D::linear_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ linear_theta1 [1/2]

Einstein::TOneFormType HArDCore3D::linear_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(t*(x(0) + x(1)) + 1, 0, 0);
}

◆ linear_theta1 [2/2]

Einstein::TOneFormType HArDCore3D::linear_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(t*(x(0) + x(1)) + 1, 0, 0);
}

◆ linear_theta2 [1/2]

Einstein::TOneFormType HArDCore3D::linear_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, t*(x(1) + x(2)) + 1, 0);
}

◆ linear_theta2 [2/2]

Einstein::TOneFormType HArDCore3D::linear_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, t*(x(1) + x(2)) + 1, 0);
}

◆ linear_theta3 [1/2]

Einstein::TOneFormType HArDCore3D::linear_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, t*(x(0) + x(2)) + 1);
}

◆ linear_theta3 [2/2]

Einstein::TOneFormType HArDCore3D::linear_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, t*(x(0) + x(2)) + 1);
}

◆ minkowski_B [1/2]

◆ minkowski_B [2/2]

◆ minkowski_B0 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_B0 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_B1 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_B1 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_B2 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_B2 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_B3 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_B3 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_D [1/2]

◆ minkowski_D [2/2]

◆ minkowski_D0 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_D0 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_D1 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_D1 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_D2 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_D2 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_D3 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_D3 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dE [1/2]

◆ minkowski_dE [2/2]

◆ minkowski_dE0 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dE0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dE0 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dE0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dE1 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dE1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dE1 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dE1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dE2 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dE2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dE2 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dE2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dE3 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dE3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dE3 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dE3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dH [1/2]

◆ minkowski_dH [2/2]

◆ minkowski_dH0 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dH0 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dH1 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dH1 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dH2 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dH2 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dH3 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dH3 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtB [1/2]

◆ minkowski_dtB [2/2]

◆ minkowski_dtB0 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtB0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtB0 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtB0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtB1 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtB1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtB1 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtB1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtB2 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtB2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtB2 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtB2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtB3 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtB3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtB3 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtB3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtD [1/2]

◆ minkowski_dtD [2/2]

◆ minkowski_dtD0 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtD0 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtD1 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtD1 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtD2 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtD2 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtD3 [1/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_dtD3 [2/2]

Einstein::TTwoFormType HArDCore3D::minkowski_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_E [1/2]

◆ minkowski_E [2/2]

◆ minkowski_E0 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_E0 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_E1 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_E1 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_E2 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_E2 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_E3 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_E3 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_H [1/2]

◆ minkowski_H [2/2]

◆ minkowski_H0 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_H0 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_H1 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_H1 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_H2 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_H2 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_H3 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_H3 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_lapse [1/2]

Einstein::TZeroFormType HArDCore3D::minkowski_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return 1.0;
}

◆ minkowski_lapse [2/2]

Einstein::TZeroFormType HArDCore3D::minkowski_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return 1.0;
}

◆ minkowski_theta [1/2]

◆ minkowski_theta [2/2]

◆ minkowski_theta0 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_theta0 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
0
);
}

◆ minkowski_theta1 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
1.,
0,
0
);
}

◆ minkowski_theta1 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
1.,
0,
0
);
}

◆ minkowski_theta2 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
1.,
0
);
}

◆ minkowski_theta2 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
1.,
0
);
}

◆ minkowski_theta3 [1/2]

Einstein::TOneFormType HArDCore3D::minkowski_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
1.
);
}

◆ minkowski_theta3 [2/2]

Einstein::TOneFormType HArDCore3D::minkowski_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(
0,
0,
1.
);
}

◆ PI [1/2]

const double HArDCore3D::PI = boost::math::constants::pi<double>()
static

◆ PI [2/2]

const double HArDCore3D::PI = boost::math::constants::pi<double>()
static

◆ test_B [1/2]

Einstein::TCollection2Forms HArDCore3D::test_B = {test_B0, test_B1, test_B2, test_B3}
static

◆ test_B [2/2]

Einstein::TCollection2Forms HArDCore3D::test_B = {test_B0, test_B1, test_B2, test_B3}
static

◆ test_B0 [1/2]

Einstein::TTwoFormType HArDCore3D::test_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_B0 [2/2]

Einstein::TTwoFormType HArDCore3D::test_B0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_B1 [1/2]

Einstein::TTwoFormType HArDCore3D::test_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_B1 [2/2]

Einstein::TTwoFormType HArDCore3D::test_B1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_B2 [1/2]

Einstein::TTwoFormType HArDCore3D::test_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_B2 [2/2]

Einstein::TTwoFormType HArDCore3D::test_B2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_B3 [1/2]

Einstein::TTwoFormType HArDCore3D::test_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_B3 [2/2]

Einstein::TTwoFormType HArDCore3D::test_B3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_D [1/2]

Einstein::TCollection2Forms HArDCore3D::test_D = {test_D0, test_D1, test_D2, test_D3}
static

◆ test_D [2/2]

Einstein::TCollection2Forms HArDCore3D::test_D = {test_D0, test_D1, test_D2, test_D3}
static

◆ test_D0 [1/2]

Einstein::TTwoFormType HArDCore3D::test_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_D0 [2/2]

Einstein::TTwoFormType HArDCore3D::test_D0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_D1 [1/2]

Einstein::TTwoFormType HArDCore3D::test_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_D1 [2/2]

Einstein::TTwoFormType HArDCore3D::test_D1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_D2 [1/2]

Einstein::TTwoFormType HArDCore3D::test_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_D2 [2/2]

Einstein::TTwoFormType HArDCore3D::test_D2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_D3 [1/2]

Einstein::TTwoFormType HArDCore3D::test_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_D3 [2/2]

Einstein::TTwoFormType HArDCore3D::test_D3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dE [1/2]

Einstein::TCollection1Forms HArDCore3D::test_dE = {test_dE0, test_dE1, test_dE2, test_dE3}
static

◆ test_dE [2/2]

Einstein::TCollection1Forms HArDCore3D::test_dE = {test_dE0, test_dE1, test_dE2, test_dE3}
static

◆ test_dE0 [1/2]

Einstein::TOneFormType HArDCore3D::test_dE0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dE0 [2/2]

Einstein::TOneFormType HArDCore3D::test_dE0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dE1 [1/2]

Einstein::TOneFormType HArDCore3D::test_dE1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dE1 [2/2]

Einstein::TOneFormType HArDCore3D::test_dE1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dE2 [1/2]

Einstein::TOneFormType HArDCore3D::test_dE2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dE2 [2/2]

Einstein::TOneFormType HArDCore3D::test_dE2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dE3 [1/2]

Einstein::TOneFormType HArDCore3D::test_dE3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dE3 [2/2]

Einstein::TOneFormType HArDCore3D::test_dE3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dH [1/2]

Einstein::TCollection2Forms HArDCore3D::test_dH = {test_dH0, test_dH1, test_dH2, test_dH3}
static

◆ test_dH [2/2]

Einstein::TCollection2Forms HArDCore3D::test_dH = {test_dH0, test_dH1, test_dH2, test_dH3}
static

◆ test_dH0 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dH0 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dH0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dH1 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 4.0*pow(M_PI, 3)*pow(t, 1.0)*(-pow(sin(2*M_PI*x(2)), 2) + pow(cos(2*M_PI*x(2)), 2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t));
}

◆ test_dH1 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dH1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 4.0*pow(M_PI, 3)*pow(t, 1.0)*(-pow(sin(2*M_PI*x(2)), 2) + pow(cos(2*M_PI*x(2)), 2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t));
}

◆ test_dH2 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 4.0*pow(M_PI, 3)*pow(t, 1.0)*(pow(sin(2*M_PI*x(2)), 2) - pow(cos(2*M_PI*x(2)), 2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t), 0);
}

◆ test_dH2 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dH2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 4.0*pow(M_PI, 3)*pow(t, 1.0)*(pow(sin(2*M_PI*x(2)), 2) - pow(cos(2*M_PI*x(2)), 2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t), 0);
}

◆ test_dH3 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dH3 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dH3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtB [1/2]

◆ test_dtB [2/2]

◆ test_dtB0 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dtB0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtB0 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dtB0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtB1 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dtB1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtB1 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dtB1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtB2 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dtB2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtB2 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dtB2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtB3 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dtB3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtB3 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dtB3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtD [1/2]

◆ test_dtD [2/2]

◆ test_dtD0 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtD0 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dtD0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtD1 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtD1 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dtD1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtD2 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtD2 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dtD2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtD3 [1/2]

Einstein::TTwoFormType HArDCore3D::test_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_dtD3 [2/2]

Einstein::TTwoFormType HArDCore3D::test_dtD3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_E [1/2]

Einstein::TCollection1Forms HArDCore3D::test_E = {test_E0, test_E1, test_E2, test_E3}
static

◆ test_E [2/2]

Einstein::TCollection1Forms HArDCore3D::test_E = {test_E0, test_E1, test_E2, test_E3}
static

◆ test_E0 [1/2]

Einstein::TOneFormType HArDCore3D::test_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -1.0*pow(M_PI, 2)*pow(t, 1.0)*sin(4*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t));
}

◆ test_E0 [2/2]

Einstein::TOneFormType HArDCore3D::test_E0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, -1.0*pow(M_PI, 2)*pow(t, 1.0)*sin(4*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t));
}

◆ test_E1 [1/2]

Einstein::TOneFormType HArDCore3D::test_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_E1 [2/2]

Einstein::TOneFormType HArDCore3D::test_E1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_E2 [1/2]

Einstein::TOneFormType HArDCore3D::test_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_E2 [2/2]

Einstein::TOneFormType HArDCore3D::test_E2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_E3 [1/2]

Einstein::TOneFormType HArDCore3D::test_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_E3 [2/2]

Einstein::TOneFormType HArDCore3D::test_E3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_H [1/2]

Einstein::TCollection1Forms HArDCore3D::test_H = {test_H0, test_H1, test_H2, test_H3}
static

◆ test_H [2/2]

Einstein::TCollection1Forms HArDCore3D::test_H = {test_H0, test_H1, test_H2, test_H3}
static

◆ test_H0 [1/2]

Einstein::TOneFormType HArDCore3D::test_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_H0 [2/2]

Einstein::TOneFormType HArDCore3D::test_H0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_H1 [1/2]

Einstein::TOneFormType HArDCore3D::test_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -1.0*pow(M_PI, 2)*pow(t, 1.0)*sin(4*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t), 0);
}

◆ test_H1 [2/2]

Einstein::TOneFormType HArDCore3D::test_H1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, -1.0*pow(M_PI, 2)*pow(t, 1.0)*sin(4*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t), 0);
}

◆ test_H2 [1/2]

Einstein::TOneFormType HArDCore3D::test_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(1.0*pow(M_PI, 2)*pow(t, 1.0)*sin(4*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t), 0, 0);
}

◆ test_H2 [2/2]

Einstein::TOneFormType HArDCore3D::test_H2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(1.0*pow(M_PI, 2)*pow(t, 1.0)*sin(4*M_PI*x(2))*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t), 0, 0);
}

◆ test_H3 [1/2]

Einstein::TOneFormType HArDCore3D::test_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_H3 [2/2]

Einstein::TOneFormType HArDCore3D::test_H3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_lapse [1/2]

Einstein::TZeroFormType HArDCore3D::test_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return pow(t, -0.25)*exp(0.5*pow(M_PI, 2)*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2)) - 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*pow(M_PI, 2)*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2)) + 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI));
}

◆ test_lapse [2/2]

Einstein::TZeroFormType HArDCore3D::test_lapse
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> double {
return pow(t, -0.25)*exp(0.5*pow(M_PI, 2)*pow(t, 2)*(pow(cyl_bessel_j(0, 2*M_PI*t), 2) + pow(cyl_bessel_j(1, 2*M_PI*t), 2)) - 0.5*M_PI*t*pow(cos(2*M_PI*x(2)), 2)*cyl_bessel_j(0, 2*M_PI*t)*cyl_bessel_j(1, 2*M_PI*t) - 0.5*pow(M_PI, 2)*(pow(cyl_bessel_j(1, 2*M_PI), 2) + pow(cyl_bessel_j(0, 2*M_PI), 2)) + 0.25*M_PI*cyl_bessel_j(0, 2*M_PI)*cyl_bessel_j(1, 2*M_PI));
}

◆ test_theta [1/2]

◆ test_theta [2/2]

◆ test_theta0 [1/2]

Einstein::TOneFormType HArDCore3D::test_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_theta0 [2/2]

Einstein::TOneFormType HArDCore3D::test_theta0
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 0);
}

◆ test_theta1 [1/2]

Einstein::TOneFormType HArDCore3D::test_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(1, 0, 0);
}

◆ test_theta1 [2/2]

Einstein::TOneFormType HArDCore3D::test_theta1
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(1, 0, 0);
}

◆ test_theta2 [1/2]

Einstein::TOneFormType HArDCore3D::test_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 1, 0);
}

◆ test_theta2 [2/2]

Einstein::TOneFormType HArDCore3D::test_theta2
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 1, 0);
}

◆ test_theta3 [1/2]

Einstein::TOneFormType HArDCore3D::test_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 1);
}

◆ test_theta3 [2/2]

Einstein::TOneFormType HArDCore3D::test_theta3
static
Initial value:
= [](const double t, const Eigen::Vector3d & x) -> Eigen::Vector3d {
return Eigen::Vector3d(0, 0, 1);
}