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