www.mooseframework.org
INSADMaterial.h
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 
10 #pragma once
11 
12 #include "Material.h"
13 #include "NSEnums.h"
14 
15 class INSADObjectTracker;
16 
17 class INSADMaterial : public Material
18 {
19 public:
21 
23 
24  virtual void subdomainSetup() override;
25  virtual void resolveOptionalProperties() override;
26 
27 protected:
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 
80  const bool _use_displaced_mesh;
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 
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 };
const ADVectorVariableGradient & _grad_velocity
gradient of velocity
Definition: INSADMaterial.h:34
ADMaterialProperty< RealVectorValue > & _gravity_strong_residual
Strong residual corresponding to the momentum gravity term.
Definition: INSADMaterial.h:58
const ADMaterialProperty< Real > * _boussinesq_alpha
RealVectorValue _gravity_vector
The gravity vector.
const unsigned int invalid_uint
ADMaterialProperty< RealVectorValue > & _advected_mesh_strong_residual
Strong residual corresponding to advected mesh term.
Definition: INSADMaterial.h:73
ADMaterialProperty< RealVectorValue > & _coupled_force_strong_residual
Strong residual corresponding to coupled force term.
Definition: INSADMaterial.h:64
NS::ViscousForm _viscous_form
The viscous form of the equations. This is either "laplace" or "traction".
std::vector< const Function * > _coupled_force_vector_function
optional vector function(s)
virtual void resolveOptionalProperties() override
Definition: INSADMaterial.C:78
virtual void subdomainSetup() override
Definition: INSADMaterial.C:93
unsigned int _disp_x_num
const MaterialProperty< Real > * _ref_temp
const INSADObjectTracker * _object_tracker
A user object that consumes information from INSAD residual objects and feeds it into this material...
Definition: INSADMaterial.h:94
ViscousForm
Definition: NSEnums.h:20
unsigned int _disp_z_sys_num
ADMaterialProperty< RealVectorValue > & _td_strong_residual
Strong residual corresponding to the momentum transient term.
Definition: INSADMaterial.h:55
bool _has_gravity
Whether there is a gravity force in the momentum equation.
const ADVariableValue * _disp_x_dot
The time derivative with respect to x-displacement.
static InputParameters validParams()
Definition: INSADMaterial.C:22
ADMaterialProperty< RealVectorValue > & _relative_velocity
The relative velocity, e.g. velocity - mesh_velocity.
Definition: INSADMaterial.h:70
const MooseArray< ADPoint > & _ad_q_point
The quadrature points with potential partial derivatives with respect to displacement degrees of free...
Definition: INSADMaterial.h:84
ADMaterialProperty< RealVectorValue > & _advective_strong_residual
Strong residual corresponding to the momentum advective term.
Definition: INSADMaterial.h:52
const bool _use_displaced_mesh
Whether we are on the displaced mesh.
Definition: INSADMaterial.h:80
unsigned int _disp_y_sys_num
const ADVariableValue * _disp_z_dot
The time derivative with respect to z-displacement.
const ADMaterialProperty< Real > & _mu
viscosity
Definition: INSADMaterial.h:40
const unsigned int _rz_axial_coord
The axial coordinate index for RZ coordinate systems.
Definition: INSADMaterial.h:90
const ADVariableValue * _disp_y_dot
The time derivative with respect to y-displacement.
std::unordered_map< SubdomainID, const MaterialProperty< Real > * > _ref_temps
The reference temperature.
virtual void computeQpProperties() override
const ADVectorVariableValue & _velocity
velocity
Definition: INSADMaterial.h:31
const ADVectorVariableValue * _velocity_dot
Time derivative of the velocity, e.g. the acceleration.
Definition: INSADMaterial.h:46
bool _has_transient
Whether the momentum equations are transient.
Definition: INSADMaterial.h:97
ADMaterialProperty< RealVectorValue > & _boussinesq_strong_residual
Strong residual corresponding to the momentum boussinesq term.
Definition: INSADMaterial.h:61
const ADVariableValue * _temperature
The temperature.
unsigned int _disp_x_sys_num
std::vector< const ADVectorVariableValue * > _coupled_force_var
optionally copuled vector var(s)
unsigned int _disp_y_num
bool _has_coupled_force
Whether there is a force from a coupled vector variable or vector function.
bool _has_boussinesq
Whether natural convection forces via the Boussinesq approximation are added to the momentum equation...
std::unordered_map< SubdomainID, const ADMaterialProperty< Real > * > _boussinesq_alphas
The Boussinesq coefficient.
const InputParameters & parameters() const
unsigned int _disp_z_num
bool _has_advected_mesh
Whether we have mesh convection.
const ADMaterialProperty< Real > & _rho
density
Definition: INSADMaterial.h:43
const unsigned int _rz_radial_coord
The radial coordinate index for RZ coordinate systems.
Definition: INSADMaterial.h:87
INSADMaterial(const InputParameters &parameters)
Definition: INSADMaterial.C:34
Object for tracking what kernels have been added to an INSAD simulation.
ADMaterialProperty< RealVectorValue > & _mesh_velocity
The mesh velocity.
Definition: INSADMaterial.h:67
const ADVariableGradient & _grad_p
gradient of the pressure
Definition: INSADMaterial.h:37
ADMaterialProperty< Real > & _mass_strong_residual
The strong residual of the mass continuity equation.
Definition: INSADMaterial.h:49