82 lines
3.0 KiB
C
82 lines
3.0 KiB
C
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
// PPPPP H H EEEEE N N GGGGG L EEEEE III +
|
||
|
// P P H H E NN N G L E I +
|
||
|
// PPPPP HHHHH EEEEE N N N G GG L EEEEE I +
|
||
|
// P H H E N N N G G L E I +
|
||
|
// P H H EEEEE N N GGGGG LLLLL EEEEE III +
|
||
|
//------------------------------------------------------------------------+
|
||
|
// Platform for Hybrid Engineering Simulation of Flows +
|
||
|
// China Aerodynamics Research and Development Center +
|
||
|
// (C) Copyright, Since 2010 +
|
||
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
//! @file GridGroup.h
|
||
|
//! @brief Explain this file briefly.
|
||
|
//! @author xxx.
|
||
|
|
||
|
#pragma once
|
||
|
#include "Pointer.h"
|
||
|
#include "Geo_StructBC.h"
|
||
|
#include "TK_Exit.h"
|
||
|
#include "MultigridFactory.h"
|
||
|
#include "MixGrid.h"
|
||
|
|
||
|
using namespace std;
|
||
|
|
||
|
namespace PHSPACE
|
||
|
{
|
||
|
class Region;
|
||
|
|
||
|
class GridGroup
|
||
|
{
|
||
|
public:
|
||
|
GridGroup(int zoneStart = 0);
|
||
|
~GridGroup();
|
||
|
private:
|
||
|
int nzones;
|
||
|
int * block_proc_dump; //! Bell 20131124 add
|
||
|
int * block_proc;
|
||
|
int * block_proc_grid;
|
||
|
int * block_type;
|
||
|
int * block_idx ;
|
||
|
int * block_fileProc;
|
||
|
vector< Grid *> grids;
|
||
|
int iBlock;
|
||
|
int zoneStart;
|
||
|
Region *region;
|
||
|
public:
|
||
|
void AddGrid(Grid *grid);
|
||
|
|
||
|
public:
|
||
|
void SetIBlock(int iBlock) { this->iBlock = iBlock; }
|
||
|
bool IsZoneLayoutInitialized();
|
||
|
void SetZoneHandler(Region *region) { this->region = region; }
|
||
|
Region * GetRegion() { return region; }
|
||
|
void SetNZones(int nZonesIn) { this->nzones = nZonesIn; }
|
||
|
int GetNZones() const { return nzones; }
|
||
|
int GetNumberofGrid() const;
|
||
|
Grid * GetGrid(int iZone) const { return grids[iZone]; }
|
||
|
|
||
|
//void ReadSingleGrid(fstream &file, int iZone);
|
||
|
void InitZoneLayoutInformation(const string &filename);
|
||
|
|
||
|
void SetBlockProcDump(int * block_proc_dump) { this->block_proc_dump = block_proc_dump; }
|
||
|
void SetBlockProc(int * block_proc) { this->block_proc = block_proc; }
|
||
|
void SetBlockProcGrid(int * block_proc) { this->block_proc_grid = block_proc; }
|
||
|
void SetBlockType(int * block_type) { this->block_type = block_type; }
|
||
|
void SetBlockIndex(int * block_idx) { this->block_idx = block_idx; }
|
||
|
void SetBockFileProc(int * block_fileProc) { this->block_fileProc = block_fileProc; }
|
||
|
|
||
|
int * GetBlockProcDump() { return this->block_proc_dump; }
|
||
|
int * GetBlockProc() { return this->block_proc; }
|
||
|
int * GetBlockProcGrid() { return this->block_proc_grid; }
|
||
|
int * GetBlockType() { return this->block_type; }
|
||
|
int * GetBlockIndex() { return this->block_idx; }
|
||
|
int * GetBlockFileProc() { return this->block_fileProc; }
|
||
|
int GetZoneStart() { return this->zoneStart; }
|
||
|
|
||
|
void SetGlobalZoneLayout();
|
||
|
private:
|
||
|
void InitZoneLayout(fstream &file);
|
||
|
|
||
|
};
|
||
|
}
|