https://mooseframework.inl.gov
Loading...
Searching...
No Matches
CoupledMaterialDerivative.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 "Kernel.h"
13#include "JvarMapInterface.h"
15
19class CoupledMaterialDerivative : public DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>
20{
21public:
23
25 virtual void initialSetup() override;
26
27protected:
28 virtual Real computeQpResidual() override;
29 virtual Real computeQpJacobian() override;
30 virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
31
33 std::string _v_name;
34 unsigned int _v_var;
35
38
41
43 std::vector<const MaterialProperty<Real> *> _d2Fdvdarg;
44};
This kernel adds the term (dFdv, test), where v is a coupled variable.
const MaterialProperty< Real > & _dFdv
Material property derivative w.r.t. v.
std::string _v_name
name of the coupled variable the derivative is taken with respect to
const MaterialProperty< Real > & _d2Fdvdu
2nd order material property derivative w.r.t. v then u
static InputParameters validParams()
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
std::vector< const MaterialProperty< Real > * > _d2Fdvdarg
2nd order material property derivatives w.r.t. v and then all other coupled variables
virtual Real computeQpResidual() override
virtual Real computeQpJacobian() override
virtual void initialSetup() override