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 "ADMaterial.h"
13 
14 #define usingINSMaterialMembers \
15  usingMaterialMembers; \
16  using INSADMaterial<compute_stage>::_mu; \
17  using INSADMaterial<compute_stage>::_rho; \
18  using INSADMaterial<compute_stage>::_velocity; \
19  using INSADMaterial<compute_stage>::_transient_term
20 
21 template <ComputeStage>
23 
25 
26 template <ComputeStage compute_stage>
27 class INSADMaterial : public ADMaterial<compute_stage>
28 {
29 public:
30  INSADMaterial(const InputParameters & parameters);
31 
32 protected:
33  virtual void computeQpProperties() override;
34 
36  const ADVectorVariableValue & _velocity;
37 
39  const ADVectorVariableGradient & _grad_velocity;
40 
42  const ADVariableGradient & _grad_p;
43 
45  const ADMaterialProperty(Real) & _mu;
46 
48  const ADMaterialProperty(Real) & _rho;
49 
51  const bool _transient_term;
52 
54  const ADVectorVariableValue * _velocity_dot;
55 
58 
63 
66 
68  RealVectorValue _gravity;
69 
71  ADMaterialProperty(Real) & _mass_strong_residual;
72 
74  ADMaterialProperty(RealVectorValue) & _convective_strong_residual;
75 
77  ADMaterialProperty(RealVectorValue) & _td_strong_residual;
78 
80  ADMaterialProperty(RealVectorValue) & _gravity_strong_residual;
81 
83  MaterialProperty<RealVectorValue> & _mms_function_strong_residual;
84 
86  ADMaterialProperty(RealVectorValue) & _momentum_strong_residual;
87 
89  const Function & _x_vel_fn;
90 
92  const Function & _y_vel_fn;
93 
95  const Function & _z_vel_fn;
96 
98 };
INSADMaterial::usingMaterialMembers
usingMaterialMembers
Definition: INSADMaterial.h:97
INSADMaterial::computeQpProperties
virtual void computeQpProperties() override
Definition: INSADMaterial.C:77
INSADMaterial::_gravity_set
bool _gravity_set
Whether the user set a gravity vector. If none is set, we assume there is no gravity term in the simu...
Definition: INSADMaterial.h:65
INSADMaterial::_include_viscous_term_in_strong_form
const bool _include_viscous_term_in_strong_form
Whether to include the strong form of the viscous term in the momentum equation strong residual.
Definition: INSADMaterial.h:62
INSADMaterial::_x_vel_fn
const Function & _x_vel_fn
The x velocity mms forcing function.
Definition: INSADMaterial.h:89
INSADMaterial::_integrate_p_by_parts
const bool _integrate_p_by_parts
Whether to integrate the pressure term in the momentum equations by parts.
Definition: INSADMaterial.h:57
INSADMaterial::_grad_velocity
const ADVectorVariableGradient & _grad_velocity
gradient of velocity
Definition: INSADMaterial.h:39
INSADMaterial::_velocity
const ADVectorVariableValue & _velocity
velocity
Definition: INSADMaterial.h:36
INSADMaterial::INSADMaterial
INSADMaterial(const InputParameters &parameters)
Definition: INSADMaterial.C:41
INSADMaterial::_mms_function_strong_residual
MaterialProperty< RealVectorValue > & _mms_function_strong_residual
Strong residual corresponding to the mms function term.
Definition: INSADMaterial.h:83
INSADMaterial::_grad_p
const ADVariableGradient & _grad_p
gradient of the pressure
Definition: INSADMaterial.h:42
INSADMaterial::_z_vel_fn
const Function & _z_vel_fn
The z velocity mms forcing function.
Definition: INSADMaterial.h:95
INSADMaterial::_velocity_dot
const ADVectorVariableValue * _velocity_dot
Time derivative of the velocity, e.g. the acceleration.
Definition: INSADMaterial.h:54
INSADMaterial
Definition: INSADMaterial.h:22
INSADMaterial::_transient_term
const bool _transient_term
Whether we are performing a transient or steady simulation.
Definition: INSADMaterial.h:51
INSADMaterial::ADMaterialProperty
const ADMaterialProperty(Real) &_mu
viscosity
declareADValidParams
declareADValidParams(INSADMaterial)
INSADMaterial::_gravity
RealVectorValue _gravity
The gravity vector; should be in units of acceleration.
Definition: INSADMaterial.h:68
INSADMaterial::_y_vel_fn
const Function & _y_vel_fn
The y velocity mms forcing function.
Definition: INSADMaterial.h:92