https://mooseframework.inl.gov
Loading...
Searching...
No Matches
INSADMaterial.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 "Material.h"
13#include "NSEnums.h"
14
16
17class INSADMaterial : public Material
18{
19public:
21
23
24 virtual void subdomainSetup() override;
25 virtual void resolveOptionalProperties() override;
26
27protected:
28 virtual void computeQpProperties() override;
29
32
35
38
41
44
47
50
53
56
59
62
65
68
71
74
75 // /// Future addition pending addition of INSADMMSKernel.
76 // /// Strong residual corresponding to the mms function term
77 // MaterialProperty<RealVectorValue> & _mms_function_strong_residual;
78
81
85
87 const unsigned int _rz_radial_coord;
88
90 const unsigned int _rz_axial_coord;
91
95
98
101
105
108
110 std::unordered_map<SubdomainID, const ADMaterialProperty<Real> *> _boussinesq_alphas;
112
115
117 std::unordered_map<SubdomainID, const MaterialProperty<Real> *> _ref_temps;
119
122
124 RealVectorValue _gravity_vector;
125
127 std::vector<const ADVectorVariableValue *> _coupled_force_var;
128
130 std::vector<const Function *> _coupled_force_vector_function;
131
134
137
140
143
150};
std::unordered_map< SubdomainID, const MaterialProperty< Real > * > _ref_temps
The reference temperature.
ADMaterialProperty< RealVectorValue > & _advective_strong_residual
Strong residual corresponding to the momentum advective term.
const ADVariableValue * _disp_z_dot
The time derivative with respect to z-displacement.
const INSADObjectTracker * _object_tracker
A user object that consumes information from INSAD residual objects and feeds it into this material.
RealVectorValue _gravity_vector
The gravity vector.
std::vector< const ADVectorVariableValue * > _coupled_force_var
optionally copuled vector var(s)
const ADVariableValue * _disp_y_dot
The time derivative with respect to y-displacement.
ADMaterialProperty< RealVectorValue > & _td_strong_residual
Strong residual corresponding to the momentum transient term.
std::unordered_map< SubdomainID, const ADMaterialProperty< Real > * > _boussinesq_alphas
The Boussinesq coefficient.
unsigned int _disp_x_sys_num
const ADVariableGradient & _grad_p
gradient of the pressure
unsigned int _disp_y_num
bool _has_boussinesq
Whether natural convection forces via the Boussinesq approximation are added to the momentum equation...
virtual void resolveOptionalProperties() override
const ADVariableValue * _disp_x_dot
The time derivative with respect to x-displacement.
virtual void computeQpProperties() override
bool _has_transient
Whether the momentum equations are transient.
ADMaterialProperty< RealVectorValue > & _mesh_velocity
The mesh velocity.
const bool _use_displaced_mesh
Whether we are on the displaced mesh.
unsigned int _disp_x_num
ADMaterialProperty< RealVectorValue > & _coupled_force_strong_residual
Strong residual corresponding to coupled force term.
ADMaterialProperty< RealVectorValue > & _boussinesq_strong_residual
Strong residual corresponding to the momentum boussinesq term.
static InputParameters validParams()
ADMaterialProperty< RealVectorValue > & _gravity_strong_residual
Strong residual corresponding to the momentum gravity term.
virtual void subdomainSetup() override
unsigned int _disp_y_sys_num
ADMaterialProperty< RealVectorValue > & _relative_velocity
The relative velocity, e.g. velocity - mesh_velocity.
unsigned int _disp_z_sys_num
ADMaterialProperty< Real > & _mass_strong_residual
The strong residual of the mass continuity equation.
bool _has_gravity
Whether there is a gravity force in the momentum equation.
bool _has_advected_mesh
Whether we have mesh convection.
ADMaterialProperty< RealVectorValue > & _advected_mesh_strong_residual
Strong residual corresponding to advected mesh term.
const MaterialProperty< Real > * _ref_temp
const unsigned int _rz_axial_coord
The axial coordinate index for RZ coordinate systems.
std::vector< const Function * > _coupled_force_vector_function
optional vector function(s)
const MooseArray< ADPoint > & _ad_q_point
The quadrature points with potential partial derivatives with respect to displacement degrees of free...
const ADVectorVariableValue * _velocity_dot
Time derivative of the velocity, e.g. the acceleration.
const unsigned int _rz_radial_coord
The radial coordinate index for RZ coordinate systems.
const ADVectorVariableGradient & _grad_velocity
gradient of velocity
NS::ViscousForm _viscous_form
The viscous form of the equations. This is either "laplace" or "traction".
const ADVariableValue * _temperature
The temperature.
const ADMaterialProperty< Real > & _mu
viscosity
bool _has_coupled_force
Whether there is a force from a coupled vector variable or vector function.
const ADMaterialProperty< Real > & _rho
density
unsigned int _disp_z_num
const ADMaterialProperty< Real > * _boussinesq_alpha
const ADVectorVariableValue & _velocity
velocity
Object for tracking what kernels have been added to an INSAD simulation.
const InputParameters & parameters() const
VariableValueTempl< true > ADVariableValue
VariableGradientTempl< true > ADVariableGradient
ViscousForm
Definition NSEnums.h:21
const unsigned int invalid_uint