35 #ifndef NEKTAR_MESHUTILS_SURFACEMESHING_CURVEMESH_H 36 #define NEKTAR_MESHUTILS_SURFACEMESHING_CURVEMESH_H 48 namespace NekMeshUtils
81 void Mesh(
bool forceThree =
false);
175 std::vector<std::vector<NekDouble> >
m_dst;
177 std::vector<std::vector<NekDouble> >
m_ps;
void GetSampleFunction()
get node spacing sampling function
NekDouble GetLength()
get the length of the curve
Array< OneD, NekDouble > m_bounds
coords of the ends of the parametric curve
LibUtilities::Interpreter m_bl
int DefineFunction(const std::string &vlist, const std::string &expr)
Defines a function for the purposes of evaluation.
int m_numSamplePoints
number of sampling points used in algorithm
std::vector< std::vector< NekDouble > > m_ps
array of function ps evaluations
std::map< unsigned, NekDouble > m_endoffset
offset of second point at each end
CurveMesh(int id, MeshSharedPtr m, std::string expr="0.0")
default constructor
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
NekDouble Ae
spacing function evaluation
class for meshing individual curves (1d meshing)
std::shared_ptr< Mesh > MeshSharedPtr
Shared pointer to a mesh.
std::shared_ptr< Node > NodeSharedPtr
std::vector< EdgeSharedPtr > m_meshedges
list of mesh edges in the curvemesh
std::vector< EdgeSharedPtr > GetMeshEdges()
int m_id
id of the curvemesh
void ReMesh()
Delete old mesh and mesh with forceThree on.
std::vector< NodeSharedPtr > GetMeshPoints()
get list of mesh nodes
std::shared_ptr< CADCurve > CADCurveSharedPtr
int Ne
number of edges to be made in the curve as defined by the spacing funtion
std::vector< NodeSharedPtr > m_meshpoints
ids of the mesh nodes
int GetNumPoints()
get the number of points in the curve
CADCurveSharedPtr m_cadcurve
CAD curve.
void SetOffset(unsigned i, NekDouble offset)
NodeSharedPtr GetLastPoint()
get id of last node
Interpreter class for the evaluation of mathematical expressions.
NodeSharedPtr GetFirstPoint()
get id of first node
void Mesh(bool forceThree=false)
execute meshing
void GetPhiFunction()
get node spacing phi function
CurveMesh(int id, MeshSharedPtr m, std::vector< NodeSharedPtr > ns)
NekDouble m_curvelength
length of the curve in real space
NekDouble EvaluateDS(NekDouble s)
evaluate paramter ds at curve location s
std::shared_ptr< CurveMesh > CurveMeshSharedPtr
NekDouble EvaluatePS(NekDouble s)
evaluate paramter ps at curve location s
std::vector< std::vector< NekDouble > > m_dst
array of function ds evaluations
std::vector< NekDouble > meshsvalue
paramteric coordiates of the mesh nodes
void PeriodicOverwrite(CurveMeshSharedPtr from)