Skip to content
Snippets Groups Projects
Commit 8c55a511 authored by Martin Schönherr's avatar Martin Schönherr :speech_balloon:
Browse files

refactor all navier stokes inits

parent 2c4e5b09
No related branches found
No related tags found
1 merge request!295Clean up init GPU
Showing
with 376 additions and 160 deletions
......@@ -30,7 +30,7 @@ B15CompressibleNavierStokesBGKplus::B15CompressibleNavierStokesBGKplus(std::shar
this->para = para;
this->level = level;
myPreProcessorTypes.push_back(InitCompSP27);
myPreProcessorTypes.push_back(InitNavierStokesCompressible);
}
......
......@@ -30,7 +30,7 @@ B92CompressibleNavierStokes::B92CompressibleNavierStokes(std::shared_ptr<Paramet
this->para = para;
this->level = level;
myPreProcessorTypes.push_back(InitCompSP27);
myPreProcessorTypes.push_back(InitNavierStokesCompressible);
}
......
......@@ -48,7 +48,7 @@ K15CompressibleNavierStokes::K15CompressibleNavierStokes(std::shared_ptr<Paramet
this->para = para;
this->level = level;
myPreProcessorTypes.push_back(InitCompSP27);
myPreProcessorTypes.push_back(InitNavierStokesCompressible);
}
\ No newline at end of file
......@@ -116,7 +116,7 @@ void K17CompressibleNavierStokes<turbulenceModel>::runOnIndices(const unsigned i
template <vf::lbm::TurbulenceModel turbulenceModel>
K17CompressibleNavierStokes<turbulenceModel>::K17CompressibleNavierStokes(std::shared_ptr<Parameter> para, int level) : KernelImp(para, level)
{
myPreProcessorTypes.push_back(InitCompSP27);
myPreProcessorTypes.push_back(InitNavierStokesCompressible);
this->cudaGrid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
this->kernelUsesFluidNodeIndices = true;
......
......@@ -30,7 +30,7 @@ B15IncompressibleNavierStokesBGKplus::B15IncompressibleNavierStokesBGKplus(std::
this->para = para;
this->level = level;
myPreProcessorTypes.push_back(InitSP27);
myPreProcessorTypes.push_back(InitNavierStokesIncompressible);
}
......
......@@ -30,7 +30,7 @@ B92IncompressibleNavierStokes::B92IncompressibleNavierStokes(std::shared_ptr<Par
this->para = para;
this->level = level;
myPreProcessorTypes.push_back(InitSP27);
myPreProcessorTypes.push_back(InitNavierStokesIncompressible);
}
......
......@@ -30,7 +30,7 @@ K15IncompressibleNavierStokes::K15IncompressibleNavierStokes(std::shared_ptr<Par
this->para = para;
this->level = level;
myPreProcessorTypes.push_back(InitSP27);
myPreProcessorTypes.push_back(InitNavierStokesIncompressible);
}
......
......@@ -46,7 +46,7 @@ void ADKernelManager::initAD(const int level) const
//////////////////////////////////////////////////////////////////////////
para->getParD(level)->isEvenTimestep = true;
//////////////////////////////////////////////////////////////////////////
InitADDev27(
initAdvectionDiffusion(
para->getParD(level)->numberofthreads,
para->getParD(level)->neighborX,
para->getParD(level)->neighborY,
......@@ -62,7 +62,7 @@ void ADKernelManager::initAD(const int level) const
//////////////////////////////////////////////////////////////////////////
para->getParD(level)->isEvenTimestep = false;
//////////////////////////////////////////////////////////////////////////
InitADDev27(
initAdvectionDiffusion(
para->getParD(level)->numberofthreads,
para->getParD(level)->neighborX,
para->getParD(level)->neighborY,
......
......@@ -4,11 +4,11 @@
#include "PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7.h"
#include "PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27.h"
#include "PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27.h"
#include "PreProcessor/PreProcessorStrategy/InitF3/InitF3.h"
#include "PreProcessor/PreProcessorStrategy/InitNavierStokesCompressible/InitNavierStokesCompressible.h"
#include "PreProcessor/PreProcessorStrategy/InitK18K20NavierStokesCompressible/InitK18K20NavierStokesCompressible.h"
#include "PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27.h"
#include "PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7.h"
#include "PreProcessor/PreProcessorStrategy/InitSP27/InitSP27.h"
#include "PreProcessor/PreProcessorStrategy/InitNavierStokesIncompressible/InitNavierStokesIncompressible.h"
std::shared_ptr<PreProcessor> PreProcessorFactoryImp::makePreProcessor(std::vector<PreProcessorType> preProcessorTypes, std::shared_ptr<Parameter> para)
......@@ -25,14 +25,14 @@ std::shared_ptr<PreProcessorStrategy> PreProcessorFactoryImp::makePreProcessorSt
{
switch (preProcessorType)
{
case InitSP27:
return InitSP27::getNewInstance(para);
case InitNavierStokesIncompressible:
return InitNavierStokesIncompressible::getNewInstance(para);
break;
case InitCompSP27:
return InitCompSP27::getNewInstance(para);
case InitNavierStokesCompressible:
return InitNavierStokesCompressible::getNewInstance(para);
break;
case InitF3:
return InitF3::getNewInstance(para);
case InitK18K20NavierStokesCompressible:
return InitK18K20NavierStokesCompressible::getNewInstance(para);
break;
case InitIncompAD7:
return InitIncompAD7::getNewInstance(para);
......
#ifndef INIT_COMP_SP27_H
#define INIT_COMP_SP27_H
#include "PreProcessor/PreProcessorStrategy/PreProcessorStrategy.h"
#include <memory>
class Parameter;
class InitCompSP27 : public PreProcessorStrategy
{
public:
static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
void init(int level);
bool checkParameter();
private:
InitCompSP27();
InitCompSP27(std::shared_ptr< Parameter> para);
std::shared_ptr< Parameter> para;
};
#endif
\ No newline at end of file
#ifndef LB_INIT_COMP_SP27_H
#define LB_INIT_COMP_SP27_H
#include <DataTypes.h>
#include <curand.h>
__global__ void LB_Init_Comp_SP_27(unsigned int* neighborX,
unsigned int* neighborY,
unsigned int* neighborZ,
unsigned int* geoD,
real* rho,
real* ux,
real* uy,
real* uz,
unsigned int size_Mat,
real* DD,
bool EvenOrOdd);
__global__ void LB_Init_Comp_Neq_SP_27(unsigned int* neighborX,
unsigned int* neighborY,
unsigned int* neighborZ,
unsigned int* neighborWSB,
unsigned int* geoD,
real* rho,
real* ux,
real* uy,
real* uz,
unsigned int size_Mat,
real* DD,
real omega,
bool EvenOrOdd);
#endif
\ No newline at end of file
#include "InitF3.h"
#include "InitF3_Device.cuh"
#include "Parameter/Parameter.h"
#include <cuda_helper/CudaGrid.h>
std::shared_ptr<PreProcessorStrategy> InitF3::getNewInstance(std::shared_ptr<Parameter> para)
{
return std::shared_ptr<PreProcessorStrategy>(new InitF3(para));
}
void InitF3::init(int level)
{
vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
LB_Init_F3 <<< grid.grid, grid.threads >>>(
para->getParD(level)->neighborX,
para->getParD(level)->neighborY,
para->getParD(level)->neighborZ,
para->getParD(level)->typeOfGridNode,
para->getParD(level)->rho,
para->getParD(level)->velocityX,
para->getParD(level)->velocityY,
para->getParD(level)->velocityZ,
para->getParD(level)->numberOfNodes,
para->getParD(level)->g6.g[0],
para->getParD(level)->isEvenTimestep);
getLastCudaError("LB_Init_F3 execution failed");
}
bool InitF3::checkParameter()
{
return false;
}
InitF3::InitF3(std::shared_ptr<Parameter> para)
{
this->para = para;
}
InitF3::InitF3()
{
}
#ifndef INITF3_H
#define INITF3_H
#include "PreProcessor/PreProcessorStrategy/PreProcessorStrategy.h"
#include <memory>
class Parameter;
class InitF3 : public PreProcessorStrategy
{
public:
static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
void init(int level);
bool checkParameter();
private:
InitF3();
InitF3(std::shared_ptr< Parameter> para);
std::shared_ptr< Parameter> para;
};
#endif
\ No newline at end of file
#ifndef LB_INIT_F3_H
#define LB_INIT_F3_H
#include <DataTypes.h>
#include <curand.h>
__global__ void LB_Init_F3(unsigned int* neighborX,
unsigned int* neighborY,
unsigned int* neighborZ,
unsigned int* geoD,
real* rho,
real* ux,
real* uy,
real* uz,
unsigned int size_Mat,
real* G6,
bool EvenOrOdd);
#endif
\ No newline at end of file
//=======================================================================================
// ____ ____ __ ______ __________ __ __ __ __
// \ \ | | | | | _ \ |___ ___| | | | | / \ | |
// \ \ | | | | | |_) | | | | | | | / \ | |
// \ \ | | | | | _ / | | | | | | / /\ \ | |
// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____
// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______|
// \ \ | | ________________________________________________________________
// \ \ | | | ______________________________________________________________|
// \ \| | | | __ __ __ __ ______ _______
// \ | | |_____ | | | | | | | | | _ \ / _____)
// \ | | _____| | | | | | | | | | | \ \ \_______
// \ | | | | |_____ | \_/ | | | | |_/ / _____ |
// \ _____| |__| |________| \_______/ |__| |______/ (_______/
//
// This file is part of VirtualFluids. VirtualFluids is free software: you can
// redistribute it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation, either version 3 of
// the License, or (at your option) any later version.
//
// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \author Martin Schoenherr
//=======================================================================================
#include "InitK18K20NavierStokesCompressible.h"
#include "InitK18K20NavierStokesCompressible_Device.cuh"
#include "Parameter/Parameter.h"
#include <cuda_helper/CudaGrid.h>
std::shared_ptr<PreProcessorStrategy> InitK18K20NavierStokesCompressible::getNewInstance(std::shared_ptr<Parameter> para)
{
return std::shared_ptr<PreProcessorStrategy>(new InitK18K20NavierStokesCompressible(para));
}
void InitK18K20NavierStokesCompressible::init(int level)
{
vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
InitK18K20NavierStokesCompressible_Device <<< grid.grid, grid.threads >>>(
para->getParD(level)->neighborX,
para->getParD(level)->neighborY,
para->getParD(level)->neighborZ,
para->getParD(level)->typeOfGridNode,
para->getParD(level)->rho,
para->getParD(level)->velocityX,
para->getParD(level)->velocityY,
para->getParD(level)->velocityZ,
para->getParD(level)->numberOfNodes,
para->getParD(level)->g6.g[0],
para->getParD(level)->isEvenTimestep);
getLastCudaError("InitK18K20NavierStokesCompressible_Device execution failed");
}
bool InitK18K20NavierStokesCompressible::checkParameter()
{
return false;
}
InitK18K20NavierStokesCompressible::InitK18K20NavierStokesCompressible(std::shared_ptr<Parameter> para)
{
this->para = para;
}
InitK18K20NavierStokesCompressible::InitK18K20NavierStokesCompressible()
{
}
//=======================================================================================
// ____ ____ __ ______ __________ __ __ __ __
// \ \ | | | | | _ \ |___ ___| | | | | / \ | |
// \ \ | | | | | |_) | | | | | | | / \ | |
// \ \ | | | | | _ / | | | | | | / /\ \ | |
// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____
// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______|
// \ \ | | ________________________________________________________________
// \ \ | | | ______________________________________________________________|
// \ \| | | | __ __ __ __ ______ _______
// \ | | |_____ | | | | | | | | | _ \ / _____)
// \ | | _____| | | | | | | | | | | \ \ \_______
// \ | | | | |_____ | \_/ | | | | |_/ / _____ |
// \ _____| |__| |________| \_______/ |__| |______/ (_______/
//
// This file is part of VirtualFluids. VirtualFluids is free software: you can
// redistribute it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation, either version 3 of
// the License, or (at your option) any later version.
//
// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \author Martin Schoenherr
//=======================================================================================
#ifndef InitK18K20NavierStokesCompressible_H
#define InitK18K20NavierStokesCompressible_H
#include "PreProcessor/PreProcessorStrategy/PreProcessorStrategy.h"
#include <memory>
class Parameter;
class InitK18K20NavierStokesCompressible : public PreProcessorStrategy
{
public:
static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
void init(int level);
bool checkParameter();
private:
InitK18K20NavierStokesCompressible();
InitK18K20NavierStokesCompressible(std::shared_ptr< Parameter> para);
std::shared_ptr< Parameter> para;
};
#endif
\ No newline at end of file
//=======================================================================================
// ____ ____ __ ______ __________ __ __ __ __
// \ \ | | | | | _ \ |___ ___| | | | | / \ | |
// \ \ | | | | | |_) | | | | | | | / \ | |
// \ \ | | | | | _ / | | | | | | / /\ \ | |
// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____
// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______|
// \ \ | | ________________________________________________________________
// \ \ | | | ______________________________________________________________|
// \ \| | | | __ __ __ __ ______ _______
// \ | | |_____ | | | | | | | | | _ \ / _____)
// \ | | _____| | | | | | | | | | | \ \ \_______
// \ | | | | |_____ | \_/ | | | | |_/ / _____ |
// \ _____| |__| |________| \_______/ |__| |______/ (_______/
//
// This file is part of VirtualFluids. VirtualFluids is free software: you can
// redistribute it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation, either version 3 of
// the License, or (at your option) any later version.
//
// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \author Martin Schoenherr
//=======================================================================================
#include "LBM/LB.h"
#include "lbm/constants/D3Q27.h"
#include <basics/constants/NumericConstants.h>
......@@ -7,7 +37,7 @@ using namespace vf::lbm::dir;
#include "math.h"
__global__ void LB_Init_F3(unsigned int* neighborX,
__global__ void InitK18K20NavierStokesCompressible_Device(unsigned int* neighborX,
unsigned int* neighborY,
unsigned int* neighborZ,
unsigned int* geoD,
......
//=======================================================================================
// ____ ____ __ ______ __________ __ __ __ __
// \ \ | | | | | _ \ |___ ___| | | | | / \ | |
// \ \ | | | | | |_) | | | | | | | / \ | |
// \ \ | | | | | _ / | | | | | | / /\ \ | |
// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____
// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______|
// \ \ | | ________________________________________________________________
// \ \ | | | ______________________________________________________________|
// \ \| | | | __ __ __ __ ______ _______
// \ | | |_____ | | | | | | | | | _ \ / _____)
// \ | | _____| | | | | | | | | | | \ \ \_______
// \ | | | | |_____ | \_/ | | | | |_/ / _____ |
// \ _____| |__| |________| \_______/ |__| |______/ (_______/
//
// This file is part of VirtualFluids. VirtualFluids is free software: you can
// redistribute it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation, either version 3 of
// the License, or (at your option) any later version.
//
// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \author Martin Schoenherr
//=======================================================================================
#ifndef InitK18K20NavierStokesCompressible_Device_H
#define InitK18K20NavierStokesCompressible_Device_H
#include <DataTypes.h>
#include <curand.h>
__global__ void InitK18K20NavierStokesCompressible_Device(
unsigned int* neighborX,
unsigned int* neighborY,
unsigned int* neighborZ,
unsigned int* geoD,
real* rho,
real* ux,
real* uy,
real* uz,
unsigned int size_Mat,
real* G6,
bool EvenOrOdd);
#endif
\ No newline at end of file
#include "InitCompSP27.h"
//=======================================================================================
// ____ ____ __ ______ __________ __ __ __ __
// \ \ | | | | | _ \ |___ ___| | | | | / \ | |
// \ \ | | | | | |_) | | | | | | | / \ | |
// \ \ | | | | | _ / | | | | | | / /\ \ | |
// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____
// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______|
// \ \ | | ________________________________________________________________
// \ \ | | | ______________________________________________________________|
// \ \| | | | __ __ __ __ ______ _______
// \ | | |_____ | | | | | | | | | _ \ / _____)
// \ | | _____| | | | | | | | | | | \ \ \_______
// \ | | | | |_____ | \_/ | | | | |_/ / _____ |
// \ _____| |__| |________| \_______/ |__| |______/ (_______/
//
// This file is part of VirtualFluids. VirtualFluids is free software: you can
// redistribute it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation, either version 3 of
// the License, or (at your option) any later version.
//
// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \author Martin Schoenherr
//=======================================================================================
#include "InitNavierStokesCompressible.h"
#include "InitCompSP27_Device.cuh"
#include "InitNavierStokesCompressible_Device.cuh"
#include "Parameter/Parameter.h"
#include <cuda_helper/CudaGrid.h>
std::shared_ptr<PreProcessorStrategy> InitCompSP27::getNewInstance(std::shared_ptr<Parameter> para)
std::shared_ptr<PreProcessorStrategy> InitNavierStokesCompressible::getNewInstance(std::shared_ptr<Parameter> para)
{
return std::shared_ptr<PreProcessorStrategy>(new InitCompSP27(para));
return std::shared_ptr<PreProcessorStrategy>(new InitNavierStokesCompressible(para));
}
void InitCompSP27::init(int level)
void InitNavierStokesCompressible::init(int level)
{
vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
if( ! para->getUseInitNeq() )
{
LB_Init_Comp_SP_27 <<< grid.grid, grid.threads >>> (
InitNavierStokesCompressible_Device <<< grid.grid, grid.threads >>> (
para->getParD(level)->neighborX,
para->getParD(level)->neighborY,
para->getParD(level)->neighborZ,
......@@ -27,11 +57,11 @@ void InitCompSP27::init(int level)
para->getParD(level)->numberOfNodes,
para->getParD(level)->distributions.f[0],
para->getParD(level)->isEvenTimestep);
getLastCudaError("LB_Init_Comp_SP_27 execution failed");
getLastCudaError("InitNavierStokesCompressible_Device execution failed");
}
else
{
LB_Init_Comp_Neq_SP_27 <<< grid.grid, grid.threads >>> (
InitNavierStokesCompressibleNonEquilibrium_Device <<< grid.grid, grid.threads >>> (
para->getParD(level)->neighborX,
para->getParD(level)->neighborY,
para->getParD(level)->neighborZ,
......@@ -46,23 +76,23 @@ void InitCompSP27::init(int level)
para->getParD(level)->omega,
para->getParD(level)->isEvenTimestep);
cudaDeviceSynchronize();
getLastCudaError("LB_Init_Comp_Neq_SP_27 execution failed");
getLastCudaError("InitNavierStokesCompressibleNonEquilibrium_Device execution failed");
}
}
bool InitCompSP27::checkParameter()
bool InitNavierStokesCompressible::checkParameter()
{
return false;
}
InitCompSP27::InitCompSP27(std::shared_ptr<Parameter> para)
InitNavierStokesCompressible::InitNavierStokesCompressible(std::shared_ptr<Parameter> para)
{
this->para = para;
}
InitCompSP27::InitCompSP27()
InitNavierStokesCompressible::InitNavierStokesCompressible()
{
}
//=======================================================================================
// ____ ____ __ ______ __________ __ __ __ __
// \ \ | | | | | _ \ |___ ___| | | | | / \ | |
// \ \ | | | | | |_) | | | | | | | / \ | |
// \ \ | | | | | _ / | | | | | | / /\ \ | |
// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____
// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______|
// \ \ | | ________________________________________________________________
// \ \ | | | ______________________________________________________________|
// \ \| | | | __ __ __ __ ______ _______
// \ | | |_____ | | | | | | | | | _ \ / _____)
// \ | | _____| | | | | | | | | | | \ \ \_______
// \ | | | | |_____ | \_/ | | | | |_/ / _____ |
// \ _____| |__| |________| \_______/ |__| |______/ (_______/
//
// This file is part of VirtualFluids. VirtualFluids is free software: you can
// redistribute it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation, either version 3 of
// the License, or (at your option) any later version.
//
// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \author Martin Schoenherr
//=======================================================================================
#ifndef InitNavierStokesCompressible_H
#define InitNavierStokesCompressible_H
#include "PreProcessor/PreProcessorStrategy/PreProcessorStrategy.h"
#include <memory>
class Parameter;
class InitNavierStokesCompressible : public PreProcessorStrategy
{
public:
static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
void init(int level);
bool checkParameter();
private:
InitNavierStokesCompressible();
InitNavierStokesCompressible(std::shared_ptr< Parameter> para);
std::shared_ptr< Parameter> para;
};
#endif
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment