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 "PorousFlowRelativePermeabilityFLAC.h" 11 : 12 : registerMooseObject("PorousFlowApp", PorousFlowRelativePermeabilityFLAC); 13 : registerMooseObject("PorousFlowApp", ADPorousFlowRelativePermeabilityFLAC); 14 : 15 : template <bool is_ad> 16 : InputParameters 17 2687 : PorousFlowRelativePermeabilityFLACTempl<is_ad>::validParams() 18 : { 19 2687 : InputParameters params = PorousFlowRelativePermeabilityBaseTempl<is_ad>::validParams(); 20 5374 : params.addRequiredRangeCheckedParam<Real>( 21 : "m", "m >= 0", "relperm = (1 + m)seff^m - m seff^(m+1)"); 22 2687 : params.addClassDescription( 23 : "This Material calculates relative permeability of a phase using a model inspired by FLAC"); 24 2687 : return params; 25 0 : } 26 : 27 : template <bool is_ad> 28 2088 : PorousFlowRelativePermeabilityFLACTempl<is_ad>::PorousFlowRelativePermeabilityFLACTempl( 29 : const InputParameters & parameters) 30 : : PorousFlowRelativePermeabilityBaseTempl<is_ad>(parameters), 31 4176 : _m(this->template getParam<Real>("m")) 32 : { 33 2088 : } 34 : 35 : template <bool is_ad> 36 : GenericReal<is_ad> 37 2929274 : PorousFlowRelativePermeabilityFLACTempl<is_ad>::relativePermeability(GenericReal<is_ad> seff) const 38 : { 39 2929274 : return PorousFlowFLACrelperm::relativePermeability(seff, _m); 40 : } 41 : 42 : template <bool is_ad> 43 : Real 44 2929274 : PorousFlowRelativePermeabilityFLACTempl<is_ad>::dRelativePermeability(Real seff) const 45 : { 46 2929274 : return PorousFlowFLACrelperm::dRelativePermeability(seff, _m); 47 : } 48 : 49 : template class PorousFlowRelativePermeabilityFLACTempl<false>; 50 : template class PorousFlowRelativePermeabilityFLACTempl<true>;