1#ifndef BOUNDARY_CONDITION_SURFACE_ENERGY_BALANCE
2#define BOUNDARY_CONDITION_SURFACE_ENERGY_BALANCE
23 T m_stefan_boltzmann_const{};
24 std::string m_temperature_type{
"Temperature"};
30 std::vector<std::vector<int>> connected_points,
int facet_nr,
31 T area, std::string face_prefix);
49 std::vector<std::vector<int>> connected_points,
int facet_nr, T area, std::string face_prefix)
73 T q_sol{this->m_sim->getFieldValue(
74 "QSol", this->m_facet_number)};
77 for (
int i{0}; i < this->m_boundary_points.size(); i++)
79 int number_of_boundary_points{this->m_boundary_points[i]};
80 T surface_temperature{this->m_sim->getFieldValue(m_temperature_type, this->m_facet_number)};
81 T emissivity{this->m_sim->getFieldValue(
"Emissivity", this->m_facet_number)};
82 for (
auto& val : this->m_capacitance_matrix_elements[i])
86 this->m_stiffness_matrix_elements[i][0] += 4 * m_stefan_boltzmann_const * emissivity
87 * std::pow(surface_temperature, 3)
89 this->m_forcing_vector_elements[i] +=
90 (3 * m_stefan_boltzmann_const * emissivity * std::pow(surface_temperature, 4) + q_sol)
Concrete implementation of a surface-energy-balance boundary condition in 1D.
Definition BCTopSurfaceEnergyBalance.h:20
void writeBoundaryCondition() override
Actual implementation of the boundary condition. Approximates the surface energy-balance-equation for...
Definition BCTopSurfaceEnergyBalance.h:71
~BCTopSurfaceEnergyBalance() override=default
BCTopSurfaceEnergyBalance(SimulationClassBase< T > *sim, std::vector< int > boundary_points, std::vector< std::vector< int > > connected_points, int facet_nr, T area, std::string face_prefix)
Constructor for a BCTopSurfaceEnergyBalance object.
Definition BCTopSurfaceEnergyBalance.h:47
Boundary condition abstract base class for the finite element method. All boundary condition implemen...
Definition GenericBoundaryCondition.h:18
Definition SimulationClassBase.h:15
InputManager m_simulation_config
Definition SimulationClassBase.h:24
constexpr double stefan_boltzmann_const
Definition PhysicalConstants.h:6