DNDSR 0.1.0.dev1+gcd065ad
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 __GetCoords (const tC2n &c2n, tSmallCoords &cs)
 directly load coords; gets faulty if isPeriodic!
 
template<class tC2n , class tCoordExt >
DNDS_DEVICE_CALLABLE void __GetCoords (const tC2n &c2n, tSmallCoords &cs, tCoordExt &coo)
 directly load coords; gets faulty if isPeriodic!
 
template<class tC2n , class tC2nPbi >
DNDS_DEVICE_CALLABLE void __GetCoordsOnElem (const tC2n &c2n, const tC2nPbi &c2nPbi, tSmallCoords &cs)
 specially for periodicity
 
template<class tC2n , class tC2nPbi , class tCoordExt >
DNDS_DEVICE_CALLABLE void __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
 
tAdjPair::t_deviceView< B > cell2node
 
tAdjPair::t_deviceView< B > bnd2node
 
tAdj2Pair::t_deviceView< B > bnd2cell
 
tAdjPair::t_deviceView< B > cell2cell
 
tElemInfoArrayPair::t_deviceView< B > cellElemInfo
 
tElemInfoArrayPair::t_deviceView< B > bndElemInfo
 
tPbiPair::t_deviceView< B > cell2nodePbi
 periodic only, after reader
 
tPbiPair::t_deviceView< B > bnd2nodePbi
 
tAdjPair::t_deviceView< B > node2cell
 
tAdjPair::t_deviceView< B > node2bnd
 
tAdjPair::t_deviceView< B > cell2face
 interpolated
 
tAdjPair::t_deviceView< B > face2node
 
tAdj2Pair::t_deviceView< B > face2cell
 
tElemInfoArrayPair::t_deviceView< B > faceElemInfo
 
tAdj1Pair::t_deviceView< B > face2bnd
 
tAdj1Pair::t_deviceView< B > bnd2face
 
tPbiPair::t_deviceView< B > face2nodePbi
 periodic only, after interpolated
 

Detailed Description

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

Definition at line 108 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 235 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ __GetCoords() [1/2]

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

directly load coords; gets faulty if isPeriodic!

Definition at line 316 of file Mesh_DeviceView.hpp.

Here is the caller graph for this function:

◆ __GetCoords() [2/2]

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

directly load coords; gets faulty if isPeriodic!

Definition at line 331 of file Mesh_DeviceView.hpp.

◆ __GetCoordsOnElem() [1/2]

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

specially for periodicity

Definition at line 346 of file Mesh_DeviceView.hpp.

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

◆ __GetCoordsOnElem() [2/2]

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

specially for periodicity

Definition at line 361 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 430 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 424 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 296 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 228 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 210 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 181 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 154 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 220 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 199 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 173 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 139 of file Mesh_DeviceView.hpp.

◆ GetBndElement()

Definition at line 276 of file Mesh_DeviceView.hpp.

Here is the caller graph for this function:

◆ GetBndZone()

Definition at line 280 of file Mesh_DeviceView.hpp.

◆ GetCellElement()

Definition at line 274 of file Mesh_DeviceView.hpp.

Here is the caller graph for this function:

◆ GetCellZone()

Definition at line 278 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 396 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 403 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 372 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 380 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 388 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ GetFaceElement()

Definition at line 275 of file Mesh_DeviceView.hpp.

◆ GetFaceZone()

Definition at line 279 of file Mesh_DeviceView.hpp.

◆ NumBnd()

Definition at line 262 of file Mesh_DeviceView.hpp.

◆ NumBndGhost()

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

Definition at line 267 of file Mesh_DeviceView.hpp.

◆ NumBndProc()

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

Definition at line 272 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ NumCell()

Definition at line 260 of file Mesh_DeviceView.hpp.

◆ NumCellGhost()

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

Definition at line 265 of file Mesh_DeviceView.hpp.

◆ NumCellProc()

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

Definition at line 270 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ NumFace()

Definition at line 261 of file Mesh_DeviceView.hpp.

◆ NumFaceGhost()

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

Definition at line 266 of file Mesh_DeviceView.hpp.

◆ NumFaceProc()

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

Definition at line 271 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

◆ NumNode()

Definition at line 259 of file Mesh_DeviceView.hpp.

◆ NumNodeGhost()

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

Definition at line 264 of file Mesh_DeviceView.hpp.

◆ NumNodeProc()

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

Definition at line 269 of file Mesh_DeviceView.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ adjC2FState

Definition at line 116 of file Mesh_DeviceView.hpp.

◆ adjFacialState

Definition at line 114 of file Mesh_DeviceView.hpp.

◆ adjN2CBState

Definition at line 118 of file Mesh_DeviceView.hpp.

◆ adjPrimaryState

Definition at line 112 of file Mesh_DeviceView.hpp.

◆ bnd2cell

Definition at line 128 of file Mesh_DeviceView.hpp.

◆ bnd2face

Definition at line 193 of file Mesh_DeviceView.hpp.

◆ bnd2node

Definition at line 127 of file Mesh_DeviceView.hpp.

◆ bnd2nodePbi

Definition at line 137 of file Mesh_DeviceView.hpp.

◆ bndElemInfo

◆ cell2cell

Definition at line 129 of file Mesh_DeviceView.hpp.

◆ cell2face

interpolated

Definition at line 188 of file Mesh_DeviceView.hpp.

◆ cell2node

Definition at line 126 of file Mesh_DeviceView.hpp.

◆ cell2nodePbi

periodic only, after reader

Definition at line 136 of file Mesh_DeviceView.hpp.

◆ cellElemInfo

◆ coords

reader

Definition at line 125 of file Mesh_DeviceView.hpp.

◆ dim

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

Definition at line 110 of file Mesh_DeviceView.hpp.

◆ face2bnd

Definition at line 192 of file Mesh_DeviceView.hpp.

◆ face2cell

Definition at line 190 of file Mesh_DeviceView.hpp.

◆ face2node

Definition at line 189 of file Mesh_DeviceView.hpp.

◆ face2nodePbi

periodic only, after interpolated

Definition at line 197 of file Mesh_DeviceView.hpp.

◆ faceElemInfo

◆ isPeriodic

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

Definition at line 111 of file Mesh_DeviceView.hpp.

◆ node2bnd

Definition at line 171 of file Mesh_DeviceView.hpp.

◆ node2cell

Definition at line 170 of file Mesh_DeviceView.hpp.

◆ periodicInfo

Definition at line 122 of file Mesh_DeviceView.hpp.


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