Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F63886439
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
Thu, May 23, 04:18
Size
5 KB
Mime Type
text/x-c++
Expires
Sat, May 25, 04:18 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
17830912
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 "../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.hpp"
#include "../Reconstr/NoReconstr.hpp"
#include "../Reconstr/NoReconstr_2D.hpp"
#include "../Mesh/Rect.hpp"
#include "../Mesh/Tri.h"
#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/InitIsentropicVortex.hpp"
#include "../Utility/InitialConditions/2D/InitEulerBlast.hpp"
#include "../Utility/InitialConditions/2D/InitVortexShock.hpp"
#include "../Utility/InitialConditions/2D/RP.hpp"
#include "../Reconstr/InterpolationBase/Multiquadratics.hpp"
#include "../Reconstr/InterpolationBase/Multiquadratics_2D.hpp"
#include "../Reconstr/InterpolationBase/Multiquadratics_2D_otf.hpp"
#include "../Reconstr/InterpolationBase/Polyharmonics.hpp"
#include "../Reconstr/InterpolationBase/Polyharmonics_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/CWENO_2D.h"
#include "../Mesh/BC/Periodic.hpp"
#include "../Mesh/BC/Periodic2.hpp"
#include "../Mesh/BC/MixedBC.hpp"
#include "../Mesh/BC/MixedBC_2D.hpp"
#include "../Mesh/BC/SlipWallBC.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 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