LCOV - code coverage report
Current view: top level - src/materials/large_deformation_models - LargeDeformationNewtonianViscosity.C (source / functions) Hit Total Coverage
Test: coverage.info Lines: 16 17 94.1 %
Date: 2025-02-21 01:06:12 Functions: 3 3 100.0 %

          Line data    Source code
       1             : //* This file is part of the RACCOON application
       2             : //* being developed at Dolbow lab at Duke University
       3             : //* http://dolbow.pratt.duke.edu
       4             : 
       5             : #include "LargeDeformationNewtonianViscosity.h"
       6             : 
       7             : registerMooseObject("raccoonApp", LargeDeformationNewtonianViscosity);
       8             : 
       9             : InputParameters
      10         142 : LargeDeformationNewtonianViscosity::validParams()
      11             : {
      12         142 :   InputParameters params = LargeDeformationViscoelasticityModel::validParams();
      13         142 :   params.addClassDescription("Newtonian viscosity.");
      14         284 :   params.addParam<MaterialPropertyName>("viscosity", "viscosity", "Name of the viscosity material");
      15         284 :   params.addParam<MaterialPropertyName>("degradation_function", "g", "The degradation function");
      16             : 
      17         142 :   return params;
      18           0 : }
      19             : 
      20           3 : LargeDeformationNewtonianViscosity::LargeDeformationNewtonianViscosity(
      21           3 :     const InputParameters & parameters)
      22             :   : LargeDeformationViscoelasticityModel(parameters),
      23           9 :     _eta(getADMaterialProperty<Real>(prependBaseName("viscosity", true))),
      24           9 :     _g(getADMaterialProperty<Real>(prependBaseName("degradation_function", true)))
      25             : {
      26           3 : }
      27             : 
      28             : ADRankTwoTensor
      29       62224 : LargeDeformationNewtonianViscosity::computeCauchyStress(const ADRankTwoTensor & Fm,
      30             :                                                         const RankTwoTensor & Fm_old)
      31             : {
      32       62224 :   ADRankTwoTensor Fm_dot = (Fm - Fm_old) / _dt;
      33       62224 :   ADRankTwoTensor Fm_inv = Fm.inverse();
      34       62224 :   ADRankTwoTensor D = (Fm_dot * Fm_inv + Fm_inv.transpose() * Fm_dot.transpose()) / 2;
      35      124448 :   return _g[_qp] * _eta[_qp] * D.deviatoric();
      36             : }

Generated by: LCOV version 1.16