Alamo
mechanics.cc
Go to the documentation of this file.
1#include <iostream>
2#include <fstream>
3#include <iomanip>
4
5#include "Util/Util.H"
6#include "IO/ParmParse.H"
7#include "IO/FileNameParse.H"
8#include "IO/WriteMetaData.H"
9#include "AMReX_ParmParse.H"
10
22
25
26int main (int argc, char* argv[])
27{
28 Util::Initialize(argc,argv);
29
30 std::string program;
32 // which integrator to use (can only be mechanics)
33 pp.query_validate("alamo.program",program,{"mechanics"});
34 srand(2);
35
36 Integrator::Integrator *integrator = nullptr;
37
38 if (program == "mechanics")
39 {
40 std::string model = "linear.isotropic";
41 // which mechanics model to use
42 pp.query_default("alamo.program.mechanics.model",model,"linear.isotropic");
43 if (model == "linear.isotropic")
45 else if (model == "linear.cubic")
47 else if (model == "affine.cubic")
49 else if (model == "affine.hexagonal")
51 else if (model == "affine.isotropic")
53 else if (model == "linear.laplacian")
55 else if (model == "finite.neohookean")
57 else if (model == "finite.neohookeanpre")
59 else if (model == "finite.pseudolinear.cubic")
61 else if (model == "finite.pseudoaffine.cubic")
63 else if (model == "affine.j2")
65 else if (model == "finite.crystalplastic")
67 else Util::Abort(INFO,model," is not a valid model");
68 }
69 else Util::Abort(INFO,"Error: \"",program,"\" is not a valid program.");
70
71 integrator->InitData();
72 integrator->Evolve();
73 delete integrator;
74
76}
#define INFO
Definition Util.H:20
int query_default(std::string name, T &value, T defaultvalue, std::string="", std::string="", int=-1)
Definition ParmParse.H:185
void select_only(PTRTYPE *&ic_eta, Args &&args)
Definition ParmParse.H:765
int query_validate(std::string name, int &value, std::vector< int > possibleintvals, std::string file="", std::string func="", int line=-1)
Definition ParmParse.H:195
void InitData()
Front-end method to initialize simulation on all levels.
void Evolve()
Front-end method to start simulation.
int main(int argc, char *argv[])
Definition mechanics.cc:26
void Abort(const char *msg)
Definition Util.cpp:170
void Finalize()
Definition Util.cpp:158
void Initialize()
Definition Util.cpp:128