DNDSR 0.2.1
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::Geom::UnstructuredMeshDeviceView< B > Struct Template Reference

#include <Mesh_DeviceView.hpp>

Collaboration diagram for DNDS::Geom::UnstructuredMeshDeviceView< B >:
[legend]

Public Member Functions

auto device_array_list_primary ()
 
template<class TMain >
void create_view_primary (TMain &&m_obj)
 
auto device_array_list_N2CB ()
 
template<class TMain >
void create_view_N2CB (TMain &&m_obj)
 
DNDS_HOST auto device_array_list_facial ()
 
template<class TMain >
DNDS_HOST void create_view_facial (TMain &&m_obj)
 
DNDS_HOST auto device_array_list_C2F ()
 
template<class TMain >
DNDS_HOST void create_view_C2F (TMain &&m_obj)
 
template<class TMain >
DNDS_DEVICE_CALLABLE UnstructuredMeshDeviceView (TMain &mesh, index placeholder)
 
DNDS_DEVICE_CALLABLE index NumNode () const
 
DNDS_DEVICE_CALLABLE index NumCell () const
 
DNDS_DEVICE_CALLABLE index NumFace () const
 
DNDS_DEVICE_CALLABLE index NumBnd () const
 
DNDS_DEVICE_CALLABLE index NumNodeGhost () const
 
DNDS_DEVICE_CALLABLE index NumCellGhost () const
 
DNDS_DEVICE_CALLABLE index NumFaceGhost () const
 
DNDS_DEVICE_CALLABLE index NumBndGhost () const
 
DNDS_DEVICE_CALLABLE index NumNodeProc () const
 
DNDS_DEVICE_CALLABLE index NumCellProc () const
 
DNDS_DEVICE_CALLABLE index NumFaceProc () const
 
DNDS_DEVICE_CALLABLE index NumBndProc () const
 
DNDS_DEVICE_CALLABLE Elem::Element GetCellElement (index iC)
 
DNDS_DEVICE_CALLABLE Elem::Element GetFaceElement (index iF)
 
DNDS_DEVICE_CALLABLE Elem::Element GetBndElement (index iB)
 
DNDS_DEVICE_CALLABLE t_index GetCellZone (index iC)
 
DNDS_DEVICE_CALLABLE t_index GetFaceZone (index iF)
 
DNDS_DEVICE_CALLABLE t_index GetBndZone (index iB)
 
template<class FA , class FB , class F0 >
DNDS_DEVICE_CALLABLE auto CellOtherCellPeriodicHandle (index iFace, rowsize if2c, FA &&fA, FB &&fB, F0 &&f0=[]() {})
 fA executes when if2c points to the donor side; fB the main side
 
template<class tC2n >
DNDS_DEVICE_CALLABLE void _detail_GetCoords (const tC2n &c2n, tSmallCoords &cs)
 directly load coords; gets faulty if isPeriodic!
 
template<class tC2n , class tCoordExt >
DNDS_DEVICE_CALLABLE void _detail_GetCoords (const tC2n &c2n, tSmallCoords &cs, tCoordExt &coo)
 directly load coords; gets faulty if isPeriodic!
 
template<class tC2n , class tC2nPbi >
DNDS_DEVICE_CALLABLE void _detail_GetCoordsOnElem (const tC2n &c2n, const tC2nPbi &c2nPbi, tSmallCoords &cs)
 specially for periodicity
 
template<class tC2n , class tC2nPbi , class tCoordExt >
DNDS_DEVICE_CALLABLE void _detail_GetCoordsOnElem (const tC2n &c2n, const tC2nPbi &c2nPbi, tSmallCoords &cs, tCoordExt &coo)
 specially for periodicity
 
DNDS_DEVICE_CALLABLE void GetCoordsOnCell (index iCell, tSmallCoords &cs)
 
DNDS_DEVICE_CALLABLE void GetCoordsOnCell (index iCell, tSmallCoords &cs, tCoordPair &coo)
 
DNDS_DEVICE_CALLABLE void GetCoordsOnFace (index iFace, tSmallCoords &cs)
 
DNDS_DEVICE_CALLABLE tPoint GetCoordNodeOnCell (index iCell, rowsize ic2n)
 
DNDS_DEVICE_CALLABLE tPoint GetCoordNodeOnFace (index iFace, rowsize if2n)
 
DNDS_DEVICE_CALLABLE bool CellIsFaceBack (index iCell, index iFace) const
 
DNDS_DEVICE_CALLABLE index CellFaceOther (index iCell, index iFace) const
 

Public Attributes

int dim = -1
 
bool isPeriodic {false}
 
MeshAdjState adjPrimaryState {Adj_Unknown}
 
MeshAdjState adjFacialState {Adj_Unknown}
 
MeshAdjState adjC2FState {Adj_Unknown}
 
MeshAdjState adjN2CBState {Adj_Unknown}
 
Periodicity periodicInfo
 
tCoordPair::t_deviceView< B > coords
 reader
 
AdjPairTrackedDeviceView< B, tAdjPair::t_arrcell2node
 
AdjPairTrackedDeviceView< B, tAdjPair::t_arrbnd2node
 
AdjPairTrackedDeviceView< B, tAdj2Pair::t_arrbnd2cell
 
AdjPairTrackedDeviceView< B, tAdjPair::t_arrcell2cell
 
tElemInfoArrayPair::t_deviceView< B > cellElemInfo
 
tElemInfoArrayPair::t_deviceView< B > bndElemInfo
 
tPbiPair::t_deviceView< B > cell2nodePbi
 periodic only, after reader
 
tPbiPair::t_deviceView< B > bnd2nodePbi
 
AdjPairTrackedDeviceView< B, tAdjPair::t_arrnode2cell
 
AdjPairTrackedDeviceView< B, tAdjPair::t_arrnode2bnd
 
AdjPairTrackedDeviceView< B, tAdjPair::t_arrcell2face
 interpolated
 
AdjPairTrackedDeviceView< B, tAdjPair::t_arrface2node
 
AdjPairTrackedDeviceView< B, tAdj2Pair::t_arrface2cell
 
tElemInfoArrayPair::t_deviceView< B > faceElemInfo
 
AdjPairTrackedDeviceView< B, tAdj1Pair::t_arrface2bnd
 
AdjPairTrackedDeviceView< B, tAdj1Pair::t_arrbnd2face
 
tPbiPair::t_deviceView< B > face2nodePbi
 periodic only, after interpolated
 

Detailed Description

template<DeviceBackend B>
struct DNDS::Geom::UnstructuredMeshDeviceView< B >

Definition at line 166 of file Mesh_DeviceView.hpp.

Constructor & Destructor Documentation

◆ UnstructuredMeshDeviceView()

template<DeviceBackend B>
template<class TMain >
DNDS_DEVICE_CALLABLE DNDS::Geom::UnstructuredMeshDeviceView< B >::UnstructuredMeshDeviceView ( TMain &  mesh,
index  placeholder 
)
inline

this is needed after

Definition at line 290 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ _detail_GetCoords() [1/2]

template<DeviceBackend B>
template<class tC2n >
DNDS_DEVICE_CALLABLE void DNDS::Geom::UnstructuredMeshDeviceView< B >::_detail_GetCoords ( const tC2n &  c2n,
tSmallCoords cs 
)
inline

directly load coords; gets faulty if isPeriodic!

Definition at line 369 of file Mesh_DeviceView.hpp.

Here is the caller graph for this function:

◆ _detail_GetCoords() [2/2]

template<DeviceBackend B>
template<class tC2n , class tCoordExt >
DNDS_DEVICE_CALLABLE void DNDS::Geom::UnstructuredMeshDeviceView< B >::_detail_GetCoords ( const tC2n &  c2n,
tSmallCoords cs,
tCoordExt &  coo 
)
inline

directly load coords; gets faulty if isPeriodic!

Definition at line 384 of file Mesh_DeviceView.hpp.

◆ _detail_GetCoordsOnElem() [1/2]

template<DeviceBackend B>
template<class tC2n , class tC2nPbi >
DNDS_DEVICE_CALLABLE void DNDS::Geom::UnstructuredMeshDeviceView< B >::_detail_GetCoordsOnElem ( const tC2n &  c2n,
const tC2nPbi &  c2nPbi,
tSmallCoords cs 
)
inline

specially for periodicity

Definition at line 399 of file Mesh_DeviceView.hpp.

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

◆ _detail_GetCoordsOnElem() [2/2]

template<DeviceBackend B>
template<class tC2n , class tC2nPbi , class tCoordExt >
DNDS_DEVICE_CALLABLE void DNDS::Geom::UnstructuredMeshDeviceView< B >::_detail_GetCoordsOnElem ( const tC2n &  c2n,
const tC2nPbi &  c2nPbi,
tSmallCoords cs,
tCoordExt &  coo 
)
inline

specially for periodicity

Definition at line 414 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ CellFaceOther()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE index DNDS::Geom::UnstructuredMeshDeviceView< B >::CellFaceOther ( index  iCell,
index  iFace 
) const
inline

Definition at line 483 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ CellIsFaceBack()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE bool DNDS::Geom::UnstructuredMeshDeviceView< B >::CellIsFaceBack ( index  iCell,
index  iFace 
) const
inline

Definition at line 477 of file Mesh_DeviceView.hpp.

Here is the caller graph for this function:

◆ CellOtherCellPeriodicHandle()

template<DeviceBackend B>
template<class FA , class FB , class F0 >
DNDS_DEVICE_CALLABLE auto DNDS::Geom::UnstructuredMeshDeviceView< B >::CellOtherCellPeriodicHandle ( index  iFace,
rowsize  if2c,
FA &&  fA,
FB &&  fB,
F0 &&  f0 = []() {} 
)
inline

fA executes when if2c points to the donor side; fB the main side

Template Parameters
FA
FB
F0
Parameters
iFace
if2c
fA
fB
f0
Returns
auto

Definition at line 349 of file Mesh_DeviceView.hpp.

◆ create_view_C2F()

template<DeviceBackend B>
template<class TMain >
DNDS_HOST void DNDS::Geom::UnstructuredMeshDeviceView< B >::create_view_C2F ( TMain &&  m_obj)
inline

Definition at line 283 of file Mesh_DeviceView.hpp.

Here is the caller graph for this function:

◆ create_view_facial()

template<DeviceBackend B>
template<class TMain >
DNDS_HOST void DNDS::Geom::UnstructuredMeshDeviceView< B >::create_view_facial ( TMain &&  m_obj)
inline

Definition at line 265 of file Mesh_DeviceView.hpp.

Here is the caller graph for this function:

◆ create_view_N2CB()

template<DeviceBackend B>
template<class TMain >
void DNDS::Geom::UnstructuredMeshDeviceView< B >::create_view_N2CB ( TMain &&  m_obj)
inline

Definition at line 236 of file Mesh_DeviceView.hpp.

◆ create_view_primary()

template<DeviceBackend B>
template<class TMain >
void DNDS::Geom::UnstructuredMeshDeviceView< B >::create_view_primary ( TMain &&  m_obj)
inline

Definition at line 209 of file Mesh_DeviceView.hpp.

Here is the caller graph for this function:

◆ device_array_list_C2F()

template<DeviceBackend B>
DNDS_HOST auto DNDS::Geom::UnstructuredMeshDeviceView< B >::device_array_list_C2F ( )
inline

Definition at line 275 of file Mesh_DeviceView.hpp.

◆ device_array_list_facial()

template<DeviceBackend B>
DNDS_HOST auto DNDS::Geom::UnstructuredMeshDeviceView< B >::device_array_list_facial ( )
inline

Definition at line 254 of file Mesh_DeviceView.hpp.

◆ device_array_list_N2CB()

template<DeviceBackend B>
auto DNDS::Geom::UnstructuredMeshDeviceView< B >::device_array_list_N2CB ( )
inline

Definition at line 228 of file Mesh_DeviceView.hpp.

◆ device_array_list_primary()

template<DeviceBackend B>
auto DNDS::Geom::UnstructuredMeshDeviceView< B >::device_array_list_primary ( )
inline

Definition at line 194 of file Mesh_DeviceView.hpp.

◆ GetBndElement()

Definition at line 329 of file Mesh_DeviceView.hpp.

Here is the caller graph for this function:

◆ GetBndZone()

Definition at line 333 of file Mesh_DeviceView.hpp.

◆ GetCellElement()

Definition at line 327 of file Mesh_DeviceView.hpp.

Here is the caller graph for this function:

◆ GetCellZone()

Definition at line 331 of file Mesh_DeviceView.hpp.

◆ GetCoordNodeOnCell()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE tPoint DNDS::Geom::UnstructuredMeshDeviceView< B >::GetCoordNodeOnCell ( index  iCell,
rowsize  ic2n 
)
inline

Definition at line 449 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ GetCoordNodeOnFace()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE tPoint DNDS::Geom::UnstructuredMeshDeviceView< B >::GetCoordNodeOnFace ( index  iFace,
rowsize  if2n 
)
inline

Definition at line 456 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ GetCoordsOnCell() [1/2]

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE void DNDS::Geom::UnstructuredMeshDeviceView< B >::GetCoordsOnCell ( index  iCell,
tSmallCoords cs 
)
inline

Definition at line 425 of file Mesh_DeviceView.hpp.

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

◆ GetCoordsOnCell() [2/2]

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE void DNDS::Geom::UnstructuredMeshDeviceView< B >::GetCoordsOnCell ( index  iCell,
tSmallCoords cs,
tCoordPair coo 
)
inline

Definition at line 433 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ GetCoordsOnFace()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE void DNDS::Geom::UnstructuredMeshDeviceView< B >::GetCoordsOnFace ( index  iFace,
tSmallCoords cs 
)
inline

Definition at line 441 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ GetFaceElement()

Definition at line 328 of file Mesh_DeviceView.hpp.

◆ GetFaceZone()

Definition at line 332 of file Mesh_DeviceView.hpp.

◆ NumBnd()

Definition at line 315 of file Mesh_DeviceView.hpp.

◆ NumBndGhost()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE index DNDS::Geom::UnstructuredMeshDeviceView< B >::NumBndGhost ( ) const
inline

Definition at line 320 of file Mesh_DeviceView.hpp.

◆ NumBndProc()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE index DNDS::Geom::UnstructuredMeshDeviceView< B >::NumBndProc ( ) const
inline

Definition at line 325 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ NumCell()

Definition at line 313 of file Mesh_DeviceView.hpp.

◆ NumCellGhost()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE index DNDS::Geom::UnstructuredMeshDeviceView< B >::NumCellGhost ( ) const
inline

Definition at line 318 of file Mesh_DeviceView.hpp.

◆ NumCellProc()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE index DNDS::Geom::UnstructuredMeshDeviceView< B >::NumCellProc ( ) const
inline

Definition at line 323 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ NumFace()

Definition at line 314 of file Mesh_DeviceView.hpp.

◆ NumFaceGhost()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE index DNDS::Geom::UnstructuredMeshDeviceView< B >::NumFaceGhost ( ) const
inline

Definition at line 319 of file Mesh_DeviceView.hpp.

◆ NumFaceProc()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE index DNDS::Geom::UnstructuredMeshDeviceView< B >::NumFaceProc ( ) const
inline

Definition at line 324 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ NumNode()

Definition at line 312 of file Mesh_DeviceView.hpp.

◆ NumNodeGhost()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE index DNDS::Geom::UnstructuredMeshDeviceView< B >::NumNodeGhost ( ) const
inline

Definition at line 317 of file Mesh_DeviceView.hpp.

◆ NumNodeProc()

template<DeviceBackend B>
DNDS_DEVICE_CALLABLE index DNDS::Geom::UnstructuredMeshDeviceView< B >::NumNodeProc ( ) const
inline

Definition at line 322 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ adjC2FState

Definition at line 174 of file Mesh_DeviceView.hpp.

◆ adjFacialState

Definition at line 172 of file Mesh_DeviceView.hpp.

◆ adjN2CBState

Definition at line 176 of file Mesh_DeviceView.hpp.

◆ adjPrimaryState

Definition at line 170 of file Mesh_DeviceView.hpp.

◆ bnd2cell

◆ bnd2face

◆ bnd2node

◆ bnd2nodePbi

Definition at line 192 of file Mesh_DeviceView.hpp.

◆ bndElemInfo

◆ cell2cell

◆ cell2face

interpolated

Definition at line 243 of file Mesh_DeviceView.hpp.

◆ cell2node

◆ cell2nodePbi

periodic only, after reader

Definition at line 191 of file Mesh_DeviceView.hpp.

◆ cellElemInfo

◆ coords

reader

Definition at line 183 of file Mesh_DeviceView.hpp.

◆ dim

template<DeviceBackend B>
int DNDS::Geom::UnstructuredMeshDeviceView< B >::dim = -1

Definition at line 168 of file Mesh_DeviceView.hpp.

◆ face2bnd

◆ face2cell

◆ face2node

◆ face2nodePbi

periodic only, after interpolated

Definition at line 252 of file Mesh_DeviceView.hpp.

◆ faceElemInfo

◆ isPeriodic

template<DeviceBackend B>
bool DNDS::Geom::UnstructuredMeshDeviceView< B >::isPeriodic {false}

Definition at line 169 of file Mesh_DeviceView.hpp.

◆ node2bnd

◆ node2cell

◆ periodicInfo

Definition at line 180 of file Mesh_DeviceView.hpp.


The documentation for this struct was generated from the following file: