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 "IPHDGBC.h" 11 : #include "IPHDGAssemblyHelper.h" 12 : 13 : InputParameters 14 58575 : IPHDGBC::validParams() 15 : { 16 58575 : return ADIntegratedBC::validParams(); 17 : } 18 : 19 763 : IPHDGBC::IPHDGBC(const InputParameters & parameters) 20 763 : : ADIntegratedBC(parameters), _cached_elem(nullptr), _cached_side(libMesh::invalid_uint) 21 : { 22 763 : } 23 : 24 : void 25 79980 : IPHDGBC::computeResidual() 26 : { 27 79980 : compute(); 28 239940 : for (const auto & residual_packet : iphdgHelper().taggingData()) 29 159960 : addResiduals(_assembly, residual_packet); 30 79980 : } 31 : 32 : void 33 37750 : IPHDGBC::computeJacobian() 34 : { 35 37750 : compute(); 36 113250 : for (const auto & residual_packet : iphdgHelper().taggingData()) 37 75500 : addJacobian(_assembly, residual_packet); 38 37750 : } 39 : 40 : void 41 0 : IPHDGBC::computeResidualAndJacobian() 42 : { 43 0 : compute(); 44 0 : for (const auto & residual_packet : iphdgHelper().taggingData()) 45 0 : addResidualsAndJacobian(_assembly, residual_packet); 46 0 : } 47 : 48 : void 49 1214 : IPHDGBC::jacobianSetup() 50 : { 51 1214 : _cached_elem = nullptr; 52 1214 : _cached_side = libMesh::invalid_uint; 53 1214 : } 54 : 55 : void 56 76060 : IPHDGBC::computeOffDiagJacobian(const unsigned int) 57 : { 58 76060 : if ((_cached_elem != _current_elem) || (_cached_side != _current_side)) 59 : { 60 37750 : computeJacobian(); 61 37750 : _cached_elem = _current_elem; 62 37750 : _cached_side = _current_side; 63 : } 64 76060 : } 65 : 66 : const std::unordered_set<unsigned int> & 67 9038 : IPHDGBC::getMatPropDependencies() const 68 : { 69 9038 : return iphdgHelper().getMatPropDependencies(); 70 : }