Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F62109989
Setup.hpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Fri, May 10, 23:31
Size
7 KB
Mime Type
text/x-c++
Expires
Sun, May 12, 23:31 (2 d)
Engine
blob
Format
Raw Data
Handle
17604892
Attached To
R3721 ConSol
Setup.hpp
View Options
//
// Setup.hpp
// ConSol
//
// Created by Fabian Moenkeberg on 30.06.17.
// Copyright © 2017 EPFL. All rights reserved.
//
#ifndef Setup_hpp
#define Setup_hpp
#include <stdio.h>
#include "../Mesh/MeshBase.hpp"
#include "../Model/ModelBase.hpp"
#include "../TimeIntegration/IntBase.hpp"
#include "../TimeIntegration/Ssprk2.hpp"
#include "../TimeIntegration/Ssprk3.hpp"
#include "../TimeIntegration/Ssprk5.hpp"
#include "../TimeIntegration/Fe.hpp"
#include "../Source/Source.hpp"
#include "../Source/AxisymmEuler_std_noSwirl.hpp"
#include "../Source/AxisymmEuler_rU_noSwirl.hpp"
#include "../Reconstr/Reconstruct.hpp"
#include "../Flux/NumFlux.hpp"
#include "Solution.hpp"
#include "../Utility/AbstractFunct.hpp"
#include "../Reconstr/Limiter/LimiterBase.hpp"
#include "../Reconstr/InterpolationBase/InterpBase.hpp"
#include "../Mesh/BC/BcBase.hpp"
#include <algorithm>
#include "../Reconstr/Limiter/NoLimiter.hpp"
#include "../Reconstr/Limiter/ExtremaPresLimiter_2D_TRI.hpp"
#include "../Reconstr/Limiter/ExtremaPresLimiter_2D_TRI_Euler.hpp"
#include "../Reconstr/NoReconstr.hpp"
#include "../Reconstr/NoReconstr_2D.hpp"
#include "../Reconstr/NoReconstrHybrid_2D.hpp"
#include "../Mesh/Rect.hpp"
#include "../Mesh/Tri.h"
#include "../Mesh/HybridMesh.hpp"
#include "../Mesh/FastHybridMesh.hpp"
#include "../Mesh/StructuredMesh.hpp"
#include "../Flux/LaxFried.hpp"
#include "../Flux/LaxFriedGlobal.hpp"
#include "../Model/LinAdv.hpp"
#include "../Model/Burgers.hpp"
#include "../Model/Euler.hpp"
#include "../Model/Euler2D.hpp"
#include "../Model/BuckleyLeverett.hpp"
#include "../Model/Kpp.hpp"
#include "../Model/Kppx.hpp"
#include "../Model/Kppy.hpp"
#include "../Utility/InitialConditions/Sin.hpp"
#include "../Utility/InitialConditions/2D/bubble.hpp"
#include "../Utility/InitialConditions/2D/InitKPP.hpp"
#include "../Utility/InitialConditions/2D/InitKPPY.hpp"
#include "../Utility/InitialConditions/InitEulerSod.hpp"
#include "../Utility/InitialConditions/2D/coscos.hpp"
#include "../Utility/InitialConditions/2D/sinsin.hpp"
#include "../Utility/InitialConditions/2D/InitBurgers.hpp"
#include "../Utility/InitialConditions/2D/shockX.hpp"
#include "../Utility/InitialConditions/2D/cube.hpp"
#include "../Utility/InitialConditions/2D/InitIsentropicVortex.hpp"
#include "../Utility/InitialConditions/2D/InitEulerBlast.hpp"
#include "../Utility/InitialConditions/2D/InitVortexShock.hpp"
#include "../Utility/InitialConditions/2D/InitFAC.hpp"
#include "../Utility/InitialConditions/2D/AirFoil.hpp"
#include "../Utility/InitialConditions/2D/RP.hpp"
#include "../Utility/InitialConditions/2D/InitDoubleMachReflection.hpp"
#include "../Utility/InitialConditions/2D/InitNozzle.hpp"
#include "../Utility/InitialConditions/2D/InitAxiSymmNozzle.hpp"
#include "../Utility/InitialConditions/2D/InitAxiSymmNozzle_rU.hpp"
#include "../Reconstr/InterpolationBase/Multiquadratics.hpp"
#include "../Reconstr/InterpolationBase/Multiquadratics_2D.hpp"
#include "../Reconstr/InterpolationBase/Multiquadratics_2D_mixed.hpp"
#include "../Reconstr/InterpolationBase/Multiquadratics_2D_otf.hpp"
#include "../Reconstr/InterpolationBase/Multiquadratics_2D_WENO.hpp"
#include "../Reconstr/InterpolationBase/Multiquadratics_2D_WENO_b.hpp"
#include "../Reconstr/InterpolationBase/Multiquadratics_2D_WENO_c.hpp"
#include "../Reconstr/InterpolationBase/Polyharmonics.hpp"
#include "../Reconstr/InterpolationBase/Polyharmonics_2D.hpp"
#include "../Reconstr/InterpolationBase/Gaussians_2D.hpp"
#include "../Reconstr/ENO.hpp"
#include "../Reconstr/ENO_2D.hpp"
#include "../Reconstr/ENO_2D_otf.hpp"
#include "../Reconstr/ENO_2D_std.hpp"
#include "../Reconstr/ENO_2D_symm.hpp"
#include "../Reconstr/MRWENO.hpp"
#include "../Reconstr/MRWENO_b.hpp"
#include "../Reconstr/MRWENO_c.hpp"
#include "../Reconstr/CWENO_2D.h"
#include "../Reconstr/WENO_structured.hpp"
#include "../Reconstr/HybridRBFWENO.hpp"
#include "../Mesh/BC/Periodic.hpp"
#include "../Mesh/BC/Periodic2.hpp"
#include "../Mesh/BC/AbsorbingBC.hpp"
#include "../Mesh/BC/MixedBC.hpp"
#include "../Mesh/BC/MixedBC_2D.hpp"
#include "../Mesh/BC/SlipWallBC.hpp"
#include "../Mesh/BC/BCFAC.hpp"
#include "../Mesh/BC/DoubleMachReflectionBC.hpp"
#include "../Mesh/BC/OpenFlowBC.hpp"
#include "../Mesh/BC/ScramJetBC.hpp"
#include "../Mesh/BC/NozzleBC.hpp"
class
Setup
{
MeshBase
*
mesh
;
ModelBase
*
model
;
IntBase
*
timeInt
;
Source
*
source
;
Reconstruct
*
reconstr
;
NumFlux
*
flux
;
Solution
soln
;
AbstractFunct
*
initialCond
;
LimiterBase
*
limiter
;
InterpBase
*
interpBase
;
BcBase
*
bc
;
ModelName
modelName
;
evaluationMethod
evalMethod
;
bcName
bcname
;
bcName
bcType
[
6
];
ReconstrName
reconstrName
;
InterpBaseName
interpBaseName
;
TimeIntegrationName
time_scheme
;
FluxName
fluxScheme
;
limiterName
limiter_name
;
bool
reconstrOnCharact
=
0
;
int
order
;
double
tMax
;
double
cfl
;
double
shapeParam
;
int
maxNumWrite
=
100
;
int
max_iter
=
50000
;
double
min_residue
;
std
::
vector
<
double
>
tInclude
;
double
xmin
,
xmax
,
ymin
,
ymax
;
int
dim
;
std
::
vector
<
int
>
Nx_cell
,
Ny_cell
;
char
*
input_file
;
std
::
string
ic_file
;
std
::
string
source_file
;
std
::
string
OUTPUT_PATH
;
std
::
string
SOLN_DIR
;
bool
ic_file_read
;
bool
exact_available
;
public
:
Setup
(){
};
~
Setup
(){
delete
mesh
;
delete
model
;
delete
timeInt
;
delete
flux
;
delete
reconstr
;
delete
limiter
;
delete
source
;
delete
interpBase
;
delete
bc
;
delete
initialCond
;
// delete interpBase;
};
// Setup(char* file);
Setup
(
Configuration
config
);
Setup
(
MeshBase
*
mesh
,
BcBase
*
bc
,
ModelBase
*
model
,
IntBase
*
timeInt
,
Source
*
source
,
Reconstruct
*
reconstr
,
LimiterBase
*
limiter
,
NumFlux
*
flux
,
AbstractFunct
*
initialCond
);
Setup
(
MeshBase
*
mesh
,
BcBase
*
bc
,
ModelBase
*
model
,
IntBase
*
timeInt
,
Source
*
source
,
Reconstruct
*
reconstr
,
InterpBase
*
interpBase
,
LimiterBase
*
limiter
,
NumFlux
*
flux
,
AbstractFunct
*
initialCond
);
Setup
(
MeshBase
*
mesh
,
BcBase
*
bc
,
ModelBase
*
model
,
IntBase
*
timeInt
,
Reconstruct
*
reconstr
,
LimiterBase
*
limiter
,
NumFlux
*
flux
,
AbstractFunct
*
initialCond
);
Setup
(
MeshBase
*
mesh
,
BcBase
*
bc
,
ModelBase
*
model
,
IntBase
*
timeInt
,
Reconstruct
*
reconstr
,
InterpBase
*
interpBase
,
LimiterBase
*
limiter
,
NumFlux
*
flux
,
AbstractFunct
*
initialCond
);
Solution
*
initialize
(
Configuration
config
);
MeshBase
*
getMesh
();
BcBase
*
getBC
();
NumFlux
*
getFlux
();
ModelBase
*
getModel
();
IntBase
*
getTimeInt
();
LimiterBase
*
getLimiter
();
void
exportStencils
(
std
::
vector
<
std
::
vector
<
double
>>
&
U
,
MeshBase
*
mesh
,
double
t
,
Configuration
config
);
// void read ();
// Configuration* getConfig();
private
:
// void read_grid (Reader&);
// void read_constants (Reader&);
// void read_numeric (Reader&);
// void read_model (Reader&);
// void read_initial_condition (Reader&);
// void read_exact (Reader&);
// void read_boundary_condition (Reader&);
// void read_output (Reader&);
void
process_param
(
Configuration
config
);
};
#endif
/* Setup_hpp */
Event Timeline
Log In to Comment