12 #include "netcdfcpp.h"
42 vector< char* >::iterator it_char;
72 MeshList::iterator it_mesh;
73 for ( it_mesh = meshList.begin(); it_mesh != meshList.end(); it_mesh++)
139 assert (
_ncFile->is_valid() );
149 if (
_ncFile->get_var(
"is_bounTypeDim_Valid")->as_int(0) == 1 ){
156 if (
_ncFile->get_var(
"is_neighMesh_Valid")->as_int(0) == 1 ){
166 if (
_ncFile->get_var(
"is_interface_Valid")->as_int(0) == 1 ){
271 for (
int n = 0; n <
_nBoun; n++)
308 for (
int n = 0; n <
_nBoun; n++){
379 for (
int id = 0;
id <
_nmesh;
id++ ){
425 for (
int boun = 0; boun < nboun; boun++){
430 meshList.at(
id)->createBoundaryFaceGroup( size, offset, bndryID, boundaryType);
442 for (
int interface = 0;
interface < ninterfaces; interface++ ){
447 meshList.at(
id)->createInterfaceGroup( size, offset, interfaceID );
448 meshList.at(
id)->createGhostCellSiteScatter( pairID, shared_ptr<StorageSite>(
new StorageSite(size) ) );
449 meshList.at(
id)->createGhostCellSiteGather ( pairID, shared_ptr<StorageSite>(
new StorageSite(size) ) );
464 for (
int n = 0; n < nnodes; n++ ){
465 (*coord)[n][0] =
_xVals[indx];
466 (*coord)[n][1] =
_yVals[indx];
467 (*coord)[n][2] =
_zVals[indx];
471 meshList.at(
id)->setCoordinates( coord );
484 faceCells->initCount();
486 for (
int n = 0; n < nfaces; n++ )
487 faceCells->addCount(n,2);
489 faceCells->finishCount();
492 for (
int n = 0; n < nfaces; n++ ){
493 for (
int cell = 0; cell < 2; cell++){
499 faceCells->finishAdd();
500 meshList.at(
id)->setFaceCells( faceCells );
511 faceNodes->initCount();
513 for (
int n = 0; n < nfaces; n++ )
514 faceNodes->addCount(n, node_count);
516 faceNodes->finishCount();
519 for (
int n = 0; n < nfaces; n++ ){
520 for (
int node = 0; node < node_count; node++){
526 faceNodes->finishAdd();
527 meshList.at(
id)->setFaceNodes ( faceNodes );
542 for (
int id = 0;
id <
_nmesh;
id++)
546 Mesh& thisMesh = *globalMeshList.at(thisMeshID);
555 Mesh& neighMesh = *globalMeshList.at(neighMeshID);
563 for (
int i = 0; i < size; i++)
575 thisGatherMap[&ghostSiteGather] = scatterIndices;
576 neighScatterMap[&ghostSiteScatter] = gatherIndices;
NcVar * _interiorFacesGroup
void createMappers(const MeshList &)
shared_ptr< CRConnectivity > CRConnectivityPtr
void boundary_faces(int id, const MeshList &meshList)
vector< char * > _boundaryTypeVals
int * _faceCellsColCountVals
void setCount(const int selfCount, const int nGhost=0)
int * _boundaryOffsetVals
int * _interfaceOffsetVals
const StorageSite * getGhostCellSiteScatter(const PartIDMeshIDPair &id) const
NcVar * _faceNodesRowCount
int * _interfaceGroupVals
int * _interiorFacesGroupVals
void coords(int id, const MeshList &meshList)
int * _scatterIndicesVals
void get_connectivity_vals()
NcVar * _faceCellsColCount
void interfaces(int id, const MeshList &meshList)
pair< int, int > PartIDMeshIDPair
const StorageSite & getCells() const
NcDataReader(const string &fname)
const StorageSite * getGhostCellSiteGather(const PartIDMeshIDPair &id) const
shared_ptr< Array< int > > ArrayIntPtr
const ScatterMap & getScatterMap() const
map< const StorageSite *, shared_ptr< Array< int > > > ScatterMap
void get_interface_vals()
const GatherMap & getGatherMap() const
void face_cells(int id, const MeshList &meshList)
int * _faceNodesRowCountVals
map< const StorageSite *, shared_ptr< Array< int > > > GatherMap
int * _faceNodesColCountVals
void storage_sites(int id, const MeshList &meshList)
void face_nodes(int id, const MeshList &meshList)
NcVar * _faceCellsRowCount
int * _ghostCellsCountVals
vector< Mesh * > MeshList
NcVar * _faceNodesColCount
static void destroyMeshList(MeshList meshList)
int * _faceCellsRowCountVals