LCOV - code coverage report
Current view: top level - src - mechanics.cc (source / functions) Coverage Total Hit
Test: coverage_merged.info Lines: 90.0 % 30 27
Test Date: 2025-02-27 04:17:48 Functions: 100.0 % 1 1

            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/Linear/Isotropic.H"
      12              : #include "Model/Solid/Affine/Isotropic.H"
      13              : #include "Model/Solid/Linear/Cubic.H"
      14              : #include "Model/Solid/Affine/Cubic.H"
      15              : #include "Model/Solid/Finite/NeoHookean.H"
      16              : #include "Model/Solid/Finite/NeoHookeanPredeformed.H"
      17              : #include "Model/Solid/Finite/PseudoLinear/Cubic.H"
      18              : #include "Model/Solid/Finite/PseudoAffine/Cubic.H"
      19              : #include "Model/Solid/Linear/Laplacian.H"
      20              : #include "Model/Solid/Affine/J2.H"
      21              : #include "Model/Solid/Affine/Hexagonal.H"
      22              : 
      23              : #include "Integrator/Mechanics.H"
      24              : #include "Model/Solid/Finite/CrystalPlastic.H"
      25              : 
      26           40 : int main (int argc, char* argv[])
      27              : {
      28           40 :     Util::Initialize(argc,argv);
      29              : 
      30           40 :     std::string program = "mechanics";
      31           40 :     IO::ParmParse pp;
      32           40 :     pp_query("alamo.program",program);
      33           40 :     srand(2);
      34              : 
      35           40 :     Integrator::Integrator *integrator = nullptr;
      36           40 :     if (program == "mechanics")
      37              :     {
      38           40 :         std::string model = "linear.isotropic";
      39           40 :         pp_query("alamo.program.mechanics.model",model);
      40           40 :         if (model == "linear.isotropic")        integrator = new Integrator::Mechanics<Model::Solid::Linear::Isotropic>(pp);
      41           32 :         else if (model == "linear.cubic")       integrator = new Integrator::Mechanics<Model::Solid::Linear::Cubic>(pp);
      42           32 :         else if (model == "affine.cubic")       integrator = new Integrator::Mechanics<Model::Solid::Affine::Cubic>(pp);
      43           30 :         else if (model == "affine.hexagonal")   integrator = new Integrator::Mechanics<Model::Solid::Affine::Hexagonal>(pp);
      44           29 :         else if (model == "affine.isotropic")   integrator = new Integrator::Mechanics<Model::Solid::Affine::Isotropic>(pp);
      45           18 :         else if (model == "linear.laplacian")   integrator = new Integrator::Mechanics<Model::Solid::Linear::Laplacian>(pp);
      46           13 :         else if (model == "finite.neohookean") integrator = new Integrator::Mechanics<Model::Solid::Finite::NeoHookean>(pp);
      47            5 :         else if (model == "finite.neohookeanpre") integrator = new Integrator::Mechanics<Model::Solid::Finite::NeoHookeanPredeformed>(pp);
      48            4 :         else if (model == "finite.pseudolinear.cubic") integrator = new Integrator::Mechanics<Model::Solid::Finite::PseudoLinear::Cubic>(pp);
      49            3 :         else if (model == "finite.pseudoaffine.cubic") integrator = new Integrator::Mechanics<Model::Solid::Finite::PseudoAffine::Cubic>(pp);
      50            3 :         else if (model == "affine.j2")          integrator = new Integrator::Mechanics<Model::Solid::Affine::J2>(pp);
      51            0 :         else if (model == "finite.crystalplastic")        integrator = new Integrator::Mechanics<Model::Solid::Finite::CrystalPlastic>(pp);
      52            0 :         else Util::Abort(INFO,model," is not a valid model");
      53           40 :     }
      54            0 :     else Util::Abort(INFO,"Error: \"",program,"\" is not a valid program.");
      55              : 
      56           40 :     integrator->InitData();
      57           40 :     integrator->Evolve();
      58           18 :     delete integrator;
      59              : 
      60           18 :     Util::Finalize();
      61           18 : } 
        

Generated by: LCOV version 2.0-1