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 73022 : IPHDGBC::validParams() 15 : { 16 73022 : return ADIntegratedBC::validParams(); 17 : } 18 : 19 854 : IPHDGBC::IPHDGBC(const InputParameters & parameters) 20 854 : : ADIntegratedBC(parameters), _cached_elem(nullptr), _cached_side(libMesh::invalid_uint) 21 : { 22 854 : } 23 : 24 : void 25 80979 : IPHDGBC::computeResidual() 26 : { 27 80979 : compute(); 28 242937 : for (const auto & residual_packet : iphdgHelper().taggingData()) 29 161958 : addResiduals(_assembly, residual_packet); 30 80979 : } 31 : 32 : void 33 38146 : IPHDGBC::computeJacobian() 34 : { 35 38146 : compute(); 36 114438 : for (const auto & residual_packet : iphdgHelper().taggingData()) 37 76292 : addJacobian(_assembly, residual_packet); 38 38146 : } 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 1358 : IPHDGBC::jacobianSetup() 50 : { 51 1358 : _cached_elem = nullptr; 52 1358 : _cached_side = libMesh::invalid_uint; 53 1358 : } 54 : 55 : void 56 76852 : IPHDGBC::computeOffDiagJacobian(const unsigned int) 57 : { 58 76852 : if ((_cached_elem != _current_elem) || (_cached_side != _current_side)) 59 : { 60 38146 : computeJacobian(); 61 38146 : _cached_elem = _current_elem; 62 38146 : _cached_side = _current_side; 63 : } 64 76852 : } 65 : 66 : const std::unordered_set<unsigned int> & 67 9638 : IPHDGBC::getMatPropDependencies() const 68 : { 69 9638 : return iphdgHelper().getMatPropDependencies(); 70 : }