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 "HDGKernel.h" 11 : #include "TimeIntegrator.h" 12 : 13 : InputParameters 14 10050 : HDGKernel::validParams() 15 : { 16 10050 : InputParameters params = Kernel::validParams(); 17 10050 : params.registerBase("HDGKernel"); 18 10050 : return params; 19 0 : } 20 : 21 436 : HDGKernel::HDGKernel(const InputParameters & parameters) 22 : : Kernel(parameters), 23 872 : _qrule_face(_assembly.qRuleFace()), 24 436 : _q_point_face(_assembly.qPointsFace()), 25 436 : _JxW_face(_assembly.JxWFace()), 26 436 : _normals(_assembly.normals()), 27 872 : _current_side_elem(_assembly.sideElem()) 28 : { 29 436 : if (const auto * const ti = _sys.queryTimeIntegrator(_var.number()); ti && ti->isExplicit()) 30 0 : mooseError("HDGKernels do not currently work with explicit time integration. This is because " 31 : "the facet Lagrange multiplier variable does not have a time derivative term."); 32 : 33 436 : const auto coord_system = _mesh.getUniqueCoordSystem(); 34 436 : if (coord_system != Moose::COORD_XYZ) 35 0 : mooseError("HDGKernels have not yet been coded to include coordinate system information in its " 36 : "residuals/Jacobians"); 37 436 : } 38 : 39 : void 40 0 : HDGKernel::computeResidualAndJacobianOnSide() 41 : { 42 0 : mooseError("not implemented"); 43 : }