www.mooseframework.org
ElementJacobianDamper.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 // Moose Includes
13 #include "GeneralDamper.h"
14 #include "MooseVariable.h"
15 
16 // Forward Declarations
17 class FEProblemBase;
18 class MooseMesh;
19 class DisplacedProblem;
20 
25 {
26 public:
28 
30 
31  virtual void initialSetup() override;
32 
36  virtual Real computeDamping(const NumericVector<Number> & /* solution */,
37  const NumericVector<Number> & update) override;
38 
39 protected:
43 
45  const QBase * const & _qrule;
46 
49 
52 
54  MooseSharedPointer<DisplacedProblem> _displaced_problem;
55 
58 
60  std::vector<MooseVariable *> _disp_var;
61 
63  unsigned int _ndisp;
64 
66  std::vector<VariableValue> _disp_incr;
67 
70 };
static InputParameters validParams()
const QBase *const & _qrule
Quadrature rule.
This class implements a damper that limits the change in the Jacobian of elements.
unsigned int _ndisp
The number of displacement variables.
MooseSharedPointer< DisplacedProblem > _displaced_problem
The displaced problem.
std::vector< VariableValue > _disp_incr
The current Newton increment in the displacement variables.
MooseMesh * _mesh
The displaced mesh.
const Real _max_jacobian_diff
Maximum allowed relative increment in Jacobian.
const MooseArray< Real > & _JxW
Transformed Jacobian weights.
FEProblemBase & _fe_problem
The FE problem.
ElementJacobianDamper(const InputParameters &parameters)
virtual Real computeDamping(const NumericVector< Number > &, const NumericVector< Number > &update) override
Computes this Damper&#39;s damping.
std::vector< MooseVariable * > _disp_var
The displacement variables.
THREAD_ID _tid
Thread ID.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void initialSetup() override
const InputParameters & parameters() const
unsigned int THREAD_ID