LCOV - code coverage report
Current view: top level - src/Model/Interface/Crack - Constant.H (source / functions) Coverage Total Hit
Test: coverage_merged.info Lines: 0.0 % 34 0
Test Date: 2025-02-27 04:17:48 Functions: 0.0 % 8 0

            Line data    Source code
       1              : #ifndef MODEL_INTERFACE_CRACK_CONSTANT_H
       2              : #define MODEL_INTERFACE_CRACK_CONSTANT_H
       3              : 
       4              : #include <iostream>
       5              : #include <fstream>
       6              : 
       7              : #include "AMReX.H"
       8              : #include "Crack.H"
       9              : #include "Set/Set.H"
      10              : #include "Util/Util.H"
      11              : 
      12              : namespace Model
      13              : {
      14              : namespace Interface
      15              : {
      16              : namespace Crack
      17              : {
      18              : class Constant : public Crack
      19              : {
      20              : public:
      21            0 :     Constant(){};
      22              :     
      23            0 :     Set::Scalar Gc (Set::Scalar /*theta*/) { return _Gc; }
      24            0 :     Set::Scalar DGc (Set::Scalar /*theta*/) { return 0.0; }
      25            0 :     Set::Scalar DDGc (Set::Scalar /*theta*/) { return 0.0; }
      26            0 :     Set::Scalar Zeta(Set::Scalar /*theta*/) { return zeta; }
      27            0 :     Set::Scalar Mobility (Set::Scalar /*theta*/) {return mobility;}
      28            0 :     Set::Scalar DrivingForceThreshold (Set::Scalar /*theta*/) {return threshold;}
      29              : private:
      30              :     Set::Scalar _Gc = 1.0, zeta = 1.e-2, mobility = 1.e-2, threshold = 0.0;
      31              : 
      32              : public:
      33            0 :     static void Parse(Constant & value, IO::ParmParse & pp)
      34              :     {
      35            0 :         pp_query("G_c",value._Gc); // Fracture energy 
      36            0 :         pp_query("zeta",value.zeta); // Lengthscale regularization
      37            0 :         pp_query("mobility",value.mobility); // Mobility (speed)
      38            0 :         pp_query("threshold", value.threshold); // Threshold
      39              :         
      40            0 :         std::string gtype = "";
      41            0 :         std::string wtype = "";
      42            0 :         pp_query("gtype", gtype); // Type of g function to use {square, multiwell, 4c3, squarep, squarepexp, cubicm}
      43            0 :         pp_query("wtype", wtype); // Type o w function to use {square, multiwell, multiwell2, 4c3}
      44              : 
      45            0 :         Set::Scalar ductile_exponent = 1.;
      46            0 :         if(gtype == "squarepexp"|| gtype == "cubicm") pp_query("exponent",ductile_exponent);
      47              : 
      48            0 :         std::map<std::string,Model::Interface::Crack::Crack::GType>  g_map;
      49            0 :         g_map["square"] = Model::Interface::Crack::Crack::GType::GSQUARE;
      50            0 :         g_map["multiwell"] = Model::Interface::Crack::Crack::GType::GMULTIWELL;
      51            0 :         g_map["4c3"] = Model::Interface::Crack::Crack::GType::GPHI4C3;
      52            0 :         g_map["squarep"] = Model::Interface::Crack::Crack::GType::GSQUAREP;
      53            0 :         g_map["squarepexp"] = Model::Interface::Crack::Crack::GType::GSQUAREPM;
      54            0 :         g_map["cubicm"] = Model::Interface::Crack::Crack::GType::GCUBICM;
      55              : 
      56            0 :         std::map<std::string,Model::Interface::Crack::Crack::WType>  w_map;
      57            0 :         w_map["square"] = Model::Interface::Crack::Crack::WType::WSQUARE;
      58            0 :         w_map["multiwell"] = Model::Interface::Crack::Crack::WType::WMULTIWELL;
      59            0 :         w_map["multiwell2"] = Model::Interface::Crack::Crack::WType::WMULTIWELL2;
      60            0 :         w_map["4c3"] = Model::Interface::Crack::Crack::WType::WPHI4C3;
      61              : 
      62            0 :         value.SetGType(g_map[gtype]);
      63            0 :         value.SetWType(w_map[wtype]);
      64              : 
      65            0 :         value.SetDuctileExponent(ductile_exponent);
      66            0 :     }
      67              : };
      68              : }
      69              : }
      70              : }
      71              : #endif
        

Generated by: LCOV version 2.0-1