Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
FEDD::Mesh< SC, LO, GO, NO > Class Template Reference

Public Types

typedef Elements Elements_Type
 
typedef FiniteElement FiniteElement_Type
 
typedef Teuchos::RCP< FiniteElement_TypeFiniteElementPtr_Type
 
typedef Teuchos::RCP< Elements_TypeElementsPtr_Type
 
typedef Teuchos::RCP< MeshMesh_ptr_Type
 
typedef Teuchos::RCP< Teuchos::Comm< int > > CommPtr_Type
 
typedef Teuchos::RCP< const Teuchos::Comm< int > > CommConstPtr_Type
 
typedef const CommConstPtr_Type CommConstPtrConst_Type
 
typedef Map< LO, GO, NO > Map_Type
 
typedef Teuchos::RCP< Map_TypeMapPtr_Type
 
typedef Teuchos::RCP< const Map_TypeMapConstPtr_Type
 
typedef Teuchos::RCP< const Map_TypeMapConstPtrConst_Type
 
typedef MultiVector< SC, LO, GO, NO > MultiVector_Type
 
typedef Teuchos::RCP< MultiVector_TypeMultiVectorPtr_Type
 
typedef AABBTree< SC, LO, GO, NO > AABBTree_Type
 
typedef Teuchos::RCP< AABBTree_TypeAABBTreePtr_Type
 

Public Member Functions

 Mesh (CommConstPtrConst_Type &comm)
 
void deleteData ()
 
void setParameterList (ParameterListPtr_Type &pL)
 Setting input parameterlist to be parameterlist here.
 
ParameterListConstPtr_Type getParameterList () const
 Getter for paramaeterlist that is set here.
 
vec_int_ptr_Type getElementsFlag () const
 Getter for element flags.
 
MapConstPtr_Type getMapUnique () const
 Getter for unique node map.
 
MapConstPtr_Type getMapRepeated () const
 Getter for repeated node mal.
 
MapConstPtr_Type getElementMap () const
 Getter for element map.
 
MapConstPtr_Type getEdgeMap ()
 Getter for edge map.
 
vec2D_dbl_ptr_Type getPointsRepeated () const
 getter for list of repeated points with x,y,z coordinates in each row
 
vec2D_dbl_ptr_Type getPointsUnique () const
 getter for list of unique points with x,y,z coordinates in each row
 
vec_int_ptr_Type getBCFlagRepeated () const
 Getter for flags corresponting to repeated points.
 
vec_int_ptr_Type getBCFlagUnique () const
 Getter for flags corresponting to unique points.
 
ElementsPtr_Type getElementsC ()
 Returns element list as c-object.
 
ElementsPtr_Type getSurfaceElements ()
 Getter for surface elements. Probably set in mesh partitioner. They are generally the dim-1 surface elements.
 
int getDimension ()
 
GO getNumElementsGlobal ()
 Global number of elements.
 
LO getNumElements ()
 Local number of elements.
 
LO getNumPoints (std::string type="Unique")
 Get local (LO) number of points either in unique or repeated version.
 
int getOrderElement ()
 
CommConstPtrConst_Type getComm ()
 Communicator object.
 
int setStructuredMeshFlags (int flags)
 This is done in meshStructured. Maybe we should move it here or delete this.
 
void setElementFlags (std::string type="")
 Something for TPM. Can be deprecated soon.
 
void setReferenceConfiguration ()
 Setting current coordinates as reference configuration. Should only be called once :D.
 
void moveMesh (MultiVectorPtr_Type displacementUnique, MultiVectorPtr_Type displacementRepeated)
 Moving mesh according to displacement based on reference configuration.
 
int getSurfaceElementOrder ()
 Get SurfaceElement order.
 
int getEdgeElementOrder ()
 Get EdgeElement order.
 
void create_AABBTree ()
 
vec_int_ptr_Type findElemsForPoints (vec2D_dbl_ptr_Type query_points)
 
vec_dbl_Type getBaryCoords (vec_dbl_Type point, int element)
 
bool isPointInElem (vec_dbl_Type point, int element)
 
tuple_intint_Type getRankRange () const
 
void deleteSurfaceElements ()
 Deleting surface elements, called after reading input mesh.
 
void correctNormalDirections ()
 Correcting the normal direction of all surface normals set as subelements of volume elements to be outward normals.
 
void correctElementOrientation ()
 Correct the element orientation of all elements to have positive volume / det when doint transformation.
 
vec2D_int_ptr_Type getElements ()
 Returns elements as a vector type contrary to the C-object list.
 

Public Attributes

int dim_
 
long long numElementsGlob_
 
std::string FEType_
 
MapPtr_Type mapUnique_
 
MapPtr_Type mapRepeated_
 
vec2D_dbl_ptr_Type pointsRep_
 
vec2D_dbl_ptr_Type pointsUni_
 
vec_int_ptr_Type bcFlagRep_
 
vec_int_ptr_Type bcFlagUni_
 
ElementsPtr_Type surfaceElements_
 
ElementsPtr_Type elementsC_
 
MapPtr_Type elementMap_
 
MapPtr_Type edgeMap_
 
CommConstPtrConst_Type comm_
 
vec2D_int_ptr_Type elementsVec_
 
vec2D_dbl_ptr_Type pointsRepRef_
 
vec2D_dbl_ptr_Type pointsUniRef_
 
int elementOrder_
 
int surfaceElementOrder_
 
int edgesElementOrder_
 
AABBTreePtr_Type AABBTree_
 
tuple_intint_Type rankRange_
 

Member Function Documentation

◆ deleteData()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
void FEDD::Mesh< SC, LO, GO, NO >::deleteData ( )

Delete all member variables

◆ getBCFlagRepeated()

template<class SC, class LO, class GO, class NO>
vec_int_ptr_Type FEDD::Mesh< SC, LO, GO, NO >::getBCFlagRepeated ( ) const

Getter for flags corresponting to repeated points.

Returns
bcFlagRep_
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getBCFlagUnique()

template<class SC, class LO, class GO, class NO>
vec_int_ptr_Type FEDD::Mesh< SC, LO, GO, NO >::getBCFlagUnique ( ) const

Getter for flags corresponting to unique points.

Returns
bcFlagUni_
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getComm()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
CommConstPtrConst_Type FEDD::Mesh< SC, LO, GO, NO >::getComm ( )
inline

Communicator object.

Returns
Here is the caller graph for this function:

◆ getDimension()

template<class SC, class LO, class GO, class NO>
int FEDD::Mesh< SC, LO, GO, NO >::getDimension ( )
Returns
dim_
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getEdgeElementOrder()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
int FEDD::Mesh< SC, LO, GO, NO >::getEdgeElementOrder ( )
inline

Get EdgeElement order.

Returns
edgesElementOrder_

◆ getEdgeMap()

template<class SC, class LO, class GO, class NO>
Mesh< SC, LO, GO, NO >::MapConstPtr_Type FEDD::Mesh< SC, LO, GO, NO >::getEdgeMap ( )

Getter for edge map.

Returns
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getElementMap()

template<class SC, class LO, class GO, class NO>
Mesh< SC, LO, GO, NO >::MapConstPtr_Type FEDD::Mesh< SC, LO, GO, NO >::getElementMap ( ) const

Getter for element map.

Returns
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getElementsC()

template<class SC, class LO, class GO, class NO>
Mesh< SC, LO, GO, NO >::ElementsPtr_Type FEDD::Mesh< SC, LO, GO, NO >::getElementsC ( )

Returns element list as c-object.

Returns
elementsC_
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getElementsFlag()

template<class SC, class LO, class GO, class NO>
vec_int_ptr_Type FEDD::Mesh< SC, LO, GO, NO >::getElementsFlag ( ) const

Getter for element flags.

Returns
elements flag vector – not sure if this is used anywhere
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMapRepeated()

template<class SC, class LO, class GO, class NO>
Mesh< SC, LO, GO, NO >::MapConstPtr_Type FEDD::Mesh< SC, LO, GO, NO >::getMapRepeated ( ) const

Getter for repeated node mal.

Returns
mapRepeated_
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMapUnique()

template<class SC, class LO, class GO, class NO>
Mesh< SC, LO, GO, NO >::MapConstPtr_Type FEDD::Mesh< SC, LO, GO, NO >::getMapUnique ( ) const

Getter for unique node map.

Returns
mapUnique_
Here is the caller graph for this function:

◆ getNumElements()

template<class SC, class LO, class GO, class NO>
LO FEDD::Mesh< SC, LO, GO, NO >::getNumElements ( )

Local number of elements.

Returns
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNumElementsGlobal()

template<class SC, class LO, class GO, class NO>
GO FEDD::Mesh< SC, LO, GO, NO >::getNumElementsGlobal ( )

Global number of elements.

Returns
numElementsGlob_
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNumPoints()

template<class SC, class LO, class GO, class NO>
LO FEDD::Mesh< SC, LO, GO, NO >::getNumPoints ( std::string type = "Unique")

Get local (LO) number of points either in unique or repeated version.

Parameters
typeLO (local ordinal)
Returns
numer of points
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getOrderElement()

template<class SC, class LO, class GO, class NO>
int FEDD::Mesh< SC, LO, GO, NO >::getOrderElement ( )
Returns
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getParameterList()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
ParameterListConstPtr_Type FEDD::Mesh< SC, LO, GO, NO >::getParameterList ( ) const

Getter for paramaeterlist that is set here.

Returns
pL

◆ getPointsRepeated()

template<class SC, class LO, class GO, class NO>
vec2D_dbl_ptr_Type FEDD::Mesh< SC, LO, GO, NO >::getPointsRepeated ( ) const

getter for list of repeated points with x,y,z coordinates in each row

Returns
pointsRep_
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getPointsUnique()

template<class SC, class LO, class GO, class NO>
vec2D_dbl_ptr_Type FEDD::Mesh< SC, LO, GO, NO >::getPointsUnique ( ) const

getter for list of unique points with x,y,z coordinates in each row

Returns
pointsUni_
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRankRange()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
tuple_intint_Type FEDD::Mesh< SC, LO, GO, NO >::getRankRange ( ) const
inline
Returns

◆ getSurfaceElementOrder()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
int FEDD::Mesh< SC, LO, GO, NO >::getSurfaceElementOrder ( )
inline

Get SurfaceElement order.

Returns
surfaceElementOrder_

◆ getSurfaceElements()

template<class SC, class LO, class GO, class NO>
Mesh< SC, LO, GO, NO >::ElementsPtr_Type FEDD::Mesh< SC, LO, GO, NO >::getSurfaceElements ( )

Getter for surface elements. Probably set in mesh partitioner. They are generally the dim-1 surface elements.

Returns
surfaceElements_
Here is the call graph for this function:
Here is the caller graph for this function:

◆ moveMesh()

template<class SC, class LO, class GO, class NO>
void FEDD::Mesh< SC, LO, GO, NO >::moveMesh ( MultiVectorPtr_Type displacementUnique,
MultiVectorPtr_Type displacementRepeated )

Moving mesh according to displacement based on reference configuration.

Parameters
displacementUniquedisplacement in unqiue dist.
displacementRepeateddisplacement in repeated dist.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setElementFlags()

template<class SC, class LO, class GO, class NO>
void FEDD::Mesh< SC, LO, GO, NO >::setElementFlags ( std::string type = "")

Something for TPM. Can be deprecated soon.

Parameters
type
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setParameterList()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
void FEDD::Mesh< SC, LO, GO, NO >::setParameterList ( ParameterListPtr_Type & pL)

Setting input parameterlist to be parameterlist here.

Parameters
pL

◆ setStructuredMeshFlags()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
int FEDD::Mesh< SC, LO, GO, NO >::setStructuredMeshFlags ( int flags)
inline

This is done in meshStructured. Maybe we should move it here or delete this.

Parameters
flags
Returns

The documentation for this class was generated from the following files: