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