www.mooseframework.org
GeneralizedPlaneStrainPD.C
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 
12 #include "MooseVariableScalar.h"
13 #include "Assembly.h"
14 
16 
17 template <>
18 InputParameters
20 {
21  InputParameters params = validParams<ScalarKernel>();
22  params.addClassDescription("Class for claculating residual and diagonal Jacobian for"
23  "state-based peridynamic generalized plane strain formulation");
24 
25  params.addRequiredParam<UserObjectName>(
26  "generalized_plane_strain_uo",
27  "UserObject name of the GeneralizedPlaneStrainUserObjectBasePD");
28 
29  return params;
30 }
31 
32 GeneralizedPlaneStrainPD::GeneralizedPlaneStrainPD(const InputParameters & parameters)
33  : ScalarKernel(parameters),
34  _gpsuo(getUserObject<GeneralizedPlaneStrainUserObjectBasePD>("generalized_plane_strain_uo"))
35 {
36 }
37 
38 void
40 {
41  DenseVector<Number> & re = _assembly.residualBlock(_var.number());
42  for (_i = 0; _i < re.size(); _i++)
43  re(_i) += _gpsuo.returnResidual();
44 }
45 
46 void
48 {
49  DenseMatrix<Number> & ke = _assembly.jacobianBlock(_var.number(), _var.number());
50  for (_i = 0; _i < ke.m(); _i++)
51  ke(_i, _i) += _gpsuo.returnJacobian();
52 }
GeneralizedPlaneStrainUserObjectBasePD.h
GeneralizedPlaneStrainUserObjectBasePD::returnResidual
Real returnResidual() const
Function to return the computed residual.
Definition: GeneralizedPlaneStrainUserObjectBasePD.C:67
GeneralizedPlaneStrainPD::computeResidual
virtual void computeResidual() override
Definition: GeneralizedPlaneStrainPD.C:39
registerMooseObject
registerMooseObject("PeridynamicsApp", GeneralizedPlaneStrainPD)
GeneralizedPlaneStrainPD
ScalarKernel class to assemble residual and diagonal jacobian fetched from userobject.
Definition: GeneralizedPlaneStrainPD.h:23
GeneralizedPlaneStrainPD.h
GeneralizedPlaneStrainUserObjectBasePD
Base userObject class to compute the residual and diagonal Jacobian components for scalar out-of-plan...
Definition: GeneralizedPlaneStrainUserObjectBasePD.h:23
validParams< GeneralizedPlaneStrainPD >
InputParameters validParams< GeneralizedPlaneStrainPD >()
Definition: GeneralizedPlaneStrainPD.C:19
GeneralizedPlaneStrainPD::GeneralizedPlaneStrainPD
GeneralizedPlaneStrainPD(const InputParameters &parameters)
Definition: GeneralizedPlaneStrainPD.C:32
GeneralizedPlaneStrainPD::_gpsuo
const GeneralizedPlaneStrainUserObjectBasePD & _gpsuo
Userobject to calculate the residual and jacobian.
Definition: GeneralizedPlaneStrainPD.h:35
GeneralizedPlaneStrainPD::computeJacobian
virtual void computeJacobian() override
Definition: GeneralizedPlaneStrainPD.C:47
GeneralizedPlaneStrainUserObjectBasePD::returnJacobian
Real returnJacobian() const
Function to return the computed diagonal Jacobian.
Definition: GeneralizedPlaneStrainUserObjectBasePD.C:73