https://mooseframework.inl.gov
MortarNodalAuxKernel.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 "AuxKernel.h"
15 
19 template <typename ComputeValueType>
20 class MortarNodalAuxKernelTempl : public AuxKernelTempl<ComputeValueType>,
22  protected MortarConsumerInterface
23 {
24 public:
26 
28 
32  void compute() override;
33 
34  void initialSetup() override;
35 
36 protected:
37  void precalculateValue() override final;
38 
49 
51  const bool _displaced;
52 
55 
58 
61 
64 
66  unsigned int _i;
67 
69  unsigned int _qp;
70 
74 
77 
78 private:
79  // These are invalid for use because they are only meant for working with the higher-dimensional
80  // elements
83 };
84 
87 
88 // Prevent implicit instantiation in other translation units where these classes are used
89 extern template class MortarNodalAuxKernelTempl<Real>;
90 extern template class MortarNodalAuxKernelTempl<RealVectorValue>;
FEProblemBase & _fe_problem
The base finite element problem.
Real _msm_volume
The mortar segment volume.
void precalculateValue() override final
This callback is used for AuxKernelTempls that need to perform a per-element calculation.
void compute() override
Computes the value and stores it in the solution vector.
Interface for notifications that the mortar mesh has been setup.
static InputParameters validParams()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
MortarNodalAuxKernelTempl< Real > MortarNodalAuxKernel
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
An interface for accessing mortar mesh data.
MortarNodalAuxKernelTempl(const InputParameters &parameters)
const OutputTools< ComputeValueType >::VariableTestValue & _test_lower
The shape functions for the variable associated with the lower-dimensional element, e.g.
unsigned int _i
The current test function index.
const bool _displaced
Whether we&#39;re computing on the displaced mesh.
const MooseArray< Real > & _coord_msm
Member for handling change of coordinate systems (xyz, rz, spherical) on mortar elements.
void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job...
Base class for creating new nodally-based mortar auxiliary kernels.
bool _incremental
Incremental quantity. If true, values accumulate over time.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
Get the parameters of the object.
Base class for creating new auxiliary kernels and auxiliary boundary conditions.
Definition: AuxKernel.h:36
const OutputTools< ComputeValueType >::VariableValue & _u_old
Old value.
MortarNodalAuxKernelTempl< RealVectorValue > VectorMortarNodalAuxKernel
unsigned int _qp
The current quadrature point index.