https://mooseframework.inl.gov
GapHeatTransfer.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 "IntegratedBC.h"
13 #include "GapConductance.h"
14 
15 class PenetrationInfo;
16 
21 {
22 public:
24 
26 
27  virtual void initialSetup() override;
28  void computeJacobian() override;
29 
30  void computeOffDiagJacobian(unsigned int jvar) override;
31 
32 protected:
33  virtual Real computeQpResidual() override;
34  virtual Real computeQpJacobian() override;
35 
40 
44  Real computeSecondaryQpOffDiagJacobian(unsigned int jvar);
45 
46  virtual Real computeQpOffDiagJacobian(unsigned jvar) override;
47 
48  virtual Real gapLength() const;
49  virtual Real dgapLength(Real normalComponent) const;
51  virtual void computeGapValues();
52 
54 
55  const bool _quadrature;
56 
58 
61 
62  const Real _min_gap;
63  const unsigned int _min_gap_order;
64  const Real _max_gap;
65 
71 
77 
78  bool _has_info;
79 
80  std::vector<unsigned int> _disp_vars;
81 
84 
86  const bool _warnings;
87 
88  Point & _p1;
89  Point & _p2;
90 
93 
95  const std::vector<std::vector<Real>> * _secondary_side_phi;
96 
99  const Elem * _secondary_side;
100 
102  unsigned int _secondary_j;
103 };
GapConductance::GAP_GEOMETRY & _gap_geometry_type
virtual void computeGapValues()
virtual Real computeSecondaryFluxContribution(Real grad_t)
void computeJacobian() override
Real computeSecondaryQpJacobian()
compute the Jacobian contributions from the secondary side degrees of freedom
Generic gap heat transfer model, with h_gap = h_conduction + h_contact + h_radiation.
const MaterialProperty< Real > & _gap_conductance_dT
Real _edge_multiplier
This is a factor that is used to gradually taper down the conductance if the contact point is off the...
const bool _quadrature
virtual Real computeQpJacobian() override
Real computeSecondaryQpOffDiagJacobian(unsigned int jvar)
compute the displacement Jacobian contributions from the secondary side degrees of freedom ...
const MaterialProperty< Real > & _gap_conductance
const std::vector< std::vector< Real > > * _secondary_side_phi
The phi values on the secondary side.
const Real _min_gap
virtual Real dgapLength(Real normalComponent) const
const Real _max_gap
const Elem * _secondary_side
The secondary side element (this really is a side element, e.g.
virtual Real gapLength() const
std::vector< unsigned int > _disp_vars
const PenetrationInfo * _pinfo
The current PenetratationInfo.
NumericVector< Number > * _secondary_flux
void computeOffDiagJacobian(unsigned int jvar) override
const bool _warnings
PenetrationLocator * _penetration_locator
OutputTools< Real >::VariableValue VariableValue
const VariableValue & _gap_temp_value
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
GapHeatTransfer(const InputParameters &parameters)
virtual Real computeQpResidual() override
const VariableValue & _gap_distance_value
const unsigned int _min_gap_order
const InputParameters & parameters() const
virtual Real computeQpOffDiagJacobian(unsigned jvar) override
static InputParameters validParams()
virtual void initialSetup() override
unsigned int _secondary_j
The secondary side shape index.