DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
Elements.hpp File Reference
#include <type_traits>
#include <cstdint>
#include <array>
#include <tuple>
#include "DNDS/HardEigen.hpp"
#include "DNDS/Defines.hpp"
#include "Geometric.hpp"
#include "BaseFunction.hpp"
#include "ElemEnum.hpp"
#include "ElementTraits.hpp"
#include "Geom/Elements/Line2.hpp"
#include "Geom/Elements/Line3.hpp"
#include "Geom/Elements/Tri3.hpp"
#include "Geom/Elements/Tri6.hpp"
#include "Geom/Elements/Quad4.hpp"
#include "Geom/Elements/Quad9.hpp"
#include "Geom/Elements/Tet4.hpp"
#include "Geom/Elements/Tet10.hpp"
#include "Geom/Elements/Hex8.hpp"
#include "Geom/Elements/Hex27.hpp"
#include "Geom/Elements/Prism6.hpp"
#include "Geom/Elements/Prism18.hpp"
#include "Geom/Elements/Pyramid5.hpp"
#include "Geom/Elements/Pyramid14.hpp"
Include dependency graph for Elements.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  DNDS::Geom::Elem::Element
 

Namespaces

namespace  DNDS
 the host side operators are provided as implemented
 
namespace  DNDS::Geom
 
namespace  DNDS::Geom::Elem
 

Typedefs

using DNDS::Geom::Elem::tNj = Eigen::RowVector< t_real, Eigen::Dynamic >
 
using DNDS::Geom::Elem::tD1Nj = Eigen::Matrix< t_real, 3, Eigen::Dynamic >
 
using DNDS::Geom::Elem::tD01Nj = Eigen::Matrix< t_real, 4, Eigen::Dynamic >
 
using DNDS::Geom::Elem::tDiNj = Eigen::Matrix< t_real, Eigen::Dynamic, Eigen::Dynamic >
 

Functions

DNDS_DEVICE_CALLABLE constexpr ParamSpace DNDS::Geom::Elem::ElemType_to_ParamSpace (const ElemType t)
 
DNDS_DEVICE_CALLABLE constexpr ElemType DNDS::Geom::Elem::GetFaceType (ElemType t_v, t_index iFace)
 
DNDS_DEVICE_CALLABLE constexpr t_real DNDS::Geom::Elem::ParamSpaceVol (ParamSpace ps)
 
DNDS_DEVICE_CALLABLE constexpr int DNDS::Geom::Elem::GetElemElevation_O1O2_NumNode (ElemType t)
 
DNDS_DEVICE_CALLABLE constexpr ElemType DNDS::Geom::Elem::GetElemElevation_O1O2_ElevatedType (ElemType t)
 
DNDS_DEVICE_CALLABLE constexpr ElemType DNDS::Geom::Elem::GetElemElevation_O1O2_NodeSpanType (ElemType t, t_index ine)
 
DNDS_DEVICE_CALLABLE constexpr ElemType DNDS::Geom::Elem::GetElemO1 (ParamSpace ps)
 
DNDS_DEVICE_CALLABLE constexpr t_index DNDS::Geom::Elem::GetO2ElemBisectNum (ElemType t)
 
DNDS_DEVICE_CALLABLE constexpr ElemType DNDS::Geom::Elem::GetO2ElemBisectElem (ElemType t, t_index i)
 
template<int diffOrder, class TPoint , class TArray >
DNDS_DEVICE_CALLABLE void DNDS::Geom::Elem::ShapeFunc_DiNj (ElemType t, const TPoint &p, TArray &&v)
 Dispatch to per-element shape function code via ShapeFuncImpl<T>.
 
Eigen::Matrix< t_real, 3, Eigen::Dynamic > DNDS::Geom::Elem::GetStandardCoord (ElemType t)
 
bool DNDS::Geom::Elem::cellsAreFaceConnected (const std::vector< DNDS::index > &nodes_A, const std::vector< DNDS::index > &nodes_B, Element eA, Element eB)
 
bool DNDS::Geom::Elem::cellsAreFaceConnected (const std::vector< DNDS::index > &verts_A, const std::vector< DNDS::index > &nodes_B)
 
template<class tCoordsIn >
tJacobi DNDS::Geom::Elem::ShapeJacobianCoordD01Nj (const tCoordsIn &cs, Eigen::Ref< const tD01Nj > DiNj)
 
template<class tCoordsIn >
tPoint DNDS::Geom::Elem::PPhysicsCoordD01Nj (const tCoordsIn &cs, Eigen::Ref< const tD01Nj > DiNj)
 
template<int dim>
real DNDS::Geom::Elem::JacobiDetFace (Eigen::Ref< const tJacobi > J)
 
tPoint DNDS::Geom::Elem::GetElemNodeMajorSpan (const tSmallCoords &coords)
 
t_index DNDS::Geom::Elem::GetO2ElemBisectVariant (Element e, const tSmallCoords &coords)
 
template<class TIn >
std::pair< int, std::vector< index > > DNDS::Geom::Elem::ToVTKVertsAndData (Element e, const TIn &vin)