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
23
26
27int main (int argc, char* argv[])
28{
29 Util::Initialize(argc,argv);
30
31 std::string program;
33 // which integrator to use (can only be mechanics)
34 pp.query_validate("alamo.program",program,{"mechanics"});
35 srand(2);
36
37 Integrator::Integrator *integrator = nullptr;
38
39 if (program == "mechanics")
40 {
41 std::string model = "linear.isotropic";
42 // which mechanics model to use
43 pp.query_default("alamo.program.mechanics.model",model,"linear.isotropic");
44 if (model == "linear.isotropic")
46 else if (model == "linear.cubic")
48 else if (model == "affine.cubic")
50 else if (model == "affine.hexagonal")
52 else if (model == "affine.isotropic")
54 else if (model == "linear.laplacian")
56 else if (model == "finite.neohookean")
58 else if (model == "finite.neohookeanpre")
60 else if (model == "linear.transverse")
62 else if (model == "finite.pseudolinear.cubic")
64 else if (model == "finite.pseudoaffine.cubic")
66 else if (model == "affine.j2")
68 else if (model == "finite.crystalplastic")
70 else Util::Abort(INFO,model," is not a valid model");
71 }
72 else Util::Abort(INFO,"Error: \"",program,"\" is not a valid program.");
73
74 integrator->InitData();
75 integrator->Evolve();
76 delete integrator;
77
79}
#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:203
void select_only(PTRTYPE *&ic_eta, Args &&args)
Definition ParmParse.H:859
int query_validate(std::string name, int &value, std::vector< int > possibleintvals, std::string file="", std::string func="", int line=-1)
Definition ParmParse.H:213
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:27
void Abort(const char *msg)
Definition Util.cpp:170
void Finalize()
Definition Util.cpp:158
void Initialize()
Definition Util.cpp:128