25#ifndef LATTICE_PHYS_HEAT_FLUX_3D_HH
26#define LATTICE_PHYS_HEAT_FLUX_3D_HH
44template<
typename T,
typename DESCRIPTOR,
typename TDESCRIPTOR>
49 this->
getName() =
"physHeatFlux";
52 for (
int iC = 0; iC < maxC; iC++) {
58template <
typename T,
typename DESCRIPTOR,
typename TDESCRIPTOR>
62 _temp(converter.getLatticeSpecificHeatCapacity(converter.getPhysSpecificHeatCapacity())*(converter.getLatticeThermalRelaxationTime() - 0.5) / converter.getLatticeThermalRelaxationTime())
64 this->
getName() =
"physHeatFlux";
67template <
typename T,
typename DESCRIPTOR,
typename TDESCRIPTOR>
71 const T temperature = this->_blockLattice.get( input[0], input[1], input[2] ).computeRho();
72 const auto extVel = this->_blockLattice.get( input[0], input[1], input[2] ).template getField<descriptors::VELOCITY>();
73 this->_blockLattice.get( input[0], input[1], input[2] ).computeJ(j);
75 output[0]= this->_converter.getPhysHeatFlux((j[0] - temperature * extVel[0])*_temp);
76 output[1]= this->_converter.getPhysHeatFlux((j[1] - temperature * extVel[1])*_temp);
77 output[2]= this->_converter.getPhysHeatFlux((j[2] - temperature * extVel[2])*_temp);
BlockLatticePhysHeatFlux3D returns pointwise phys heat flux on local lattice.
BlockLatticePhysHeatFlux3D(BlockLattice< T, TDESCRIPTOR > &blockLattice, const ThermalUnitConverter< T, DESCRIPTOR, TDESCRIPTOR > &converter)
bool operator()(T output[], const int input[]) override
has to be implemented for 'every' derived class
represents all thermal functors that operate on a DESCRIPTOR with output in Phys, e....
Platform-abstracted block lattice for external access and inter-block interaction.
std::string & getName()
read and write access to name
std::vector< std::unique_ptr< BlockF3D< T > > > _blockF
Super functors may consist of several BlockF3D<W> derived functors.
SuperLattice< T, TDESCRIPTOR > & _sLattice
SuperLatticePhysHeatFlux3D(SuperLattice< T, TDESCRIPTOR > &sLattice, const ThermalUnitConverter< T, DESCRIPTOR, TDESCRIPTOR > &converter)
represents all thermal functors that operate on a DESCRIPTOR with output in Phys, e....
Super class maintaining block lattices for a cuboid decomposition.
BlockLattice< T, DESCRIPTOR > & getBlock(int locC)
Return BlockLattice with local index locC.
LoadBalancer< T > & getLoadBalancer()
Read and write access to the load balancer.
Conversion between physical and lattice units, as well as discretization specialized for thermal appl...
Wrapper functions that simplify the use of MPI.
Top level namespace for all of OpenLB.
Representation of a parallel 2D geometry – header file.