LCOV - code coverage report
Current view: top level - src/materials - AnisotropicReturnPlasticityStressUpdateBase.C (source / functions) Hit Total Coverage
Test: idaholab/moose solid_mechanics: f45d79 Lines: 18 23 78.3 %
Date: 2025-07-25 05:00:39 Functions: 4 10 40.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //* This file is part of the MOOSE framework
       2             : //* https://mooseframework.inl.gov
       3             : //*
       4             : //* All rights reserved, see COPYRIGHT for full restrictions
       5             : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
       6             : //*
       7             : //* Licensed under LGPL 2.1, please see LICENSE for details
       8             : //* https://www.gnu.org/licenses/lgpl-2.1.html
       9             : 
      10             : #include "AnisotropicReturnPlasticityStressUpdateBase.h"
      11             : 
      12             : template <bool is_ad>
      13             : InputParameters
      14         120 : AnisotropicReturnPlasticityStressUpdateBaseTempl<is_ad>::validParams()
      15             : {
      16         120 :   InputParameters params = GeneralizedRadialReturnStressUpdateTempl<is_ad>::validParams();
      17             : 
      18         120 :   params.set<std::string>("effective_inelastic_strain_name") = "effective_plastic_strain";
      19         120 :   params.set<std::string>("inelastic_strain_rate_name") = "plastic_strain_rate";
      20             : 
      21         120 :   return params;
      22           0 : }
      23             : 
      24             : template <bool is_ad>
      25          90 : AnisotropicReturnPlasticityStressUpdateBaseTempl<
      26             :     is_ad>::AnisotropicReturnPlasticityStressUpdateBaseTempl(const InputParameters & parameters)
      27             :   : GeneralizedRadialReturnStressUpdateTempl<is_ad>(parameters),
      28          90 :     _plasticity_strain(this->template declareGenericProperty<RankTwoTensor, is_ad>(
      29          90 :         this->_base_name + "plastic_strain")),
      30          90 :     _plasticity_strain_old(
      31         180 :         this->template getMaterialPropertyOld<RankTwoTensor>(this->_base_name + "plastic_strain"))
      32             : {
      33          90 : }
      34             : 
      35             : template <bool is_ad>
      36             : void
      37        7104 : AnisotropicReturnPlasticityStressUpdateBaseTempl<is_ad>::initQpStatefulProperties()
      38             : {
      39        7104 :   _plasticity_strain[this->_qp].zero();
      40             : 
      41        7104 :   GeneralizedRadialReturnStressUpdateTempl<is_ad>::initQpStatefulProperties();
      42        7104 : }
      43             : 
      44             : template <bool is_ad>
      45             : void
      46           0 : AnisotropicReturnPlasticityStressUpdateBaseTempl<is_ad>::propagateQpStatefulProperties()
      47             : {
      48           0 :   _plasticity_strain[this->_qp] = _plasticity_strain_old[this->_qp];
      49             : 
      50           0 :   this->propagateQpStatefulPropertiesRadialReturn();
      51           0 : }
      52             : 
      53             : template <bool is_ad>
      54             : void
      55      106880 : AnisotropicReturnPlasticityStressUpdateBaseTempl<is_ad>::computeStrainFinalize(
      56             :     GenericRankTwoTensor<is_ad> & inelasticStrainIncrement,
      57             :     const GenericRankTwoTensor<is_ad> & /*stress*/,
      58             :     const GenericDenseVector<is_ad> & /*stress_dev*/,
      59             :     const GenericReal<is_ad> & /*delta_gamma*/)
      60             : {
      61      106880 :   _plasticity_strain[this->_qp] = _plasticity_strain_old[this->_qp] + inelasticStrainIncrement;
      62      106880 : }
      63             : 
      64             : template class AnisotropicReturnPlasticityStressUpdateBaseTempl<false>;
      65             : template class AnisotropicReturnPlasticityStressUpdateBaseTempl<true>;

Generated by: LCOV version 1.14