PHengLEI-NCCR/API/Geometry/include/Geo_DynamicGridMetrics_Stru...

78 lines
2.6 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 Geo_DynamicGridMetrics_Struct.h
//! @brief It defines the dynamic grid metrics of the structured grid,
//! such as the face normal velocity.
//! @author Bell, Chang Xinghua, Zhang Jian, He Xin.
#pragma once
#include "TypeDefine.h"
namespace PHSPACE
{
//! @brief Geo_DynamicGridMetrics_Struct class defines the dynamic grid metrics of the structured grid.
//! 1: Cell volume of the last time step.
//! 2: Face normal velocity.
//! 3: Face velocity.
class Geo_DynamicGridMetrics_Struct
{
private:
//! Cell volume of the last time step.
RDouble3D *voln;
//! Face normal velocity.
RDouble4D *vgn;
//! Face velocity.
RDouble4D *xfv, *yfv, *zfv;
public:
Geo_DynamicGridMetrics_Struct();
~Geo_DynamicGridMetrics_Struct();
public:
//! Return the cell volume of the last time step (voln).
RDouble3D * GetCellVolumeOld() const;
//! Return the Face normal velocity (vgn).
RDouble4D * GetFaceNormalVelocity() const;
//! Return the x component of face velocity (xfv).
RDouble4D * GetFaceVelocityX() const;
//! Return the y component of face velocity (yfv).
RDouble4D * GetFaceVelocityY() const;
//! Return the z component of face velocity (zfv).
RDouble4D * GetFaceVelocityZ() const;
//! Assign the cell volume of the last time step (voln).
void SetCellVolumeOld(RDouble3D *voln);
//! Assign the Face normal velocity (vgn).
void SetFaceNormalVelocity(RDouble4D *vgn);
//! Assign the x component of face velocity (xfv).
void SetFaceVelocityX(RDouble4D *xfv);
//! Assign the y component of face velocity (yfv).
void SetFaceVelocityY(RDouble4D *yfv);
//! Assign the z component of face velocity (zfv).
void SetFaceVelocityZ(RDouble4D *zfv);
private:
void DeallocateAll();
};
#include "Geo_DynamicGridMetrics_Struct.hxx"
}