chrono::fea::ChLoaderHeatRadiation Class Reference

Description

Thermal load: radiation from surface.

Use this for applying a heat flux on the surface of finite elements, according to the Boltzmann law. If temperature is high enough, this can cause outgoing heat flux as radiating in outer space. Using this, one can simulate the black body radiation, etc. Negligible for low temperatures. Beware of the high nonlinearity because of the 4th power in the temperature.

#include <ChLoaderHeatRadiation.h>

Inheritance diagram for chrono::fea::ChLoaderHeatRadiation:
Collaboration diagram for chrono::fea::ChLoaderHeatRadiation:

Public Member Functions

 ChLoaderHeatRadiation (std::shared_ptr< ChLoadableUV > mloadable, std::shared_ptr< ChFieldTemperature > temp_field)
 
virtual void ComputeF (double U, double V, ChVectorDynamic<> &F, ChVectorDynamic<> *state_x, ChVectorDynamic<> *state_w) override
 Evaluate F = F(u,v) for this line load. More...
 
void SetSurfaceEmissivity (double emissivity)
 Set the emissivity e in W = e * sigma * T^4 Boltzmann law. More...
 
double GetSurfaceEmissivity ()
 Get the emissivity e in W = e * sigma * T^4 Boltzmann law.
 
void SetEnvironmentTemperature (double T_env)
 Set the imposed environment temperature at the external of the surface (the smaller the delta with the FE temperature, the less radiation). More...
 
double GetEnvironmentTemperature ()
 Get the imposed environment temperature at the external of the surface (the smaller the delta with the FE temperature, the less radiation). More...
 
void SetIntegrationPoints (int val)
 
virtual int GetIntegrationPointsU () override
 
virtual int GetIntegrationPointsV () override
 
- Public Member Functions inherited from chrono::ChLoaderUVdistributed
 ChLoaderUVdistributed (std::shared_ptr< ChLoadableUV > mloadable)
 
virtual void ComputeQ (ChVectorDynamic<> *state_x, ChVectorDynamic<> *state_w) override
 Compute the generalized load Q = integral (N'*F*detJ dudvdz), using the ComputeF method. More...
 
- Public Member Functions inherited from chrono::ChLoaderUV
 ChLoaderUV (std::shared_ptr< ChLoadableUV > mloadable)
 
void SetLoadable (std::shared_ptr< ChLoadableUV > mloadable)
 
virtual std::shared_ptr< ChLoadableGetLoadable () override
 
std::shared_ptr< ChLoadableUVGetLoadableUV ()
 
- Public Member Functions inherited from chrono::ChLoader
virtual bool IsStiff ()
 

Additional Inherited Members

- Public Attributes inherited from chrono::ChLoaderUV
std::shared_ptr< ChLoadableUVloadable
 
- Public Attributes inherited from chrono::ChLoader
ChVectorDynamic Q
 

Member Function Documentation

◆ ComputeF()

void chrono::fea::ChLoaderHeatRadiation::ComputeF ( double  U,
double  V,
ChVectorDynamic<> &  F,
ChVectorDynamic<> *  state_x,
ChVectorDynamic<> *  state_w 
)
overridevirtual

Evaluate F = F(u,v) for this line load.

The vector F is set to zero on entry. The function provided by derived classes is called by ComputeQ to perform integration over the domain.

Parameters
Uparametric coordinate in surface
Vparametric coordinate in surface
Fresult vector, size = field dim of loadable
state_xif != 0, update state (pos. part) to this, then evaluate F
state_wif != 0, update state (speed part) to this, then evaluate F

Implements chrono::ChLoaderUV.

◆ GetEnvironmentTemperature()

double chrono::fea::ChLoaderHeatRadiation::GetEnvironmentTemperature ( )
inline

Get the imposed environment temperature at the external of the surface (the smaller the delta with the FE temperature, the less radiation).


◆ SetEnvironmentTemperature()

void chrono::fea::ChLoaderHeatRadiation::SetEnvironmentTemperature ( double  T_env)
inline

Set the imposed environment temperature at the external of the surface (the smaller the delta with the FE temperature, the less radiation).


◆ SetSurfaceEmissivity()

void chrono::fea::ChLoaderHeatRadiation::SetSurfaceEmissivity ( double  emissivity)
inline

Set the emissivity e in W = e * sigma * T^4 Boltzmann law.

Typically a value in 0...1 range, with 1 as black body


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/fea/ChLoaderHeatRadiation.h
  • /builds/uwsbel/chrono/src/chrono/fea/ChLoaderHeatRadiation.cpp