GRINS-0.6.0
Public Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | List of all members
GRINS::HeatTransferAdjointStabilization< Conductivity > Class Template Reference

Adds VMS-based stabilization to LowMachNavierStokes physics class. More...

#include <heat_transfer_adjoint_stab.h>

Inheritance diagram for GRINS::HeatTransferAdjointStabilization< Conductivity >:
Inheritance graph
[legend]
Collaboration diagram for GRINS::HeatTransferAdjointStabilization< Conductivity >:
Collaboration graph
[legend]

Public Member Functions

 HeatTransferAdjointStabilization (const GRINS::PhysicsName &physics_name, const GetPot &input)
 
virtual ~HeatTransferAdjointStabilization ()
 
virtual void element_time_derivative (bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
 Time dependent part(s) of physics for element interiors. More...
 
virtual void mass_residual (bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
 Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part. More...
 
virtual void init_context (AssemblyContext &context)
 Initialize context for added physics variables. More...
 
virtual void init_variables (libMesh::FEMSystem *system)
 Initialization Heat Transfer variables. More...
 
virtual void set_time_evolving_vars (libMesh::FEMSystem *system)
 Sets velocity variables to be time-evolving. More...
 
virtual void register_parameter (const std::string &param_name, libMesh::ParameterMultiPointer< libMesh::Number > &param_pointer) const
 Each subclass will register its copy of an independent. More...
 
virtual void read_input_options (const GetPot &input)
 Read options from GetPot input file. By default, nothing is read. More...
 
virtual bool enabled_on_elem (const libMesh::Elem *elem)
 Find if current physics is active on supplied element. More...
 
void set_is_steady (bool is_steady)
 Sets whether this physics is to be solved with a steady solver or not. More...
 
bool is_steady () const
 Returns whether or not this physics is being solved with a steady solver. More...
 
virtual void auxiliary_init (MultiphysicsSystem &system)
 Any auxillary initialization a Physics class may need. More...
 
virtual void register_postprocessing_vars (const GetPot &input, PostProcessedQuantities< libMesh::Real > &postprocessing)
 Register name of postprocessed quantity with PostProcessedQuantities. More...
 
virtual void side_time_derivative (bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
 Time dependent part(s) of physics for boundaries of elements on the domain boundary. More...
 
virtual void nonlocal_time_derivative (bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
 Time dependent part(s) of physics for scalar variables. More...
 
virtual void element_constraint (bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
 Constraint part(s) of physics for element interiors. More...
 
virtual void side_constraint (bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
 Constraint part(s) of physics for boundaries of elements on the domain boundary. More...
 
virtual void nonlocal_constraint (bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
 Constraint part(s) of physics for scalar variables. More...
 
virtual void nonlocal_mass_residual (bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
 Mass matrix part(s) for scalar variables. More...
 
void init_bcs (libMesh::FEMSystem *system)
 
void init_ics (libMesh::FEMSystem *system, libMesh::CompositeFunction< libMesh::Number > &all_ics)
 
void attach_neumann_bound_func (GRINS::NBCContainer &neumann_bcs)
 
void attach_dirichlet_bound_func (const GRINS::DBCContainer &dirichlet_bc)
 
virtual void compute_element_time_derivative_cache (const AssemblyContext &context, CachedValues &cache)
 
virtual void compute_side_time_derivative_cache (const AssemblyContext &context, CachedValues &cache)
 
virtual void compute_nonlocal_time_derivative_cache (const AssemblyContext &context, CachedValues &cache)
 
virtual void compute_element_constraint_cache (const AssemblyContext &context, CachedValues &cache)
 
virtual void compute_side_constraint_cache (const AssemblyContext &context, CachedValues &cache)
 
virtual void compute_nonlocal_constraint_cache (const AssemblyContext &context, CachedValues &cache)
 
virtual void compute_mass_residual_cache (const AssemblyContext &context, CachedValues &cache)
 
virtual void compute_nonlocal_mass_residual_cache (const AssemblyContext &context, CachedValues &cache)
 
virtual void compute_postprocessed_quantity (unsigned int quantity_index, const AssemblyContext &context, const libMesh::Point &point, libMesh::Real &value)
 
BCHandlingBaseget_bc_handler ()
 
ICHandlingBaseget_ic_handler ()
 
virtual void set_parameter (libMesh::Number &param_variable, const GetPot &input, const std::string &param_name, libMesh::Number param_default)
 Each subclass can simultaneously read a parameter value from. More...
 

Protected Attributes

HeatTransferStabilizationHelper _stab_helper
 
Conductivity _k
 
unsigned int _dim
 Physical dimension of problem. More...
 
PrimitiveFlowFEVariables _flow_vars
 
PrimitiveTempFEVariables _temp_vars
 
libMesh::Number _rho
 Material parameters, read from input. More...
 
libMesh::Number _Cp
 
const PhysicsName _physics_name
 Name of the physics object. Used for reading physics specific inputs. More...
 
GRINS::BCHandlingBase_bc_handler
 
GRINS::ICHandlingBase_ic_handler
 
std::set< libMesh::subdomain_id_type > _enabled_subdomains
 Subdomains on which the current Physics class is enabled. More...
 
bool _is_axisymmetric
 

Static Protected Attributes

static bool _is_steady = false
 Caches whether or not the solver that's being used is steady or not. More...
 

Private Member Functions

 HeatTransferAdjointStabilization ()
 

Detailed Description

template<class Conductivity>
class GRINS::HeatTransferAdjointStabilization< Conductivity >

Adds VMS-based stabilization to LowMachNavierStokes physics class.

Definition at line 36 of file heat_transfer_adjoint_stab.h.

Constructor & Destructor Documentation

template<class K >
GRINS::HeatTransferAdjointStabilization< K >::HeatTransferAdjointStabilization ( const GRINS::PhysicsName physics_name,
const GetPot &  input 
)

Definition at line 38 of file heat_transfer_adjoint_stab.C.

40  : HeatTransferStabilizationBase<K>(physics_name,input)
41  {
42  return;
43  }

Definition at line 46 of file heat_transfer_adjoint_stab.C.

47  {
48  return;
49  }
template<class Conductivity >
GRINS::HeatTransferAdjointStabilization< Conductivity >::HeatTransferAdjointStabilization ( )
private

Member Function Documentation

void GRINS::Physics::attach_dirichlet_bound_func ( const GRINS::DBCContainer dirichlet_bc)
inherited

Definition at line 150 of file physics.C.

References GRINS::Physics::_bc_handler, and GRINS::BCHandlingBase::attach_dirichlet_bound_func().

151  {
152  _bc_handler->attach_dirichlet_bound_func( dirichlet_bc );
153  return;
154  }
GRINS::BCHandlingBase * _bc_handler
Definition: physics.h:256
void attach_dirichlet_bound_func(const GRINS::DBCContainer &dirichlet_bc)
void GRINS::Physics::attach_neumann_bound_func ( GRINS::NBCContainer neumann_bcs)
inherited

Definition at line 144 of file physics.C.

References GRINS::Physics::_bc_handler, and GRINS::BCHandlingBase::attach_neumann_bound_func().

145  {
146  _bc_handler->attach_neumann_bound_func( neumann_bcs );
147  return;
148  }
GRINS::BCHandlingBase * _bc_handler
Definition: physics.h:256
void attach_neumann_bound_func(GRINS::NBCContainer &neumann_bcs)
void GRINS::Physics::auxiliary_init ( MultiphysicsSystem system)
virtualinherited

Any auxillary initialization a Physics class may need.

This is called after all variables are added, so this method can safely query the MultiphysicsSystem about variable information.

Definition at line 113 of file physics.C.

114  {
115  return;
116  }
void GRINS::Physics::compute_element_constraint_cache ( const AssemblyContext context,
CachedValues cache 
)
virtualinherited

Definition at line 185 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::element_constraint().

187  {
188  return;
189  }
void GRINS::Physics::compute_element_time_derivative_cache ( const AssemblyContext context,
CachedValues cache 
)
virtualinherited
void GRINS::Physics::compute_mass_residual_cache ( const AssemblyContext context,
CachedValues cache 
)
virtualinherited

Definition at line 203 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::mass_residual().

205  {
206  return;
207  }
void GRINS::Physics::compute_nonlocal_constraint_cache ( const AssemblyContext context,
CachedValues cache 
)
virtualinherited

Definition at line 197 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::nonlocal_constraint().

199  {
200  return;
201  }
void GRINS::Physics::compute_nonlocal_mass_residual_cache ( const AssemblyContext context,
CachedValues cache 
)
virtualinherited

Definition at line 209 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::nonlocal_mass_residual().

211  {
212  return;
213  }
void GRINS::Physics::compute_nonlocal_time_derivative_cache ( const AssemblyContext context,
CachedValues cache 
)
virtualinherited

Definition at line 179 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::nonlocal_time_derivative().

181  {
182  return;
183  }
void GRINS::Physics::compute_postprocessed_quantity ( unsigned int  quantity_index,
const AssemblyContext context,
const libMesh::Point &  point,
libMesh::Real &  value 
)
virtualinherited
void GRINS::Physics::compute_side_constraint_cache ( const AssemblyContext context,
CachedValues cache 
)
virtualinherited

Definition at line 191 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::side_constraint().

193  {
194  return;
195  }
void GRINS::Physics::compute_side_time_derivative_cache ( const AssemblyContext context,
CachedValues cache 
)
virtualinherited

Reimplemented in GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >.

Definition at line 173 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::side_time_derivative().

175  {
176  return;
177  }
void GRINS::Physics::element_constraint ( bool  compute_jacobian,
AssemblyContext context,
CachedValues cache 
)
virtualinherited
template<class K >
void GRINS::HeatTransferAdjointStabilization< K >::element_time_derivative ( bool  compute_jacobian,
AssemblyContext context,
CachedValues cache 
)
virtual

Time dependent part(s) of physics for element interiors.

Reimplemented from GRINS::Physics.

Definition at line 52 of file heat_transfer_adjoint_stab.C.

55  {
56 #ifdef GRINS_USE_GRVY_TIMERS
57  this->_timer->BeginTimer("HeatTransferAdjointStabilization::element_time_derivative");
58 #endif
59 
60  // The number of local degrees of freedom in each variable.
61  const unsigned int n_T_dofs = context.get_dof_indices(this->_temp_vars.T_var()).size();
62  const unsigned int n_u_dofs = context.get_dof_indices(this->_flow_vars.u_var()).size();
63 
64  // Element Jacobian * quadrature weights for interior integration.
65  const std::vector<libMesh::Real> &JxW =
66  context.get_element_fe(this->_temp_vars.T_var())->get_JxW();
67 
68  const std::vector<std::vector<libMesh::Real> >& u_phi =
69  context.get_element_fe(this->_flow_vars.u_var())->get_phi();
70 
71  const std::vector<std::vector<libMesh::Real> >& T_phi =
72  context.get_element_fe(this->_temp_vars.T_var())->get_phi();
73 
74  const std::vector<std::vector<libMesh::RealGradient> >& T_gradphi =
75  context.get_element_fe(this->_temp_vars.T_var())->get_dphi();
76 
77  const std::vector<std::vector<libMesh::RealTensor> >& T_hessphi =
78  context.get_element_fe(this->_temp_vars.T_var())->get_d2phi();
79 
80  /*
81  const unsigned int n_u_dofs = context.get_dof_indices(this->_flow_vars.u_var()).size();
82 
83  const std::vector<std::vector<libMesh::Real> >& u_phi =
84  context.get_element_fe(this->_flow_vars.u_var())->get_phi();
85 
86  libMesh::DenseSubVector<libMesh::Number> &Fu = context.get_elem_residual(this->_flow_vars.u_var()); // R_{p}
87  libMesh::DenseSubVector<libMesh::Number> &Fv = context.get_elem_residual(this->_flow_vars.v_var()); // R_{p}
88  libMesh::DenseSubVector<libMesh::Number> *Fw = NULL;
89  if(this->_dim == 3)
90  {
91  Fw = &context.get_elem_residual(this->_flow_vars.w_var()); // R_{w}
92  }
93  */
94 
95  libMesh::DenseSubVector<libMesh::Number> &FT = context.get_elem_residual(this->_temp_vars.T_var()); // R_{T}
96  libMesh::DenseSubMatrix<libMesh::Number> &KTT =
97  context.get_elem_jacobian(this->_temp_vars.T_var(), this->_temp_vars.T_var()); // J_{TT}
98  libMesh::DenseSubMatrix<libMesh::Number> &KTu =
99  context.get_elem_jacobian(this->_temp_vars.T_var(), this->_flow_vars.u_var()); // J_{Tu}
100  libMesh::DenseSubMatrix<libMesh::Number> &KTv =
101  context.get_elem_jacobian(this->_temp_vars.T_var(), this->_flow_vars.v_var()); // J_{Tv}
102  libMesh::DenseSubMatrix<libMesh::Number> *KTw = NULL;
103 
104  if(this->_dim == 3)
105  {
106  KTw = &context.get_elem_jacobian
107  (this->_temp_vars.T_var(), this->_flow_vars.w_var()); // J_{Tw}
108  }
109 
110  unsigned int n_qpoints = context.get_element_qrule().n_points();
111 
112  for (unsigned int qp=0; qp != n_qpoints; qp++)
113  {
114  libMesh::FEBase* fe = context.get_element_fe(this->_temp_vars.T_var());
115 
116  libMesh::RealGradient g = this->_stab_helper.compute_g( fe, context, qp );
117  libMesh::RealTensor G = this->_stab_helper.compute_G( fe, context, qp );
118 
119  libMesh::RealGradient U( context.interior_value( this->_flow_vars.u_var(), qp ),
120  context.interior_value( this->_flow_vars.v_var(), qp ) );
121  if( this->_dim == 3 )
122  {
123  U(2) = context.interior_value( this->_flow_vars.w_var(), qp );
124  }
125 
126  //libMesh::RealGradient grad_T = context.interior_gradient( this->_temp_vars.T_var(), qp );
127 
128  libMesh::Real tau_E, RE_s;
129  libMesh::Real d_tau_E_dT_rho, d_RE_s_dT;
130  libMesh::Gradient d_tau_E_dU, d_RE_s_dgradT, d_RE_s_dU;
131  libMesh::Tensor d_RE_s_dhessT;
132 
133  // Compute the conductivity at this qp
134  libMesh::Real _k_qp = this->_k(context, qp);
135 
136  if (compute_jacobian)
137  {
139  ( context, G, this->_rho, this->_Cp, _k_qp, U,
140  tau_E, d_tau_E_dT_rho, d_tau_E_dU, this->_is_steady );
142  ( context, qp, this->_rho, this->_Cp, _k_qp,
143  RE_s, d_RE_s_dT, d_RE_s_dgradT, d_RE_s_dhessT,
144  d_RE_s_dU );
145  }
146  else
147  {
148  tau_E = this->_stab_helper.compute_tau_energy
149  ( context, G, this->_rho, this->_Cp, _k_qp, U, this->_is_steady );
150 
152  ( context, qp, this->_rho, this->_Cp, _k_qp );
153  }
154 
155  /*
156  for (unsigned int i=0; i != n_u_dofs; i++)
157  {
158  Fu(i) += -tau_E*RE_s*this->_rho*this->_Cp*u_phi[i][qp]*grad_T(0)*JxW[qp];
159  Fv(i) += -tau_E*RE_s*this->_rho*this->_Cp*u_phi[i][qp]*grad_T(1)*JxW[qp];
160  if( this->_dim == 3 )
161  {
162  (*Fw)(i) += -tau_E*RE_s*this->_rho*this->_Cp*u_phi[i][qp]*grad_T(2)*JxW[qp];
163  }
164  }
165  */
166 
167  for (unsigned int i=0; i != n_T_dofs; i++)
168  {
169  FT(i) += -tau_E*RE_s*( this->_rho*this->_Cp*U*T_gradphi[i][qp]
170  + _k_qp*(T_hessphi[i][qp](0,0) + T_hessphi[i][qp](1,1) + T_hessphi[i][qp](2,2))
171  )*JxW[qp];
172  if (compute_jacobian)
173  {
174  for (unsigned int j=0; j != n_T_dofs; ++j)
175  {
176  KTT(i,j) += -tau_E*
177  (d_RE_s_dT*T_phi[j][qp] +
178  d_RE_s_dgradT*T_gradphi[j][qp] +
179  d_RE_s_dhessT.contract(T_hessphi[j][qp])
180  ) *
181  ( this->_rho*this->_Cp*U*T_gradphi[i][qp]
182  + _k_qp*(T_hessphi[i][qp](0,0) +
183  T_hessphi[i][qp](1,1) +
184  T_hessphi[i][qp](2,2))
185  )*JxW[qp]
186  * context.get_fixed_solution_derivative();
187  }
188  for (unsigned int j=0; j != n_u_dofs; ++j)
189  {
190  KTu(i,j) += -tau_E*RE_s*
191  ( this->_rho*this->_Cp*u_phi[j][qp]*T_gradphi[i][qp](0) )*JxW[qp]
192  * context.get_fixed_solution_derivative();
193  KTu(i,j) +=
194  -(tau_E*d_RE_s_dU(0)+d_tau_E_dU(0)*RE_s)*u_phi[j][qp]*
195  ( this->_rho*this->_Cp*U*T_gradphi[i][qp]
196  + _k_qp*(T_hessphi[i][qp](0,0) +
197  T_hessphi[i][qp](1,1) +
198  T_hessphi[i][qp](2,2))
199  )*JxW[qp]
200  * context.get_fixed_solution_derivative();
201  KTv(i,j) += -tau_E*RE_s*
202  ( this->_rho*this->_Cp*u_phi[j][qp]*T_gradphi[i][qp](1) )*JxW[qp]
203  * context.get_fixed_solution_derivative();
204  KTv(i,j) +=
205  -(tau_E*d_RE_s_dU(1)+d_tau_E_dU(1)*RE_s)*u_phi[j][qp]*
206  ( this->_rho*this->_Cp*U*T_gradphi[i][qp]
207  + _k_qp*(T_hessphi[i][qp](0,0) +
208  T_hessphi[i][qp](1,1) +
209  T_hessphi[i][qp](2,2))
210  )*JxW[qp]
211  * context.get_fixed_solution_derivative();
212  }
213  if(this->_dim == 3)
214  {
215  for (unsigned int j=0; j != n_u_dofs; ++j)
216  {
217  (*KTw)(i,j) += -tau_E*RE_s*
218  ( this->_rho*this->_Cp*u_phi[j][qp]*T_gradphi[i][qp](2) )*JxW[qp]
219  * context.get_fixed_solution_derivative();
220  (*KTw)(i,j) +=
221  -(tau_E*d_RE_s_dU(2)+d_tau_E_dU(2)*RE_s)*u_phi[j][qp]*
222  ( this->_rho*this->_Cp*U*T_gradphi[i][qp]
223  + _k_qp*(T_hessphi[i][qp](0,0) +
224  T_hessphi[i][qp](1,1) +
225  T_hessphi[i][qp](2,2))
226  )*JxW[qp]
227  * context.get_fixed_solution_derivative();
228  }
229  }
230  }
231  }
232  }
233 
234 #ifdef GRINS_USE_GRVY_TIMERS
235  this->_timer->EndTimer("HeatTransferAdjointStabilization::element_time_derivative");
236 #endif
237  return;
238  }
libMesh::RealTensor compute_G(libMesh::FEBase *fe, AssemblyContext &c, unsigned int qp) const
Definition: stab_helper.C:64
void compute_res_energy_steady_and_derivs(AssemblyContext &context, unsigned int qp, const libMesh::Real rho, const libMesh::Real Cp, const libMesh::Real k, libMesh::Real &res, libMesh::Real &d_res_dT, libMesh::Gradient &d_res_dgradT, libMesh::Tensor &d_res_dhessT, libMesh::Gradient &d_res_dU) const
void compute_tau_energy_and_derivs(AssemblyContext &c, libMesh::RealTensor &G, libMesh::Real rho, libMesh::Real cp, libMesh::Real k, libMesh::Gradient U, libMesh::Real &tau_E, libMesh::Real &d_tau_E_d_rho, libMesh::Gradient &d_tau_E_d_U, bool is_steady) const
libMesh::Number _rho
Material parameters, read from input.
libMesh::RealGradient compute_g(libMesh::FEBase *fe, AssemblyContext &c, unsigned int qp) const
Definition: stab_helper.C:47
PrimitiveFlowFEVariables _flow_vars
HeatTransferStabilizationHelper _stab_helper
PrimitiveTempFEVariables _temp_vars
libMesh::Real compute_tau_energy(AssemblyContext &c, libMesh::RealTensor &G, libMesh::Real rho, libMesh::Real cp, libMesh::Real k, libMesh::Gradient U, bool is_steady) const
static bool _is_steady
Caches whether or not the solver that's being used is steady or not.
Definition: physics.h:266
unsigned int _dim
Physical dimension of problem.
libMesh::Real compute_res_energy_steady(AssemblyContext &context, unsigned int qp, const libMesh::Real rho, const libMesh::Real Cp, const libMesh::Real k) const
bool GRINS::Physics::enabled_on_elem ( const libMesh::Elem *  elem)
virtualinherited

Find if current physics is active on supplied element.

Definition at line 83 of file physics.C.

References GRINS::Physics::_enabled_subdomains.

84  {
85  // Check if enabled_subdomains flag has been set and if we're
86  // looking at a real element (rather than a nonlocal evaluation)
87  if( !elem || _enabled_subdomains.empty() )
88  return true;
89 
90  // Check if current physics is enabled on elem
91  if( _enabled_subdomains.find( elem->subdomain_id() ) == _enabled_subdomains.end() )
92  return false;
93 
94  return true;
95  }
std::set< libMesh::subdomain_id_type > _enabled_subdomains
Subdomains on which the current Physics class is enabled.
Definition: physics.h:261
BCHandlingBase * GRINS::Physics::get_bc_handler ( )
inlineinherited

Definition at line 282 of file physics.h.

References GRINS::Physics::_bc_handler.

283  {
284  return _bc_handler;
285  }
GRINS::BCHandlingBase * _bc_handler
Definition: physics.h:256
ICHandlingBase * GRINS::Physics::get_ic_handler ( )
inlineinherited

Definition at line 288 of file physics.h.

References GRINS::Physics::_ic_handler.

289  {
290  return _ic_handler;
291  }
GRINS::ICHandlingBase * _ic_handler
Definition: physics.h:258
void GRINS::Physics::init_bcs ( libMesh::FEMSystem *  system)
inherited

Definition at line 118 of file physics.C.

References GRINS::Physics::_bc_handler, GRINS::BCHandlingBase::init_bc_data(), GRINS::BCHandlingBase::init_dirichlet_bc_func_objs(), GRINS::BCHandlingBase::init_dirichlet_bcs(), and GRINS::BCHandlingBase::init_periodic_bcs().

119  {
120  // Only need to init BC's if the physics actually created a handler
121  if( _bc_handler )
122  {
123  _bc_handler->init_bc_data( *system );
124  _bc_handler->init_dirichlet_bcs( system );
126  _bc_handler->init_periodic_bcs( system );
127  }
128 
129  return;
130  }
GRINS::BCHandlingBase * _bc_handler
Definition: physics.h:256
virtual void init_dirichlet_bcs(libMesh::FEMSystem *system) const
virtual void init_periodic_bcs(libMesh::FEMSystem *system) const
virtual void init_dirichlet_bc_func_objs(libMesh::FEMSystem *system) const
virtual void init_bc_data(const libMesh::FEMSystem &system)
Override this method to initialize any system-dependent data.
template<class K >
void GRINS::HeatTransferStabilizationBase< K >::init_context ( AssemblyContext context)
virtualinherited

Initialize context for added physics variables.

Reimplemented from GRINS::HeatTransferBase< Conductivity >.

Definition at line 67 of file heat_transfer_stab_base.C.

References GRINS::HeatTransferBase< Conductivity >::init_context().

68  {
69  // First call base class
71 
72  // We also need second derivatives, so initialize those.
73  context.get_element_fe(this->_temp_vars.T_var())->get_d2phi();
74 
75  return;
76  }
virtual void init_context(AssemblyContext &context)
Initialize context for added physics variables.
PrimitiveTempFEVariables _temp_vars
void GRINS::Physics::init_ics ( libMesh::FEMSystem *  system,
libMesh::CompositeFunction< libMesh::Number > &  all_ics 
)
inherited

Definition at line 133 of file physics.C.

References GRINS::Physics::_ic_handler, and GRINS::ICHandlingBase::init_ic_data().

135  {
136  if( _ic_handler )
137  {
138  _ic_handler->init_ic_data( *system, all_ics );
139  }
140 
141  return;
142  }
GRINS::ICHandlingBase * _ic_handler
Definition: physics.h:258
virtual void init_ic_data(const libMesh::FEMSystem &system, libMesh::CompositeFunction< libMesh::Number > &all_ics)
Override this method to initialize any system-dependent data.
template<class K >
void GRINS::HeatTransferStabilizationBase< K >::init_variables ( libMesh::FEMSystem *  system)
virtualinherited

Initialization Heat Transfer variables.

Add velocity and pressure variables to system.

Reimplemented from GRINS::HeatTransferBase< Conductivity >.

Definition at line 56 of file heat_transfer_stab_base.C.

References GRINS::HeatTransferBase< Conductivity >::init_variables().

57  {
58  // First call base class
60 
61  _stab_helper.init(*system);
62 
63  return;
64  }
virtual void init_variables(libMesh::FEMSystem *system)
Initialization Heat Transfer variables.
HeatTransferStabilizationHelper _stab_helper
bool GRINS::Physics::is_steady ( ) const
inherited

Returns whether or not this physics is being solved with a steady solver.

Definition at line 103 of file physics.C.

References GRINS::Physics::_is_steady.

Referenced by GRINS::Physics::set_is_steady().

104  {
105  return _is_steady;
106  }
static bool _is_steady
Caches whether or not the solver that's being used is steady or not.
Definition: physics.h:266
template<class K >
void GRINS::HeatTransferAdjointStabilization< K >::mass_residual ( bool  compute_jacobian,
AssemblyContext context,
CachedValues cache 
)
virtual

Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part.

Reimplemented from GRINS::Physics.

Definition at line 241 of file heat_transfer_adjoint_stab.C.

244  {
245 #ifdef GRINS_USE_GRVY_TIMERS
246  this->_timer->BeginTimer("HeatTransferAdjointStabilization::mass_residual");
247 #endif
248 
249  // The number of local degrees of freedom in each variable.
250  const unsigned int n_T_dofs = context.get_dof_indices(this->_temp_vars.T_var()).size();
251  const unsigned int n_u_dofs = context.get_dof_indices(this->_flow_vars.u_var()).size();
252 
253  // Element Jacobian * quadrature weights for interior integration.
254  const std::vector<libMesh::Real> &JxW =
255  context.get_element_fe(this->_temp_vars.T_var())->get_JxW();
256 
257  const std::vector<std::vector<libMesh::Real> >& u_phi =
258  context.get_element_fe(this->_flow_vars.u_var())->get_phi();
259 
260  const std::vector<std::vector<libMesh::Real> >& T_phi =
261  context.get_element_fe(this->_temp_vars.T_var())->get_phi();
262 
263  const std::vector<std::vector<libMesh::RealGradient> >& T_gradphi =
264  context.get_element_fe(this->_temp_vars.T_var())->get_dphi();
265 
266  const std::vector<std::vector<libMesh::RealTensor> >& T_hessphi =
267  context.get_element_fe(this->_temp_vars.T_var())->get_d2phi();
268 
269  /*
270  const unsigned int n_u_dofs = context.get_dof_indices(this->_flow_vars.u_var()).size();
271 
272  const std::vector<std::vector<libMesh::Real> >& u_phi =
273  context.get_element_fe(this->_flow_vars.u_var())->get_phi();
274 
275  libMesh::DenseSubVector<libMesh::Number> &Fu = context.get_elem_residual(this->_flow_vars.u_var()); // R_{p}
276  libMesh::DenseSubVector<libMesh::Number> &Fv = context.get_elem_residual(this->_flow_vars.v_var()); // R_{p}
277  libMesh::DenseSubVector<libMesh::Number> *Fw = NULL;
278  if(this->_dim == 3)
279  {
280  Fw = &context.get_elem_residual(this->_flow_vars.w_var()); // R_{w}
281  }
282  */
283 
284  libMesh::DenseSubVector<libMesh::Number> &FT = context.get_elem_residual(this->_temp_vars.T_var()); // R_{T}
285  libMesh::DenseSubMatrix<libMesh::Number> &KTT =
286  context.get_elem_jacobian(this->_temp_vars.T_var(), this->_temp_vars.T_var()); // J_{TT}
287  libMesh::DenseSubMatrix<libMesh::Number> &KTu =
288  context.get_elem_jacobian(this->_temp_vars.T_var(), this->_flow_vars.u_var()); // J_{Tu}
289  libMesh::DenseSubMatrix<libMesh::Number> &KTv =
290  context.get_elem_jacobian(this->_temp_vars.T_var(), this->_flow_vars.v_var()); // J_{Tv}
291  libMesh::DenseSubMatrix<libMesh::Number> *KTw = NULL;
292 
293  if(this->_dim == 3)
294  {
295  KTw = &context.get_elem_jacobian
296  (this->_temp_vars.T_var(), this->_flow_vars.w_var()); // J_{Tw}
297  }
298 
299  unsigned int n_qpoints = context.get_element_qrule().n_points();
300 
301  for (unsigned int qp=0; qp != n_qpoints; qp++)
302  {
303  libMesh::FEBase* fe = context.get_element_fe(this->_temp_vars.T_var());
304 
305  libMesh::RealGradient g = this->_stab_helper.compute_g( fe, context, qp );
306  libMesh::RealTensor G = this->_stab_helper.compute_G( fe, context, qp );
307 
308  libMesh::RealGradient U( context.fixed_interior_value( this->_flow_vars.u_var(), qp ),
309  context.fixed_interior_value( this->_flow_vars.v_var(), qp ) );
310  if( this->_dim == 3 )
311  U(2) = context.fixed_interior_value( this->_flow_vars.w_var(), qp );
312 
313  //libMesh::RealGradient grad_T = context.fixed_interior_gradient( this->_temp_vars.T_var(), qp );
314 
315  libMesh::Real tau_E, RE_t;
316  libMesh::Real d_tau_E_d_rho, d_RE_t_dT;
317  libMesh::Gradient d_tau_E_dU;
318 
319  // Compute the conductivity at this qp
320  libMesh::Real _k_qp = this->_k(context, qp);
321 
322  if (compute_jacobian)
323  {
325  ( context, G, this->_rho, this->_Cp, _k_qp, U,
326  tau_E, d_tau_E_d_rho, d_tau_E_dU, false );
328  ( context, qp, this->_rho, this->_Cp,
329  RE_t, d_RE_t_dT );
330  }
331  else
332  {
333  tau_E = this->_stab_helper.compute_tau_energy
334  ( context, G, this->_rho, this->_Cp, _k_qp, U, false );
335 
337  ( context, qp, this->_rho, this->_Cp );
338  }
339 
340 
341  /*
342  for (unsigned int i=0; i != n_u_dofs; i++)
343  {
344  Fu(i) += -tau_E*RE_t*this->_rho*this->_Cp*u_phi[i][qp]*grad_T(0)*JxW[qp];
345  Fv(i) += -tau_E*RE_t*this->_rho*this->_Cp*u_phi[i][qp]*grad_T(1)*JxW[qp];
346  if( this->_dim == 3 )
347  {
348  (*Fw)(i) += -tau_E*RE_t*this->_rho*this->_Cp*u_phi[i][qp]*grad_T(2)*JxW[qp];
349  }
350  }
351  */
352 
353  for (unsigned int i=0; i != n_T_dofs; i++)
354  {
355  FT(i) -= tau_E*RE_t*( this->_rho*this->_Cp*U*T_gradphi[i][qp]
356  + _k_qp*(T_hessphi[i][qp](0,0) + T_hessphi[i][qp](1,1) + T_hessphi[i][qp](2,2))
357  )*JxW[qp];
358  if (compute_jacobian)
359  {
360  const libMesh::Real fixed_deriv =
361  context.get_fixed_solution_derivative();
362 
363  for (unsigned int j=0; j != n_T_dofs; ++j)
364  {
365  KTT(i,j) -=
366  (tau_E*d_RE_t_dT)*T_phi[j][qp]*
367  ( this->_rho*this->_Cp*U*T_gradphi[i][qp]
368  + _k_qp*(T_hessphi[i][qp](0,0) +
369  T_hessphi[i][qp](1,1) +
370  T_hessphi[i][qp](2,2))
371  )*JxW[qp];
372  }
373  for (unsigned int j=0; j != n_u_dofs; ++j)
374  {
375  KTu(i,j) -=
376  d_tau_E_dU(0)*u_phi[j][qp]*RE_t*
377  ( this->_rho*this->_Cp*U*T_gradphi[i][qp]
378  + _k_qp*(T_hessphi[i][qp](0,0) +
379  T_hessphi[i][qp](1,1) +
380  T_hessphi[i][qp](2,2))
381  )*fixed_deriv*JxW[qp];
382  KTu(i,j) -=
383  tau_E*RE_t*
384  ( this->_rho*this->_Cp*u_phi[j][qp]*T_gradphi[i][qp](0)*fixed_deriv
385  )*JxW[qp];
386  KTv(i,j) -=
387  d_tau_E_dU(1)*u_phi[j][qp]*RE_t*
388  ( this->_rho*this->_Cp*U*T_gradphi[i][qp]
389  + _k_qp*(T_hessphi[i][qp](0,0) +
390  T_hessphi[i][qp](1,1) +
391  T_hessphi[i][qp](2,2))
392  )*fixed_deriv*JxW[qp];
393  KTv(i,j) -=
394  tau_E*RE_t*
395  ( this->_rho*this->_Cp*u_phi[j][qp]*T_gradphi[i][qp](1)*fixed_deriv
396  )*JxW[qp];
397  }
398  if(this->_dim == 3)
399  {
400  for (unsigned int j=0; j != n_u_dofs; ++j)
401  {
402  (*KTw)(i,j) -=
403  d_tau_E_dU(2)*u_phi[j][qp]*RE_t*
404  ( this->_rho*this->_Cp*U*T_gradphi[i][qp]
405  + _k_qp*(T_hessphi[i][qp](0,0) +
406  T_hessphi[i][qp](1,1) +
407  T_hessphi[i][qp](2,2))
408  )*fixed_deriv*JxW[qp];
409  (*KTw)(i,j) -=
410  tau_E*RE_t*
411  ( this->_rho*this->_Cp*u_phi[j][qp]*T_gradphi[i][qp](2)*fixed_deriv
412  )*JxW[qp];
413  }
414  }
415  }
416  }
417 
418  }
419 
420 #ifdef GRINS_USE_GRVY_TIMERS
421  this->_timer->EndTimer("HeatTransferAdjointStabilization::mass_residual");
422 #endif
423  return;
424  }
libMesh::Real compute_res_energy_transient(AssemblyContext &context, unsigned int qp, const libMesh::Real rho, const libMesh::Real Cp) const
void compute_res_energy_transient_and_derivs(AssemblyContext &context, unsigned int qp, const libMesh::Real rho, const libMesh::Real Cp, libMesh::Real &res, libMesh::Real &d_res_dTdot) const
libMesh::RealTensor compute_G(libMesh::FEBase *fe, AssemblyContext &c, unsigned int qp) const
Definition: stab_helper.C:64
void compute_tau_energy_and_derivs(AssemblyContext &c, libMesh::RealTensor &G, libMesh::Real rho, libMesh::Real cp, libMesh::Real k, libMesh::Gradient U, libMesh::Real &tau_E, libMesh::Real &d_tau_E_d_rho, libMesh::Gradient &d_tau_E_d_U, bool is_steady) const
libMesh::Number _rho
Material parameters, read from input.
libMesh::RealGradient compute_g(libMesh::FEBase *fe, AssemblyContext &c, unsigned int qp) const
Definition: stab_helper.C:47
PrimitiveFlowFEVariables _flow_vars
HeatTransferStabilizationHelper _stab_helper
PrimitiveTempFEVariables _temp_vars
libMesh::Real compute_tau_energy(AssemblyContext &c, libMesh::RealTensor &G, libMesh::Real rho, libMesh::Real cp, libMesh::Real k, libMesh::Gradient U, bool is_steady) const
unsigned int _dim
Physical dimension of problem.
void GRINS::Physics::nonlocal_constraint ( bool  compute_jacobian,
AssemblyContext context,
CachedValues cache 
)
virtualinherited

Constraint part(s) of physics for scalar variables.

Reimplemented in GRINS::ScalarODE.

Definition at line 250 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::nonlocal_constraint().

253  {
254  return;
255  }
void GRINS::Physics::nonlocal_mass_residual ( bool  compute_jacobian,
AssemblyContext context,
CachedValues cache 
)
virtualinherited

Mass matrix part(s) for scalar variables.

Reimplemented in GRINS::ScalarODE, and GRINS::AveragedTurbine< Viscosity >.

Definition at line 264 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::nonlocal_mass_residual().

267  {
268  return;
269  }
void GRINS::Physics::nonlocal_time_derivative ( bool  compute_jacobian,
AssemblyContext context,
CachedValues cache 
)
virtualinherited

Time dependent part(s) of physics for scalar variables.

Reimplemented in GRINS::AveragedTurbine< Viscosity >, and GRINS::ScalarODE.

Definition at line 229 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::nonlocal_time_derivative().

232  {
233  return;
234  }
void GRINS::Physics::read_input_options ( const GetPot &  input)
virtualinherited

Read options from GetPot input file. By default, nothing is read.

Reimplemented in GRINS::ScalarODE, GRINS::AveragedTurbineBase< Viscosity >, GRINS::AxisymmetricBoussinesqBuoyancy, GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >, GRINS::AxisymmetricHeatTransfer< Conductivity >, GRINS::AveragedFanBase< Viscosity >, GRINS::ParsedVelocitySourceBase< Viscosity >, GRINS::VelocityDragBase< Viscosity >, GRINS::VelocityPenaltyBase< Viscosity >, GRINS::IncompressibleNavierStokes< Viscosity >, GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >, GRINS::HeatTransfer< Conductivity >, GRINS::ReactingLowMachNavierStokesBase< Mixture, Evaluator >, and GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >.

Definition at line 70 of file physics.C.

References GRINS::Physics::_enabled_subdomains, and GRINS::Physics::_physics_name.

Referenced by GRINS::HeatTransferBase< Conductivity >::HeatTransferBase(), GRINS::HeatTransferStabilizationBase< Conductivity >::HeatTransferStabilizationBase(), GRINS::IncompressibleNavierStokesAdjointStabilization< Viscosity >::IncompressibleNavierStokesAdjointStabilization(), GRINS::IncompressibleNavierStokesSPGSMStabilization< Viscosity >::IncompressibleNavierStokesSPGSMStabilization(), GRINS::Physics::Physics(), and GRINS::SpalartAllmarasSPGSMStabilization< Viscosity >::SpalartAllmarasSPGSMStabilization().

71  {
72  int num_ids = input.vector_variable_size( "Physics/"+this->_physics_name+"/enabled_subdomains" );
73 
74  for( int i = 0; i < num_ids; i++ )
75  {
76  libMesh::subdomain_id_type dumvar = input( "Physics/"+this->_physics_name+"/enabled_subdomains", -1, i );
77  _enabled_subdomains.insert( dumvar );
78  }
79 
80  return;
81  }
const PhysicsName _physics_name
Name of the physics object. Used for reading physics specific inputs.
Definition: physics.h:254
std::set< libMesh::subdomain_id_type > _enabled_subdomains
Subdomains on which the current Physics class is enabled.
Definition: physics.h:261
template<class K >
void GRINS::HeatTransferBase< K >::register_parameter ( const std::string &  param_name,
libMesh::ParameterMultiPointer< libMesh::Number > &  param_pointer 
) const
virtualinherited

Each subclass will register its copy of an independent.

Reimplemented from GRINS::ParameterUser.

Definition at line 112 of file heat_transfer_base.C.

References GRINS::ParameterUser::register_parameter().

115  {
116  ParameterUser::register_parameter(param_name, param_pointer);
117  _k.register_parameter(param_name, param_pointer);
118  }
virtual void register_parameter(const std::string &param_name, libMesh::ParameterMultiPointer< libMesh::Number > &param_pointer) const
Each subclass will register its copy of an independent.
Conductivity _k
Conductivity.
void GRINS::Physics::register_postprocessing_vars ( const GetPot &  input,
PostProcessedQuantities< libMesh::Real > &  postprocessing 
)
virtualinherited

Register name of postprocessed quantity with PostProcessedQuantities.

Each Physics class will need to cache an unsigned int corresponding to each postprocessed quantity. This will be used in computing the values and putting them in the CachedVariables object.

Reimplemented in GRINS::ParsedVelocitySource< Viscosity >, GRINS::VelocityPenalty< Viscosity >, GRINS::IncompressibleNavierStokes< Viscosity >, GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >, GRINS::HeatTransfer< Conductivity >, GRINS::ElasticCable< StressStrainLaw >, GRINS::ElasticMembrane< StressStrainLaw >, and GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >.

Definition at line 161 of file physics.C.

163  {
164  return;
165  }
void GRINS::Physics::set_is_steady ( bool  is_steady)
inherited

Sets whether this physics is to be solved with a steady solver or not.

Since the member variable is static, only needs to be called on a single physics.

Definition at line 97 of file physics.C.

References GRINS::Physics::_is_steady, and GRINS::Physics::is_steady().

98  {
100  return;
101  }
bool is_steady() const
Returns whether or not this physics is being solved with a steady solver.
Definition: physics.C:103
static bool _is_steady
Caches whether or not the solver that's being used is steady or not.
Definition: physics.h:266
void GRINS::ParameterUser::set_parameter ( libMesh::Number &  param_variable,
const GetPot &  input,
const std::string &  param_name,
libMesh::Number  param_default 
)
virtualinherited

Each subclass can simultaneously read a parameter value from.

Definition at line 35 of file parameter_user.C.

References GRINS::ParameterUser::_my_name, and GRINS::ParameterUser::_my_parameters.

Referenced by GRINS::AveragedFanAdjointStabilization< Viscosity >::AveragedFanAdjointStabilization(), GRINS::AveragedTurbineAdjointStabilization< Viscosity >::AveragedTurbineAdjointStabilization(), GRINS::BoussinesqBuoyancyAdjointStabilization< Viscosity >::BoussinesqBuoyancyAdjointStabilization(), GRINS::BoussinesqBuoyancyBase::BoussinesqBuoyancyBase(), GRINS::BoussinesqBuoyancySPGSMStabilization< Viscosity >::BoussinesqBuoyancySPGSMStabilization(), GRINS::ConstantConductivity::ConstantConductivity(), GRINS::ConstantPrandtlConductivity::ConstantPrandtlConductivity(), GRINS::ConstantSourceFunction::ConstantSourceFunction(), GRINS::ConstantSourceTerm::ConstantSourceTerm(), GRINS::ConstantSpecificHeat::ConstantSpecificHeat(), GRINS::ConstantViscosity::ConstantViscosity(), GRINS::ElasticCable< StressStrainLaw >::ElasticCable(), GRINS::ElasticCableConstantGravity::ElasticCableConstantGravity(), GRINS::ElasticMembrane< StressStrainLaw >::ElasticMembrane(), GRINS::ElasticMembraneConstantPressure::ElasticMembraneConstantPressure(), GRINS::HeatConduction< Conductivity >::HeatConduction(), GRINS::HeatTransferBase< Conductivity >::HeatTransferBase(), GRINS::IncompressibleNavierStokesBase< Viscosity >::IncompressibleNavierStokesBase(), GRINS::AverageNusseltNumber::init(), GRINS::MooneyRivlin::MooneyRivlin(), GRINS::ReactingLowMachNavierStokesBase< Mixture, Evaluator >::ReactingLowMachNavierStokesBase(), GRINS::HookesLaw1D::read_input_options(), GRINS::HookesLaw::read_input_options(), GRINS::AxisymmetricBoussinesqBuoyancy::read_input_options(), and GRINS::VelocityDragAdjointStabilization< Viscosity >::VelocityDragAdjointStabilization().

39  {
40  param_variable = input(param_name, param_default);
41 
42  libmesh_assert_msg(!_my_parameters.count(param_name),
43  "ERROR: " << _my_name << " double-registered parameter " <<
44  param_name);
45 
46  _my_parameters[param_name] = &param_variable;
47  }
std::map< std::string, libMesh::Number * > _my_parameters
template<class K >
void GRINS::HeatTransferBase< K >::set_time_evolving_vars ( libMesh::FEMSystem *  system)
virtualinherited

Sets velocity variables to be time-evolving.

Reimplemented from GRINS::Physics.

Definition at line 83 of file heat_transfer_base.C.

84  {
85  // Tell the system to march temperature forward in time
86  system->time_evolving(_temp_vars.T_var());
87 
88  return;
89  }
PrimitiveTempFEVariables _temp_vars
void GRINS::Physics::side_constraint ( bool  compute_jacobian,
AssemblyContext context,
CachedValues cache 
)
virtualinherited

Constraint part(s) of physics for boundaries of elements on the domain boundary.

Reimplemented in GRINS::IncompressibleNavierStokes< Viscosity >, GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >, and GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >.

Definition at line 243 of file physics.C.

Referenced by GRINS::MultiphysicsSystem::side_constraint().

246  {
247  return;
248  }
void GRINS::Physics::side_time_derivative ( bool  compute_jacobian,
AssemblyContext context,
CachedValues cache 
)
virtualinherited

Member Data Documentation

GRINS::BCHandlingBase* GRINS::Physics::_bc_handler
protectedinherited
template<class Conductivity >
libMesh::Number GRINS::HeatTransferBase< Conductivity >::_Cp
protectedinherited
template<class Conductivity >
unsigned int GRINS::HeatTransferBase< Conductivity >::_dim
protectedinherited

Physical dimension of problem.

Todo:
Make this static member of base class?

Definition at line 73 of file heat_transfer_base.h.

std::set<libMesh::subdomain_id_type> GRINS::Physics::_enabled_subdomains
protectedinherited

Subdomains on which the current Physics class is enabled.

Definition at line 261 of file physics.h.

Referenced by GRINS::Physics::enabled_on_elem(), and GRINS::Physics::read_input_options().

template<class Conductivity >
PrimitiveFlowFEVariables GRINS::HeatTransferBase< Conductivity >::_flow_vars
protectedinherited

Definition at line 75 of file heat_transfer_base.h.

GRINS::ICHandlingBase* GRINS::Physics::_ic_handler
protectedinherited
bool GRINS::Physics::_is_axisymmetric
protectedinherited
bool GRINS::Physics::_is_steady = false
staticprotectedinherited

Caches whether or not the solver that's being used is steady or not.

This is need, for example, in flow stabilization as the tau terms change depending on whether the solver is steady or unsteady.

Definition at line 266 of file physics.h.

Referenced by GRINS::Physics::is_steady(), and GRINS::Physics::set_is_steady().

template<class Conductivity >
Conductivity GRINS::HeatTransferStabilizationBase< Conductivity >::_k
protectedinherited

Definition at line 54 of file heat_transfer_stab_base.h.

const PhysicsName GRINS::Physics::_physics_name
protectedinherited

Name of the physics object. Used for reading physics specific inputs.

We use a reference because the physics names are const global objects in GRINS namespace

No, we use a copy, because otherwise as soon as the memory in std::set<std::string> requested_physics gets overwritten we get in trouble.

Definition at line 254 of file physics.h.

Referenced by GRINS::SourceTermBase::parse_var_info(), and GRINS::Physics::read_input_options().

template<class Conductivity >
libMesh::Number GRINS::HeatTransferBase< Conductivity >::_rho
protectedinherited

Material parameters, read from input.

Todo:
Need to generalize material parameters. Right now they are assumed constant
Todo:
Shouldn't this rho be the same as the one in the flow? Need to figure out how to have those shared

Definition at line 84 of file heat_transfer_base.h.

Referenced by GRINS::HeatTransferBase< Conductivity >::HeatTransferBase().

template<class Conductivity >
HeatTransferStabilizationHelper GRINS::HeatTransferStabilizationBase< Conductivity >::_stab_helper
protectedinherited

Definition at line 52 of file heat_transfer_stab_base.h.

template<class Conductivity >
PrimitiveTempFEVariables GRINS::HeatTransferBase< Conductivity >::_temp_vars
protectedinherited

Definition at line 77 of file heat_transfer_base.h.


The documentation for this class was generated from the following files:

Generated on Mon Jun 22 2015 21:32:22 for GRINS-0.6.0 by  doxygen 1.8.9.1