https://mooseframework.inl.gov
ExplicitDirichletBCBase.h
Go to the documentation of this file.
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 #pragma once
11 
12 #include "ExplicitMixedOrder.h"
13 #include "MooseError.h"
14 #include "NodalBC.h"
15 #include "libmesh/numeric_vector.h"
16 
17 // libMesh forward declarations
18 namespace libMesh
19 {
20 template <typename T>
21 class SparseMatrix;
22 }
27 {
28 public:
30 
32 
33 protected:
34  virtual Real computeQpResidual() override;
35  virtual void timestepSetup() override;
39  virtual Real computeQpValue() = 0;
40 
43 
44  const Real & _u_old;
45  const Real & _u_dot_old;
46 
49 
52 
53 private:
59 };
static InputParameters validParams()
ExplicitMixedOrder::TimeOrder _var_time_order
variable time order need for computing BC
virtual Real computeQpValue()=0
Compute the value of the DirichletBC at the current quadrature point.
Base boundary condition of a direct Dirichlet type.
ExplicitDirichletBCBase(const InputParameters &parameters)
Implements a form of the central difference time integrator that calculates acceleration directly fro...
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
virtual Real computeQpResidual() override
const NumericVector< Number > & initLumpedMass()
Initialize the lumped mass matrix.
const NumericVector< Number > & _mass_diag
The diagonal of the mass matrix.
virtual void timestepSetup() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
const ExplicitMixedOrder * _explicit_integrator
explicit time integrator