16#include <Fluide_Quasi_Compressible.h>
17#include <Source_QC_Chaleur.h>
18#include <Schema_Temps_base.h>
19#include <Equation_base.h>
21#include <TRUSTArray_kokkos.tpp>
54 double dt_= mon_equation->schema_temps().temps_courant() - mon_equation->schema_temps().temps_precedent();
56 if (dt_<=0)
return resu;
66 double dpth = ( Pth - Pthn ) / dt_;
69 CDoubleArrView volumes_v =
volumes.view_ro();
70 CDoubleArrView porosites_v =
porosites.view_ro();
72 DoubleTabView resu_v = resu.
view_rw();
73 Kokkos::parallel_for(start_gpu_timer(__KERNEL_NAME__), nsom, KOKKOS_LAMBDA(
76 resu_v(i, 0) += dpth * volumes_v(i) * porosites_v(i);
78 end_gpu_timer(__KERNEL_NAME__);
Class defining operators and methods for all reading operation in an input flow (file,...
double pression_th() const
double pression_thn() const
Fluide_Quasi_Compressible class This class represents a quasi-compressible fluid,.
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
Base class for output streams.
Additional source term for the heat equation when the fluid is quasi-compressible.
DoubleTab & ajouter(DoubleTab &) const override
virtual public_for_cuda DoubleTab & ajouter_(DoubleTab &) const
Adds the source terms.
virtual int has_interface_blocs() const
virtual void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl={ }) const
std::enable_if_t< is_default_exec_space< EXEC_SPACE >, View< _TYPE_, _SHAPE_ > > view_rw()
_SIZE_ dimension(int d) const