Alamo
sfi.cc
Go to the documentation of this file.
1#include "IO/ParmParse.H"
4#include "Integrator/Flame.H"
5#include "Util/Util.H"
6
7#if AMREX_SPACEDIM==2
8#include "Integrator/SFI.H"
9#endif
10
11int main (int argc, char* argv[])
12{
13 Util::Initialize(argc,argv);
14
15 #if AMREX_SPACEDIM==2
17 std::string program;
18
19 srand(2);
20
21 Integrator::Integrator *integrator = nullptr;
22
23 // Validate/make sure the correct Alamo program/Inetrgator is used
24 pp.query_switch("alamo.program",{
25 {"allencahn", [&](){
26 pp.select_only<Integrator::SFI<Integrator::AllenCahn>>(integrator);
27 }},
28 {"dendrite", [&](){
29 pp.select_only<Integrator::SFI<Integrator::Dendrite>>(integrator);
30 }},
31 {"flame", [&]() {
32 pp.select_only<Integrator::SFI<Integrator::Flame>>(integrator);
33 }}
34 });
35
36 integrator->InitData();
37 integrator->Evolve();
38
39 delete integrator;
40 #else
42 Util::Abort(INFO,"This integrator works in 2D only");
43 #endif
44
45
47}
#define INFO
Definition Util.H:24
int query_switch(std::string name, std::initializer_list< std::pair< std::string, std::function< void()> > > cases, const std::source_location &location=std::source_location::current())
Definition ParmParse.H:714
static bool InTraversalMode()
Definition ParmParse.cpp:14
void select_only(PTRTYPE *&ic_eta, Args &&args)
Definition ParmParse.H:2175
void InitData()
Front-end method to initialize simulation on all levels.
void Evolve()
Front-end method to start simulation.
void Finalize()
Definition Util.cpp:385
void Initialize()
Definition Util.cpp:219
AMREX_GPU_HOST_DEVICE void Abort(const char *msg)
Definition Util.cpp:406
int main(int argc, char *argv[])
Definition sfi.cc:11