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 "CoupledPressureBC.h" 11 : #include "PressureAction.h" 12 : 13 : registerMooseObject("SolidMechanicsApp", CoupledPressureBC); 14 : 15 48 : registerMoosePressureAction("SolidMechanicsApp", CoupledPressureBC, CoupledPressureAction); 16 : 17 : template <bool is_ad> 18 : InputParameters 19 144 : CoupledPressureBCTempl<is_ad>::validParams() 20 : { 21 144 : InputParameters params = PressureParent<is_ad>::validParams(); 22 144 : params.addClassDescription( 23 : "Applies a pressure from a variable on a given boundary in a given direction"); 24 144 : params += actionParams(); 25 144 : return params; 26 0 : } 27 : 28 : template <bool is_ad> 29 : InputParameters 30 156 : CoupledPressureBCTempl<is_ad>::actionParams() 31 : { 32 156 : InputParameters params = PressureParent<is_ad>::actionParams(); 33 312 : params.addRequiredCoupledVar("pressure", "Coupled variable containing the pressure"); 34 156 : return params; 35 0 : } 36 : 37 : template <bool is_ad> 38 54 : CoupledPressureBCTempl<is_ad>::CoupledPressureBCTempl(const InputParameters & parameters) 39 : : PressureParent<is_ad>(parameters), 40 54 : _pressure(this->template coupledGenericValue<is_ad>("pressure")) 41 : { 42 54 : } 43 : 44 : template <bool is_ad> 45 : GenericReal<is_ad> 46 25344 : CoupledPressureBCTempl<is_ad>::computePressure() const 47 : { 48 25344 : return _pressure[_qp]; 49 : } 50 : 51 : template class CoupledPressureBCTempl<true>; 52 : template class CoupledPressureBCTempl<false>;