Detailed Description

Kernel which explicitly integrates a particle in time.

The heat flux is converted into a temperature change.

This kernel requires the following particle accessor interface

const walberla::real_t& getTemperature(const size_t p_idx) const;
void setTemperature(const size_t p_idx, const walberla::real_t& v);
const walberla::real_t& getHeatFlux(const size_t p_idx) const;
void setHeatFlux(const size_t p_idx, const walberla::real_t& v);
const walberla::real_t& getInvMass(const size_t p_idx) const;
const uint_t& getType(const size_t p_idx) const;
Precondition
Heat flux has to be set/reduced.
Postcondition
Heat flux is reset to 0.

#include <TemperatureIntegration.h>

Public Member Functions

 TemperatureIntegration (const real_t dt, const uint_t numParticleTypes)
 
 TemperatureIntegration (const TemperatureIntegration &other)=default
 
 TemperatureIntegration (TemperatureIntegration &&other)=default
 
TemperatureIntegrationoperator= (const TemperatureIntegration &other)=default
 
TemperatureIntegrationoperator= (TemperatureIntegration &&other)=default
 
template<typename Accessor >
void operator() (const size_t i, Accessor &ac) const
 
void setInvSpecificHeat (const size_t type, const real_t &val)
 assumes this parameter is symmetric More...
 
real_t getInvSpecificHeat (const size_t type) const
 

Private Attributes

real_t dt_ = real_t(0.0)
 
uint_t numParticleTypes_
 
std::vector< real_tinvSpecificHeat_ {}
 

Constructor & Destructor Documentation

◆ TemperatureIntegration() [1/3]

walberla::mesa_pd::kernel::TemperatureIntegration::TemperatureIntegration ( const real_t  dt,
const uint_t  numParticleTypes 
)

◆ TemperatureIntegration() [2/3]

walberla::mesa_pd::kernel::TemperatureIntegration::TemperatureIntegration ( const TemperatureIntegration other)
default

◆ TemperatureIntegration() [3/3]

walberla::mesa_pd::kernel::TemperatureIntegration::TemperatureIntegration ( TemperatureIntegration &&  other)
default

Member Function Documentation

◆ getInvSpecificHeat()

real_t walberla::mesa_pd::kernel::TemperatureIntegration::getInvSpecificHeat ( const size_t  type) const
inline

◆ operator()()

template<typename Accessor >
void walberla::mesa_pd::kernel::TemperatureIntegration::operator() ( const size_t  i,
Accessor &  ac 
) const
inline

◆ operator=() [1/2]

TemperatureIntegration& walberla::mesa_pd::kernel::TemperatureIntegration::operator= ( const TemperatureIntegration other)
default

◆ operator=() [2/2]

TemperatureIntegration& walberla::mesa_pd::kernel::TemperatureIntegration::operator= ( TemperatureIntegration &&  other)
default

◆ setInvSpecificHeat()

void walberla::mesa_pd::kernel::TemperatureIntegration::setInvSpecificHeat ( const size_t  type,
const real_t val 
)
inline

assumes this parameter is symmetric

Member Data Documentation

◆ dt_

real_t walberla::mesa_pd::kernel::TemperatureIntegration::dt_ = real_t(0.0)
private

◆ invSpecificHeat_

std::vector<real_t> walberla::mesa_pd::kernel::TemperatureIntegration::invSpecificHeat_ {}
private

◆ numParticleTypes_

uint_t walberla::mesa_pd::kernel::TemperatureIntegration::numParticleTypes_
private

The documentation for this class was generated from the following file:
std::size_t uint_t
Definition: DataTypes.h:133
float real_t
Definition: DataTypes.h:167