HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Loading...
Searching...
No Matches
Macros | Typedefs | Functions | Variables
basis-test.cpp File Reference
#include <iostream>
#include <fstream>
#include <iomanip>
#include <boost/math/constants/constants.hpp>
#include <boost/program_options.hpp>
#include <boost/timer/timer.hpp>
#include <mesh.hpp>
#include <basis.hpp>
#include "l2projection.hpp"
Include dependency graph for basis-test.cpp:

Macros

#define FORMAT(W)    std::setiosflags(std::ios_base::left) << std::setw(W) << std::setfill(' ')
 

Typedefs

typedef Family< MonomialScalarBasisCellPkTBasisType
 
typedef TensorizedVectorFamily< PkTBasisType, 2 > Pk2TBasisType
 
typedef Family< GradientBasis< ShiftedBasis< MonomialScalarBasisCell > > > GkTBasisType
 
typedef CurlBasis< ShiftedBasis< MonomialScalarBasisCell > > RkTBasisType
 
typedef RolyComplBasisCell RckTBasisType
 
typedef GolyComplBasisCell GckTBasisType
 

Functions

int main (int argc, const char *argv[])
 

Variables

const std::string mesh_dir = "../../typ2_meshes/"
 
std::string default_mesh = mesh_dir + "hexa1_3.typ2"
 
static const double PI = boost::math::constants::pi<double>()
 
static auto q
 
static auto grad_q
 
static auto rot_q
 
static auto tau
 
static auto tau_transpose
 
static auto tau_symmetry
 
static auto div_tau
 

Macro Definition Documentation

◆ FORMAT

#define FORMAT (   W)     std::setiosflags(std::ios_base::left) << std::setw(W) << std::setfill(' ')

Typedef Documentation

◆ GckTBasisType

◆ GkTBasisType

◆ Pk2TBasisType

◆ PkTBasisType

◆ RckTBasisType

◆ RkTBasisType

Function Documentation

◆ main()

int main ( int  argc,
const char *  argv[] 
)

Variable Documentation

◆ default_mesh

std::string default_mesh = mesh_dir + "hexa1_3.typ2"

◆ div_tau

auto div_tau
static
Initial value:
= [](const Eigen::Vector2d & x) -> Eigen::Vector2d {
Eigen::Vector2d V;
V(0) = PI*cos(PI*x(0))*sin(PI*x(1)) - PI*sin(PI*x(0))*sin(PI*x(1));
V(1) = -PI*sin(PI*x(0))*sin(PI*x(1)) - PI*cos(PI*x(0))*sin(PI*x(1));
return V;
}
static const double PI
Definition ddr-klplate.hpp:187

◆ grad_q

auto grad_q
static
Initial value:
= [](const Eigen::Vector2d & x) -> Eigen::Vector2d {
return PI * Eigen::Vector2d(
cos(PI * x(0)) * sin(PI * x(1)),
sin(PI * x(0)) * cos(PI * x(1))
);
}

◆ mesh_dir

const std::string mesh_dir = "../../typ2_meshes/"

◆ PI

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

◆ q

auto q
static
Initial value:
= [](const Eigen::Vector2d & x) -> double {
return sin(PI * x(0)) * sin(PI * x(1));
}

◆ rot_q

auto rot_q
static
Initial value:
= [](const Eigen::Vector2d & x) -> Eigen::Vector2d {
return PI * Eigen::Vector2d(
- sin(PI * x(0)) * cos(PI * x(1)),
cos(PI * x(0)) * sin(PI * x(1))
);
}

◆ tau

auto tau
static
Initial value:
= [](const Eigen::Vector2d & x) -> Eigen::Matrix2d {
Eigen::Matrix2d Mat;
Mat.row(0) << sin(PI*x(0))*sin(PI*x(1)), sin(PI*x(0))*cos(PI*x(1));
Mat.row(1) << cos(PI*x(0))*sin(PI*x(1)), cos(PI*x(0))*cos(PI*x(1));
return Mat;
}

◆ tau_symmetry

auto tau_symmetry
static
Initial value:
= [](const Eigen::Vector2d & x) -> Eigen::Matrix2d {
return (tau(x)+tau_transpose(x))/2;
}
static auto tau_transpose
Definition basis-test.cpp:78
static auto tau
Definition basis-test.cpp:71

◆ tau_transpose

auto tau_transpose
static
Initial value:
= [](const Eigen::Vector2d & x) -> Eigen::Matrix2d {
return tau(x).transpose();
}