OGS
ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType > Class Template Reference

Detailed Description

template<typename ShapeFunction, typename IntegrationMethod, typename BHEType>
class ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >

Definition at line 28 of file HeatTransportBHELocalAssemblerBHE.h.

#include <HeatTransportBHELocalAssemblerBHE.h>

Inheritance diagram for ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >:
[legend]
Collaboration diagram for ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >:
[legend]

Public Types

using ShapeMatricesType = ShapeMatrixPolicyType< ShapeFunction, 3 >
 
using ShapeMatrices = typename ShapeMatricesType::ShapeMatrices
 
using BheLocalMatrixType = typename ShapeMatricesType::template MatrixType< local_matrix_size, local_matrix_size >
 

Public Member Functions

 HeatTransportBHELocalAssemblerBHE (HeatTransportBHELocalAssemblerBHE const &)=delete
 
 HeatTransportBHELocalAssemblerBHE (HeatTransportBHELocalAssemblerBHE &&)=delete
 
 HeatTransportBHELocalAssemblerBHE (MeshLib::Element const &e, BHEType const &bhe, bool const is_axially_symmetric, unsigned const integration_order, HeatTransportBHEProcessData &process_data)
 
void assemble (double const, double const, std::vector< double > const &, std::vector< double > const &, std::vector< double > &, std::vector< double > &, std::vector< double > &) override
 
Eigen::Map< const Eigen::RowVectorXd > getShapeMatrix (const unsigned integration_point) const override
 Provides the shape matrix at the given integration point. More...
 
- Public Member Functions inherited from ProcessLib::LocalAssemblerInterface
virtual ~LocalAssemblerInterface ()=default
 
void setInitialConditions (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table, GlobalVector const &x, double const t, bool const use_monolithic_scheme, int const process_id)
 
virtual void initialize (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table)
 
virtual void preAssemble (double const, double const, std::vector< double > const &)
 
virtual void assembleForStaggeredScheme (double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_xdot, int const process_id, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data)
 
virtual void assembleWithJacobian (double const t, double const dt, std::vector< double > const &local_x, std::vector< double > const &local_xdot, const double dxdot_dx, const double dx_dx, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data)
 
virtual void assembleWithJacobianForStaggeredScheme (double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_xdot, const double dxdot_dx, const double dx_dx, int const process_id, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data)
 
virtual void computeSecondaryVariable (std::size_t const mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, double const t, double const dt, std::vector< GlobalVector * > const &x, GlobalVector const &x_dot, int const process_id)
 
virtual void preTimestep (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table, GlobalVector const &x, double const t, double const delta_t)
 
virtual void postTimestep (std::size_t const mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, std::vector< GlobalVector * > const &x, double const t, double const dt)
 
void postNonLinearSolver (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table, GlobalVector const &x, GlobalVector const &xdot, double const t, double const dt, bool const use_monolithic_scheme, int const process_id)
 
virtual std::vector< double > interpolateNodalValuesToIntegrationPoints (std::vector< double > const &)
 
virtual Eigen::Vector3d getFlux (MathLib::Point3d const &, double const, std::vector< double > const &) const
 
virtual Eigen::Vector3d getFlux (MathLib::Point3d const &, double const, std::vector< std::vector< double >> const &) const
 Fits to staggered scheme. More...
 
- Public Member Functions inherited from NumLib::ExtrapolatableElement
virtual ~ExtrapolatableElement ()=default
 

Private Attributes

HeatTransportBHEProcessData_process_data
 
std::vector< IntegrationPointDataBHE< ShapeMatricesType >, Eigen::aligned_allocator< IntegrationPointDataBHE< ShapeMatricesType > > > _ip_data
 
IntegrationMethod _integration_method
 
BHEType const & _bhe
 
std::size_t const _element_id
 
SecondaryData< typename ShapeMatrices::ShapeType > _secondary_data
 
Eigen::Vector3d _element_direction
 
Eigen::Vector3d const _rotation_matrix_1D_to_3D
 
ShapeMatricesType::template MatrixType< bhe_unknowns_size, bhe_unknowns_size_R_matrix
 
ShapeMatricesType::template MatrixType< soil_temperature_size, soil_temperature_size_R_s_matrix
 
ShapeMatricesType::template MatrixType< bhe_unknowns_size, soil_temperature_size_R_pi_s_matrix
 

Static Private Attributes

static constexpr int bhe_unknowns = BHEType::number_of_unknowns
 
static constexpr int single_bhe_unknowns_size = ShapeFunction::NPOINTS
 
static constexpr int soil_temperature_size = ShapeFunction::NPOINTS
 
static constexpr int soil_temperature_index = 0
 
static constexpr int bhe_unknowns_size
 
static constexpr int bhe_unknowns_index = ShapeFunction::NPOINTS
 
static constexpr int local_matrix_size
 

Member Typedef Documentation

◆ BheLocalMatrixType

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
using ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::BheLocalMatrixType = typename ShapeMatricesType::template MatrixType<local_matrix_size, local_matrix_size>

Definition at line 47 of file HeatTransportBHELocalAssemblerBHE.h.

◆ ShapeMatrices

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
using ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::ShapeMatrices = typename ShapeMatricesType::ShapeMatrices

Definition at line 44 of file HeatTransportBHELocalAssemblerBHE.h.

◆ ShapeMatricesType

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
using ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::ShapeMatricesType = ShapeMatrixPolicyType<ShapeFunction, 3 >

Definition at line 42 of file HeatTransportBHELocalAssemblerBHE.h.

Constructor & Destructor Documentation

◆ HeatTransportBHELocalAssemblerBHE() [1/3]

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::HeatTransportBHELocalAssemblerBHE ( HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType > const &  )
delete

◆ HeatTransportBHELocalAssemblerBHE() [2/3]

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::HeatTransportBHELocalAssemblerBHE ( HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType > &&  )
delete

◆ HeatTransportBHELocalAssemblerBHE() [3/3]

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::HeatTransportBHELocalAssemblerBHE ( MeshLib::Element const &  e,
BHEType const &  bhe,
bool const  is_axially_symmetric,
unsigned const  integration_order,
HeatTransportBHEProcessData process_data 
)

Definition at line 35 of file HeatTransportBHELocalAssemblerBHE-impl.h.

41  : _process_data(process_data),
42  _integration_method(integration_order),
43  _bhe(bhe),
44  _element_id(e.getID()),
46 {
47  // need to make sure that the BHE elements are one-dimensional
48  assert(e.getDimension() == 1);
49 
50  unsigned const n_integration_points =
51  _integration_method.getNumberOfPoints();
52 
53  _ip_data.reserve(n_integration_points);
54  _secondary_data.N.resize(n_integration_points);
55 
56  auto const shape_matrices =
58  3 /* GlobalDim */>(e, is_axially_symmetric,
60 
61  // ip data initialization
62  for (unsigned ip = 0; ip < n_integration_points; ip++)
63  {
64  auto const& sm = shape_matrices[ip];
65  // create the class IntegrationPointDataBHE in place
66  _ip_data.push_back(
67  {sm.N, sm.dNdx,
68  _integration_method.getWeightedPoint(ip).getWeight() *
69  sm.integralMeasure * sm.detJ});
70 
71  _secondary_data.N[ip] = sm.N;
72  }
73 
74  // calculate the element direction vector
75  auto const p0 =
76  Eigen::Map<Eigen::Vector3d const>(e.getNode(0)->getCoords(), 3);
77  auto const p1 =
78  Eigen::Map<Eigen::Vector3d const>(e.getNode(1)->getCoords(), 3);
79 
80  _element_direction = (p1 - p0).normalized();
81 
85  static constexpr int max_num_thermal_exchange_terms = 5;
86  // formulate the local BHE R matrix
87  for (int idx_bhe_unknowns = 0; idx_bhe_unknowns < bhe_unknowns;
88  idx_bhe_unknowns++)
89  {
90  typename ShapeMatricesType::template MatrixType<
92  matBHE_loc_R = ShapeMatricesType::template MatrixType<
96  // Loop over Gauss points
97  for (unsigned ip = 0; ip < n_integration_points; ip++)
98  {
99  auto const& N = _ip_data[ip].N;
100  auto const& w = _ip_data[ip].integration_weight;
101 
102  auto const& R = _bhe.thermalResistance(idx_bhe_unknowns);
103  // calculate mass matrix for current unknown
104  matBHE_loc_R += N.transpose() * N * (1 / R) * w;
105  } // end of loop over integration point
106 
107  // The following assembly action is according to Diersch (2013) FEFLOW
108  // book please refer to M.127 and M.128 on page 955 and 956
109  // The if check is absolutely necessary because
110  // (i) In the CXA and CXC case, there are 3 exchange terms,
111  // and it is the same as the number of unknowns;
112  // (ii) In the 1U case, there are 4 exchange terms,
113  // and it is again same as the number of unknowns;
114  // (iii) In the 2U case, there are 5 exchange terms,
115  // and it is less than the number of unknowns (8).
116  if (idx_bhe_unknowns < max_num_thermal_exchange_terms)
117  {
118  _bhe.template assembleRMatrices<ShapeFunction::NPOINTS>(
119  idx_bhe_unknowns, matBHE_loc_R, _R_matrix, _R_pi_s_matrix,
120  _R_s_matrix);
121  }
122  } // end of loop over BHE unknowns
123 
124  // debugging
125  // std::string sep =
126  // "\n----------------------------------------\n";
127  // Eigen::IOFormat CleanFmt(4, 0, ", ", "\n", "[", "]");
128  // std::cout << "_R_matrix: \n" << sep;
129  // std::cout << _R_matrix.format(CleanFmt) << sep;
130  // std::cout << "_R_s_matrix: \n" << sep;
131  // std::cout << _R_s_matrix.format(CleanFmt) << sep;
132  // std::cout << "_R_pi_s_matrix: \n" << sep;
133  // std::cout << _R_pi_s_matrix.format(CleanFmt) << sep;
134 }
ShapeMatricesType::template MatrixType< soil_temperature_size, soil_temperature_size > _R_s_matrix
ShapeMatricesType::template MatrixType< bhe_unknowns_size, soil_temperature_size > _R_pi_s_matrix
std::vector< IntegrationPointDataBHE< ShapeMatricesType >, Eigen::aligned_allocator< IntegrationPointDataBHE< ShapeMatricesType > > > _ip_data
ShapeMatricesType::template MatrixType< bhe_unknowns_size, bhe_unknowns_size > _R_matrix
std::vector< typename ShapeMatricesType::ShapeMatrices, Eigen::aligned_allocator< typename ShapeMatricesType::ShapeMatrices > > initShapeMatrices(MeshLib::Element const &e, bool const is_axially_symmetric, IntegrationMethod const &integration_method)
Eigen::Vector3d compute1Dto3DRotationMatrix(MeshLib::Element const &e)
std::vector< ShapeMatrixType, Eigen::aligned_allocator< ShapeMatrixType > > N
Definition: SecondaryData.h:28

References ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_bhe, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_element_direction, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_integration_method, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_ip_data, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_R_matrix, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_R_pi_s_matrix, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_R_s_matrix, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_secondary_data, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::bhe_unknowns, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::bhe_unknowns_size, MathLib::TemplatePoint< T, DIM >::getCoords(), MeshLib::Element::getDimension(), MeshLib::Element::getNode(), NumLib::initShapeMatrices(), ProcessLib::HeatTransportBHE::SecondaryData< ShapeMatrixType >::N, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::single_bhe_unknowns_size, and ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::soil_temperature_size.

Member Function Documentation

◆ assemble()

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
void ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::assemble ( double const  ,
double const  ,
std::vector< double > const &  ,
std::vector< double > const &  ,
std::vector< double > &  local_M_data,
std::vector< double > &  local_K_data,
std::vector< double > &   
)
overridevirtual

Reimplemented from ProcessLib::LocalAssemblerInterface.

Definition at line 138 of file HeatTransportBHELocalAssemblerBHE-impl.h.

145 {
146  auto local_M = MathLib::createZeroedMatrix<BheLocalMatrixType>(
147  local_M_data, local_matrix_size, local_matrix_size);
148  auto local_K = MathLib::createZeroedMatrix<BheLocalMatrixType>(
149  local_K_data, local_matrix_size, local_matrix_size);
150 
151  unsigned const n_integration_points =
152  _integration_method.getNumberOfPoints();
153 
154  auto const& pipe_heat_capacities = _bhe.pipeHeatCapacities();
155  auto const& pipe_heat_conductions = _bhe.pipeHeatConductions();
156  auto const& pipe_advection_vectors =
157  _bhe.pipeAdvectionVectors(_element_direction);
158  auto const& cross_section_areas = _bhe.crossSectionAreas();
159 
160  // the mass and conductance matrix terms
161  for (unsigned ip = 0; ip < n_integration_points; ip++)
162  {
163  auto& ip_data = _ip_data[ip];
164 
165  auto const& w = ip_data.integration_weight;
166  auto const& N = ip_data.N;
167  auto const& dNdx = ip_data.dNdx;
168 
169  // looping over all unknowns.
170  for (int idx_bhe_unknowns = 0; idx_bhe_unknowns < bhe_unknowns;
171  idx_bhe_unknowns++)
172  {
173  // get coefficient of mass from corresponding BHE.
174  auto const& mass_coeff = pipe_heat_capacities[idx_bhe_unknowns];
175  auto const& lambda = pipe_heat_conductions[idx_bhe_unknowns];
176  auto const& advection_vector =
177  pipe_advection_vectors[idx_bhe_unknowns];
178 
179  // R^T * v, 3D to 1D:
180  double const advection_coefficient =
181  _rotation_matrix_1D_to_3D.dot(advection_vector);
182 
183  auto const& A = cross_section_areas[idx_bhe_unknowns];
184 
185  int const single_bhe_unknowns_index =
187  single_bhe_unknowns_size * idx_bhe_unknowns;
188  // local M
189  local_M
190  .template block<single_bhe_unknowns_size,
192  single_bhe_unknowns_index, single_bhe_unknowns_index)
193  .noalias() += N.transpose() * N * mass_coeff * A * w;
194 
195  // local K
196  // laplace part
197  local_K
198  .template block<single_bhe_unknowns_size,
200  single_bhe_unknowns_index, single_bhe_unknowns_index)
201  .noalias() += dNdx.transpose() * dNdx * lambda * A * w;
202  // advection part
203  int constexpr element_dim = 1;
204  local_K
205  .template block<single_bhe_unknowns_size,
207  single_bhe_unknowns_index, single_bhe_unknowns_index)
208  .noalias() +=
209  advection_coefficient * N.transpose() *
210  dNdx.template topLeftCorner<element_dim,
211  ShapeFunction::NPOINTS>() *
212  A * w;
213  }
214  }
215 
216  // add the R matrix to local_K
217  local_K.template block<bhe_unknowns_size, bhe_unknowns_size>(
219 
220  // add the R_pi_s matrix to local_K
221  local_K
222  .template block<bhe_unknowns_size, soil_temperature_size>(
224  .noalias() += _R_pi_s_matrix;
225  local_K
226  .template block<soil_temperature_size, bhe_unknowns_size>(
228  .noalias() += _R_pi_s_matrix.transpose();
229 
230  // add the R_s matrix to local_K
231  local_K
232  .template block<soil_temperature_size, soil_temperature_size>(
234  .noalias() += _bhe.number_of_grout_zones * _R_s_matrix;
235 
236  // debugging
237  // std::string sep = "\n----------------------------------------\n";
238  // Eigen::IOFormat CleanFmt(4, 0, ", ", "\n", "[", "]");
239  // std::cout << local_K.format(CleanFmt) << sep;
240  // std::cout << local_M.format(CleanFmt) << sep;
241 }

◆ getShapeMatrix()

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
Eigen::Map<const Eigen::RowVectorXd> ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::getShapeMatrix ( const unsigned  integration_point) const
inlineoverridevirtual

Provides the shape matrix at the given integration point.

Implements NumLib::ExtrapolatableElement.

Definition at line 69 of file HeatTransportBHELocalAssemblerBHE.h.

71  {
72  auto const& N = _secondary_data.N[integration_point];
73 
74  // assumes N is stored contiguously in memory
75  return Eigen::Map<const Eigen::RowVectorXd>(N.data(), N.size());
76  }

References ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_secondary_data, and ProcessLib::HeatTransportBHE::SecondaryData< ShapeMatrixType >::N.

Member Data Documentation

◆ _bhe

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
BHEType const& ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_bhe
private

◆ _element_direction

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
Eigen::Vector3d ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_element_direction
private

◆ _element_id

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
std::size_t const ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_element_id
private

Definition at line 90 of file HeatTransportBHELocalAssemblerBHE.h.

◆ _integration_method

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
IntegrationMethod ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_integration_method
private

◆ _ip_data

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
std::vector< IntegrationPointDataBHE<ShapeMatricesType>, Eigen::aligned_allocator<IntegrationPointDataBHE<ShapeMatricesType> > > ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_ip_data
private

◆ _process_data

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
HeatTransportBHEProcessData& ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_process_data
private

Definition at line 79 of file HeatTransportBHELocalAssemblerBHE.h.

◆ _R_matrix

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
ShapeMatricesType::template MatrixType<bhe_unknowns_size, bhe_unknowns_size> ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_R_matrix
private

◆ _R_pi_s_matrix

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
ShapeMatricesType::template MatrixType<bhe_unknowns_size, soil_temperature_size> ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_R_pi_s_matrix
private

◆ _R_s_matrix

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
ShapeMatricesType::template MatrixType<soil_temperature_size, soil_temperature_size> ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_R_s_matrix
private

◆ _rotation_matrix_1D_to_3D

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
Eigen::Vector3d const ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::_rotation_matrix_1D_to_3D
private

Definition at line 95 of file HeatTransportBHELocalAssemblerBHE.h.

◆ _secondary_data

◆ bhe_unknowns

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
constexpr int ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::bhe_unknowns = BHEType::number_of_unknowns
staticconstexprprivate

◆ bhe_unknowns_index

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
constexpr int ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::bhe_unknowns_index = ShapeFunction::NPOINTS
staticconstexprprivate

Definition at line 37 of file HeatTransportBHELocalAssemblerBHE.h.

◆ bhe_unknowns_size

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
constexpr int ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::bhe_unknowns_size
staticconstexprprivate

◆ local_matrix_size

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
constexpr int ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::local_matrix_size
staticconstexprprivate
Initial value:

Definition at line 38 of file HeatTransportBHELocalAssemblerBHE.h.

◆ single_bhe_unknowns_size

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
constexpr int ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::single_bhe_unknowns_size = ShapeFunction::NPOINTS
staticconstexprprivate

◆ soil_temperature_index

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
constexpr int ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::soil_temperature_index = 0
staticconstexprprivate

Definition at line 34 of file HeatTransportBHELocalAssemblerBHE.h.

◆ soil_temperature_size

template<typename ShapeFunction , typename IntegrationMethod , typename BHEType >
constexpr int ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >::soil_temperature_size = ShapeFunction::NPOINTS
staticconstexprprivate

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