https://mooseframework.inl.gov
Loading...
Searching...
No Matches
KKSPhaseConcentrationMultiPhaseMaterial.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
13#include "NestedSolve.h"
14
16{
17public:
19
21
22protected:
23 virtual void initQpStatefulProperties() override;
24 virtual void initialSetup() override;
25 virtual void computeQpProperties() override;
26
28 const std::vector<const VariableValue *> _prop_c;
29
31 const unsigned int _num_c;
32
34 const unsigned int _num_j;
35
37 std::vector<MaterialPropertyName> _hj_names;
38 std::vector<const MaterialProperty<Real> *> _prop_hj;
40
42 const std::vector<MaterialName> _Fj_names;
43 std::vector<const MaterialProperty<Real> *> _prop_Fi;
45
47 std::vector<MaterialPropertyName> _ci_names;
48 std::vector<MaterialProperty<Real> *> _prop_ci;
49 std::vector<const MaterialProperty<Real> *> _ci_old;
50 std::vector<Real> _ci_IC;
52
54 std::vector<std::vector<const MaterialProperty<Real> *>> _dFidci;
56
59 std::vector<std::vector<std::vector<const MaterialProperty<Real> *>>> _d2Fidcidbi;
61
63 const std::vector<VariableName> _args_names;
64
66 const unsigned int _n_args;
67
69 std::vector<std::vector<const MaterialProperty<Real> *>> _dFidarg;
71
74 std::vector<std::vector<const MaterialProperty<Real> *>> _d2F1dc1darg;
76
79
81 const Real _abs_tol;
82 const Real _rel_tol;
84
86 const bool _damped_newton;
87
89 MaterialName _condition_name;
93
96
98 std::vector<MaterialBase *> _Fj_mat;
99};
const unsigned int _num_c
Number of global concentrations.
const unsigned int _n_args
Number of coupled variables of free energies.
std::vector< std::vector< const MaterialProperty< Real > * > > _dFidci
Derivative of free energies wrt phase concentrations .
std::vector< const MaterialProperty< Real > * > _prop_hj
MaterialProperty< Real > & _iter
Number of nested Newton iteration.
const unsigned int _num_j
Number of phase parameters.
std::vector< std::vector< const MaterialProperty< Real > * > > _dFidarg
Derivative of free energies wrt coupled variables .
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _d2Fidcidbi
const std::vector< const VariableValue * > _prop_c
Global concentrations.
std::vector< std::vector< const MaterialProperty< Real > * > > _d2F1dc1darg
const Real _abs_tol
Absolute and relative tolerance of nested Newton iteration.
std::vector< const MaterialProperty< Real > * > _ci_old
std::vector< MaterialPropertyName > _hj_names
Switching functions.
const std::vector< VariableName > _args_names
Coupled variables of free energies.
MaterialName _condition_name
Condition that must be violated for damping to occur.
std::vector< MaterialBase * > _Fj_mat
Free energy instantiation of the MaterialBase class.
const std::vector< MaterialName > _Fj_names
Free energies.
NestedSolve _nested_solve
Instantiation of the NestedSolve class.
std::vector< MaterialPropertyName > _ci_names
Phase concentrations.
std::vector< const MaterialProperty< Real > * > _prop_Fi