https://mooseframework.inl.gov
GeneralizedPlaneStrainPD.C
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 
12 #include "MooseVariableScalar.h"
13 #include "Assembly.h"
14 
16 
19 {
21  params.addClassDescription("Class for claculating residual and diagonal Jacobian for"
22  "state-based peridynamic generalized plane strain formulation");
23 
24  params.addRequiredParam<UserObjectName>(
25  "generalized_plane_strain_uo",
26  "UserObject name of the GeneralizedPlaneStrainUserObjectBasePD");
27 
28  return params;
29 }
30 
32  : ScalarKernel(parameters),
33  _gpsuo(getUserObject<GeneralizedPlaneStrainUserObjectBasePD>("generalized_plane_strain_uo"))
34 {
35 }
36 
37 void
39 {
41  for (unsigned int i = 0; i < _local_re.size(); ++i)
44 }
45 
46 void
48 {
50  for (unsigned int i = 0; i < _local_ke.m(); ++i)
51  _local_ke(i, i) += _gpsuo.returnJacobian();
53 }
Real returnResidual() const
Function to return the computed residual.
void accumulateTaggedLocalResidual()
unsigned int number() const
static InputParameters validParams()
MooseVariableScalar & _var
unsigned int m() const
DenseMatrix< Number > _local_ke
void addRequiredParam(const std::string &name, const std::string &doc_string)
virtual void computeJacobian() override
Real returnJacobian() const
Function to return the computed diagonal Jacobian.
virtual void computeResidual() override
ScalarKernel class to assemble residual and diagonal jacobian fetched from userobject.
void accumulateTaggedLocalMatrix()
registerMooseObject("PeridynamicsApp", GeneralizedPlaneStrainPD)
Assembly & _assembly
GeneralizedPlaneStrainPD(const InputParameters &parameters)
const GeneralizedPlaneStrainUserObjectBasePD & _gpsuo
Userobject to calculate the residual and jacobian.
DenseVector< Number > _local_re
virtual unsigned int size() const override final
void addClassDescription(const std::string &doc_string)
void prepareVectorTag(Assembly &assembly, unsigned int ivar)
void prepareMatrixTag(Assembly &assembly, unsigned int ivar, unsigned int jvar)
static InputParameters validParams()
Base userObject class to compute the residual and diagonal Jacobian components for scalar out-of-plan...