Line data Source code
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 : 11 : #include "Model/Solid/Affine/Cubic.H" 12 : #include "Model/Solid/Affine/Hexagonal.H" 13 : 14 : #include "Integrator/AllenCahn.H" 15 : #include "Integrator/CahnHilliard.H" 16 : #include "Integrator/PhaseFieldMicrostructure.H" 17 : #include "Integrator/Mechanics.H" 18 : #include "Integrator/Flame.H" 19 : #include "Integrator/HeatConduction.H" 20 : #include "Integrator/Fracture.H" 21 : #include "Integrator/ThermoElastic.H" 22 : #include "Integrator/Dendrite.H" 23 : 24 12 : int main (int argc, char* argv[]) 25 : { 26 12 : Util::Initialize(argc,argv); 27 : 28 24 : std::string program = "microstructure"; 29 24 : IO::ParmParse pp; 30 12 : pp_query("alamo.program",program); 31 12 : srand(2); 32 : 33 12 : Integrator::Integrator *integrator = nullptr; 34 12 : if (program == "microstructure") 35 : { 36 6 : std::string model = "affine.cubic"; 37 3 : pp_query("alamo.program.microstructure.model",model); 38 3 : if (model == "affine.cubic") integrator = new Integrator::PhaseFieldMicrostructure<Model::Solid::Affine::Cubic>(pp); 39 0 : else if (model == "affine.hexagonal") integrator = new Integrator::PhaseFieldMicrostructure<Model::Solid::Affine::Hexagonal>(pp); 40 0 : else Util::Abort(INFO,model," is not a valid model"); 41 : } 42 9 : else if (program == "flame") integrator = new Integrator::Flame(pp); 43 6 : else if (program == "heat") integrator = new Integrator::HeatConduction(pp); 44 3 : else if (program == "thermoelastic") integrator = new Integrator::ThermoElastic(pp); 45 3 : else if (program == "fracture") integrator = new Integrator::Fracture(); 46 3 : else if (program == "dendrite") integrator = new Integrator::Dendrite(pp); 47 2 : else if (program == "allencahn") integrator = new Integrator::AllenCahn(pp); 48 0 : else Util::Abort(INFO,"Error: \"",program,"\" is not a valid program."); 49 : 50 12 : integrator->InitData(); 51 12 : integrator->Evolve(); 52 12 : delete integrator; 53 : 54 12 : Util::Finalize(); 55 12 : }