|
DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
|
#include <Mesh.hpp>
Public Types | |
| using | PartitionOptions = Geom::PartitionOptions |
Public Member Functions | |
| template<class tC2n , class tCoordExt > | |
| void | __GetCoordsSerial (const tC2n &c2n, tSmallCoords &cs, tCoordExt &coo) |
| directly load coords; gets faulty if isPeriodic!, analog of mesh's method | |
| template<class tC2n , class tC2nPbi , class tCoordExt > | |
| void | __GetCoordsOnElemSerial (const tC2n &c2n, const tC2nPbi &c2nPbi, tSmallCoords &cs, tCoordExt &coo) |
| specially for periodicity, analog of mesh's method | |
| void | GetCoordsOnCellSerial (index iCell, tSmallCoords &cs, tCoord &coo) |
| analog of mesh's method | |
| UnstructuredMeshSerialRW (const decltype(mesh) &n_mesh, DNDS::MPI_int n_mRank) | |
| void | ReadFromCGNSSerial (const std::string &fName, const t_FBCName_2_ID &FBCName_2_ID) |
| reads a cgns file as serial input | |
| auto | ReadFromCGNSSerial (const std::string &fName) |
| void | ReadFromOpenFOAMAndConvertSerial (const std::string &fName, const std::map< std::string, std::string > &nameMapping, const t_FBCName_2_ID &FBCName_2_ID=FBC_Name_2_ID_Default) |
| void | Deduplicate1to1Periodic (real searchEps=1e-8) |
| void | BuildCell2Cell () |
| build cell2cell topology, with node-neighbors included | |
| void | BuildNode2Node () |
| void | MeshPartitionCell2Cell (const PartitionOptions &options) |
| void | PartitionReorderToMeshCell2Cell () |
| void | ClearSerial () |
| void | BuildSerialOut () |
| should be called to build data for serial out | |
| void | GetCurrentOutputArrays (int flag, tCoordPair &coordOut, tAdjPair &cell2nodeOut, tPbiPair &cell2nodePbiOut, tElemInfoArrayPair &cellElemInfoOut, index &nCell, index &nNode) |
| void | PrintSerialPartPltBinaryDataArray (std::string fname, int arraySiz, int arraySizPoint, const tFGetName &names, const tFGetData &data, const tFGetName &namesPoint, const tFGetData &dataPoint, double t, int flag) |
| names(idata) data(idata, ivolume) https://tecplot.azureedge.net/products/360/current/360_data_format_guide.pdf | |
| void | PrintSerialPartVTKDataArray (std::string fname, std::string seriesName, int arraySiz, int vecArraySiz, int arraySizPoint, int vecArraySizPoint, const tFGetName &names, const tFGetData &data, const tFGetName &vectorNames, const tFGetVecData &vectorData, const tFGetName &namesPoint, const tFGetData &dataPoint, const tFGetName &vectorNamesPoint, const tFGetVecData &vectorDataPoint, double t, int flag=0) |
| names(idata) data(idata, ivolume) | |
| void | SetASCIIPrecision (int n) |
| void | SetVTKFloatEncodeMode (const std::string &v) |
|
inline |
|
inline |
|
inline |
| void DNDS::Geom::UnstructuredMeshSerialRW::BuildCell2Cell | ( | ) |
build cell2cell topology, with node-neighbors included
TODO: abstract these: invert cone (like node 2 cell -> cell 2 node) (also support operating on pair)
** override: point-complete cell2cell info!
** override: point-complete cell2cell info!
mesh->dim - 1 is a simple method
Definition at line 327 of file Mesh_Serial_BuildCell2Cell.cpp.
| void DNDS::Geom::UnstructuredMeshSerialRW::BuildNode2Node | ( | ) |
| void DNDS::Geom::UnstructuredMeshSerialRW::BuildSerialOut | ( | ) |
|
inline |
| void DNDS::Geom::UnstructuredMeshSerialRW::Deduplicate1to1Periodic | ( | real | searchEps = 1e-8 | ) |
below are all periodic code
Definition at line 14 of file Mesh_Serial_BuildCell2Cell.cpp.
|
inline |
| void DNDS::Geom::UnstructuredMeshSerialRW::GetCurrentOutputArrays | ( | int | flag, |
| tCoordPair & | coordOut, | ||
| tAdjPair & | cell2nodeOut, | ||
| tPbiPair & | cell2nodePbiOut, | ||
| tElemInfoArrayPair & | cellElemInfoOut, | ||
| index & | nCell, | ||
| index & | nNode | ||
| ) |
only non-ghost cells are output
need all the nodes with ghost
Definition at line 19 of file Mesh_Plts.cpp.
| void DNDS::Geom::UnstructuredMeshSerialRW::MeshPartitionCell2Cell | ( | const PartitionOptions & | options | ) |
preset hyper config, should be optional in the future
assuming all adj point to local numbers now
assuming homogenous
Definition at line 8 of file Mesh_Serial_Partition.cpp.
| void DNDS::Geom::UnstructuredMeshSerialRW::PartitionReorderToMeshCell2Cell | ( | ) |
| void DNDS::Geom::UnstructuredMeshSerialRW::PrintSerialPartPltBinaryDataArray | ( | std::string | fname, |
| int | arraySiz, | ||
| int | arraySizPoint, | ||
| const tFGetName & | names, | ||
| const tFGetData & | data, | ||
| const tFGetName & | namesPoint, | ||
| const tFGetData & | dataPoint, | ||
| double | t, | ||
| int | flag | ||
| ) |
names(idata) data(idata, ivolume) https://tecplot.azureedge.net/products/360/current/360_data_format_guide.pdf
full: write both grid and data
Tecplot is sensitive to the correctness of min/max val
2d or 3d elems
Definition at line 126 of file Mesh_Plts.cpp.
| void DNDS::Geom::UnstructuredMeshSerialRW::PrintSerialPartVTKDataArray | ( | std::string | fname, |
| std::string | seriesName, | ||
| int | arraySiz, | ||
| int | vecArraySiz, | ||
| int | arraySizPoint, | ||
| int | vecArraySizPoint, | ||
| const tFGetName & | names, | ||
| const tFGetData & | data, | ||
| const tFGetName & | vectorNames, | ||
| const tFGetVecData & | vectorData, | ||
| const tFGetName & | namesPoint, | ||
| const tFGetData & | dataPoint, | ||
| const tFGetName & | vectorNamesPoint, | ||
| const tFGetVecData & | vectorDataPoint, | ||
| double | t, | ||
| int | flag = 0 |
||
| ) |
names(idata) data(idata, ivolume)
referencing https://docs.vtk.org/en/latest/design_documents/VTKFileFormats.html
| fname | |
| arraySiz | |
| vecArraySiz | |
| arraySizPoint | |
| vecArraySizPoint | |
| names | |
| data | |
| vectorNames | |
| vectorData | |
| namesPoint | |
| dataPoint | |
| vectorNamesPoint | |
| vectorDataPoint | |
| t | |
| flag |
cout << uint8_t(v) is ill-posed
Definition at line 753 of file Mesh_Plts.cpp.
|
inline |
| void DNDS::Geom::UnstructuredMeshSerialRW::ReadFromCGNSSerial | ( | const std::string & | fName, |
| const t_FBCName_2_ID & | FBCName_2_ID | ||
| ) |
reads a cgns file as serial input
the file MUST consist of one CGNS base node, and multiple zones within. All the zones are treated as a whole unstructured grid Proofed on .cgns files generated from Pointwise
| fName | file name of .cgns file |
parallel done!!! now serial!!!
purely serial
only supports unstructured
convert to 0 based; pointing to zonal index
initialized as inner,need new way of doing vol condition
convert to 0 based; pointing to zonal index
initialized as inner,need new way of doing vol condition
setting BC code
only supports unstructured
Definition at line 245 of file Mesh_Serial_ReadFromCGNS.cpp.
| void DNDS::Geom::UnstructuredMeshSerialRW::ReadFromOpenFOAMAndConvertSerial | ( | const std::string & | fName, |
| const std::map< std::string, std::string > & | nameMapping, | ||
| const t_FBCName_2_ID & | FBCName_2_ID = FBC_Name_2_ID_Default |
||
| ) |
parallel done!!! now serial!!!
Definition at line 630 of file Mesh_Serial_ReadFromCGNS.cpp.
|
inline |
|
inline |
| tAdj1 DNDS::Geom::UnstructuredMeshSerialRW::bnd2bndOrigSerial |
| tPbi DNDS::Geom::UnstructuredMeshSerialRW::bnd2nodePbiSerial |
| DNDS::ArrayTransformerType<tAdj::element_type>::Type DNDS::Geom::UnstructuredMeshSerialRW::bnd2nodeSerialOutTrans |
| tElemInfoArray DNDS::Geom::UnstructuredMeshSerialRW::bndElemInfoSerial |
| DNDS::ArrayTransformerType<tElemInfoArray::element_type>::Type DNDS::Geom::UnstructuredMeshSerialRW::bndElemInfoSerialOutTrans |
| std::vector<DNDS::MPI_int> DNDS::Geom::UnstructuredMeshSerialRW::bndPartition |
| tAdj1 DNDS::Geom::UnstructuredMeshSerialRW::cell2cellOrigSerial |
| tAdj DNDS::Geom::UnstructuredMeshSerialRW::cell2cellSerialFacial |
| tPbi DNDS::Geom::UnstructuredMeshSerialRW::cell2nodePbiSerial |
| DNDS::ArrayTransformerType<tPbi::element_type>::Type DNDS::Geom::UnstructuredMeshSerialRW::cell2nodePbiSerialOutTrans |
| DNDS::ArrayTransformerType<tAdj::element_type>::Type DNDS::Geom::UnstructuredMeshSerialRW::cell2nodeSerialOutTrans |
| tElemInfoArray DNDS::Geom::UnstructuredMeshSerialRW::cellElemInfoSerial |
| DNDS::ArrayTransformerType<tElemInfoArray::element_type>::Type DNDS::Geom::UnstructuredMeshSerialRW::cellElemInfoSerialOutTrans |
| std::vector<DNDS::MPI_int> DNDS::Geom::UnstructuredMeshSerialRW::cellPartition |
| DNDS::MPI_int DNDS::Geom::UnstructuredMeshSerialRW::cnPart {0} |
| DNDS::ArrayTransformerType<tCoord::element_type>::Type DNDS::Geom::UnstructuredMeshSerialRW::coordSerialOutTrans |
| bool DNDS::Geom::UnstructuredMeshSerialRW::dataIsSerialIn = false |
| bool DNDS::Geom::UnstructuredMeshSerialRW::dataIsSerialOut = false |
| DNDS::ssp<UnstructuredMesh> DNDS::Geom::UnstructuredMeshSerialRW::mesh |
| MeshReaderMode DNDS::Geom::UnstructuredMeshSerialRW::mode {UnknownMode} |
| DNDS::MPI_int DNDS::Geom::UnstructuredMeshSerialRW::mRank {0} |
| tAdj1 DNDS::Geom::UnstructuredMeshSerialRW::node2nodeOrigSerial |
| std::vector<DNDS::MPI_int> DNDS::Geom::UnstructuredMeshSerialRW::nodePartition |