99 lines
3.0 KiB
C
99 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 SpecDiffHybGrid.h
|
||
|
//! @brief Grid data for SpecDiffHybSolver.
|
||
|
//! @author ZhangZipei.
|
||
|
|
||
|
#pragma once
|
||
|
#include "TypeDefine.h"
|
||
|
#include "Complex.h"
|
||
|
#include "SpecGrid.h"
|
||
|
//#include "Param_SpecDiffHybSolver.h"
|
||
|
using namespace std;
|
||
|
|
||
|
namespace PHSPACE
|
||
|
{
|
||
|
/*
|
||
|
class SpecDiffHybGrid : public SpecGrid
|
||
|
{
|
||
|
public:
|
||
|
SpecDiffHybGrid();
|
||
|
~SpecDiffHybGrid();
|
||
|
|
||
|
private:
|
||
|
int nyquistX, nyquistY;
|
||
|
Int1D *physicalStartIndex, *physicalEndIndex, *physicalIndexSize;
|
||
|
// Int1D *fourierStartIndexGlobal, *fourierEndIndexGlobal;
|
||
|
Int1D *dimensionOfP3DFFT;
|
||
|
string gridFileName, zgridFileName;
|
||
|
int procIDWithKx0Ky0;
|
||
|
|
||
|
public:
|
||
|
int nX, nY, nZ, nX2, nY2, nZ2, nXYAll, nXYZFourier, nXYZPhysical;
|
||
|
int iStartFourierIndex , jStartFourierIndex , kStartFourierIndex , iEndFourierIndex , jEndFourierIndex , kEndFourierIndex ;
|
||
|
int iStartPhysicalIndex, jStartPhysicalIndex, kStartPhysicalIndex, iEndPhysicalIndex, jEndPhysicalIndex, kEndPhysicalIndex;
|
||
|
//int x0Fall, y0Fall, z0Fall, xNFall, yNFall, zNFall;
|
||
|
int iStartFourierIndexGlobal, jStartFourierIndexGlobal, kStartFourierIndexGlobal, iEndFourierIndexGlobal, jEndFourierIndexGlobal, kEndFourierIndexGlobal;
|
||
|
double realKNyquistX, realKNyquistY;
|
||
|
|
||
|
Int1D *fourierStartIndex, *fourierEndIndex, *fourierIndexSize;
|
||
|
Int2D *startAndEndFourierIndexOfAll, *startAndEndPhysicalIndexOfAll;
|
||
|
// int **startAndEndAll, **startAndEndPhysical;
|
||
|
// Int1D * physicalStart, ;
|
||
|
RDouble1D *realKX, *realKY;
|
||
|
Complex1D *complexKX, *complexKY;
|
||
|
RDouble1D *realZ, *realDetaDz;
|
||
|
|
||
|
private:
|
||
|
void InitGridFileName();
|
||
|
|
||
|
public:
|
||
|
|
||
|
void InitGridData();
|
||
|
void InitGridSize();
|
||
|
void AllocGridData();
|
||
|
void GetGrid();
|
||
|
void SetZGrid();
|
||
|
void Getiz_p2();
|
||
|
void InitWavenumber();
|
||
|
// void GetDetaDz(CompactDifferenceFirstDerivative *CompactDifferenceFirstDerivativeData);
|
||
|
void InitP3DFFT();
|
||
|
|
||
|
int GetProcIDWithKx0Ky0();
|
||
|
|
||
|
};
|
||
|
*/
|
||
|
|
||
|
class SpecDiffHybGrid : public SpecGrid
|
||
|
{
|
||
|
public:
|
||
|
SpecDiffHybGrid();
|
||
|
~SpecDiffHybGrid();
|
||
|
|
||
|
void InitGridData();
|
||
|
|
||
|
private:
|
||
|
void ReadGrid();
|
||
|
|
||
|
void SetZGrid();
|
||
|
|
||
|
void InitGridFileName();
|
||
|
|
||
|
void InitP3DFFT();
|
||
|
|
||
|
void AllocGridData();
|
||
|
|
||
|
void InitWavenumber();
|
||
|
};
|
||
|
|
||
|
}
|