LCOV - code coverage report
Current view: top level - src - alamo.cc (source / functions) Hit Total Coverage
Test: coverage_merged.info Lines: 22 25 88.0 %
Date: 2024-11-18 05:28:54 Functions: 1 1 100.0 %

          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 : } 

Generated by: LCOV version 1.14