https://mooseframework.inl.gov
NEML2StressDivergence.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 #ifdef NEML2_ENABLED
13 
14 // libmesh includes
15 #include "libmesh/petsc_vector.h"
16 
17 // MOOSE includes
18 #include "NEML2PostKernel.h"
19 
21 {
22 public:
24 
26 
27 protected:
29  void forward() override;
30 
32  PetscVector<Real> * _residual;
33 
35  const neml2::Tensor & _stress;
36 
38  const std::vector<NonlinearVariableName> _disp_vars;
39 
41  const int64_t _ndisp;
42 
44  const neml2::Tensor * _grad_test_x;
45  const neml2::Tensor * _grad_test_y;
46  const neml2::Tensor * _grad_test_z;
47 };
48 
49 #endif
const neml2::Tensor * _grad_test_y
const std::vector< NonlinearVariableName > _disp_vars
Displacement variables.
const neml2::Tensor * _grad_test_x
test function gradients
void forward() override
calculate residual contribution corresponding to the weak form ${i,J} P_{iJ}$
const InputParameters & parameters() const
static InputParameters validParams()
NEML2StressDivergence(const InputParameters &parameters)
const int64_t _ndisp
the number of displacement variables
const neml2::Tensor & _stress
stress
PetscVector< Real > * _residual
The residual vector.
const neml2::Tensor * _grad_test_z