energy_fields_t Derived Type

type, public :: energy_fields_t

Cell-centered energy variables.


Components

Type Visibility Attributes Name Initial
real(kind=rk), public, allocatable :: T(:)
real(kind=rk), public, allocatable :: T_old(:)
real(kind=rk), public, allocatable :: chem_active(:)
real(kind=rk), public, allocatable :: chem_dT_dt(:)
real(kind=rk), public, allocatable :: chem_dY_max_dt(:)
real(kind=rk), public, allocatable :: chem_heat_release_rate(:)
real(kind=rk), public, allocatable :: chem_rel_rho_change_dt(:)
real(kind=rk), public, allocatable :: chem_source_alpha(:)
real(kind=rk), public, allocatable :: cp(:)
real(kind=rk), public :: cumulative_boundary_rho_h_advective_flux_out = zero
real(kind=rk), public :: cumulative_boundary_rho_h_conductive_flux_out = zero
integer, public :: cumulative_energy_budget_available = 0
real(kind=rk), public :: cumulative_energy_update_delta_integral = zero
real(kind=rk), public :: cumulative_energy_update_rhs_integral = zero
real(kind=rk), public :: cumulative_qrad_integral = zero
real(kind=rk), public :: cumulative_rho_species_hdiff_integral = zero
real(kind=rk), public, allocatable :: h(:)
real(kind=rk), public, allocatable :: h_old(:)
logical, public :: initialized = .false.
real(kind=rk), public, allocatable :: lambda(:)
integer, public :: last_conductive_boundary_flux_available = 0
real(kind=rk), public :: last_conductive_boundary_flux_out = zero
real(kind=rk), public :: last_energy_update_balance_defect = zero
real(kind=rk), public :: last_energy_update_delta_rate_integral = zero
real(kind=rk), public :: last_energy_update_rhs_integral = zero
real(kind=rk), public :: last_operator_consistent_rho_h_integral = zero
real(kind=rk), public, allocatable :: operator_consistent_rho_h(:)
integer, public :: operator_consistent_rho_h_available = 0
real(kind=rk), public, allocatable :: qrad(:)
real(kind=rk), public :: relative_last_energy_update_balance_defect = zero
real(kind=rk), public, allocatable :: rho_thermo(:)
real(kind=rk), public, allocatable :: rhs_old(:)
logical, public :: rhs_old_valid = .false.
real(kind=rk), public, allocatable :: species_enthalpy_diffusion(:)

Source Code

   type, public :: energy_fields_t
      real(rk), allocatable :: T(:)          !< Temperature [K].
      real(rk), allocatable :: T_old(:)      !< Previous temperature state [K].
      real(rk), allocatable :: h(:)          !< Transported mixture sensible enthalpy [J/kg].
      real(rk), allocatable :: h_old(:)      !< Previous enthalpy state [J/kg].
      real(rk), allocatable :: rhs_old(:)    !< Previous enthalpy transport RHS for optional AB2 time integration.
      logical :: rhs_old_valid = .false.     !< True once rhs_old contains a previous transport RHS.
      real(rk), allocatable :: qrad(:)       !< Volumetric source term [W/m^3]; positive values heat the gas.
      real(rk), allocatable :: cp(:)         !< Mixture heat capacity at constant pressure [J/kg/K].
      real(rk), allocatable :: lambda(:)     !< Thermal conductivity [W/m/K].
      real(rk), allocatable :: rho_thermo(:) !< Cantera thermodynamic density [kg/m^3]; diagnostic unless variable-density mode syncs it into `transport%rho`.
      real(rk), allocatable :: operator_consistent_rho_h(:) !< Cellwise update-consistent rho*h [J/m^3].
      integer :: operator_consistent_rho_h_available = 0 !< 1 when cellwise update-consistent rho*h is valid.
      real(rk), allocatable :: species_enthalpy_diffusion(:) !< Specific enthalpy source from species diffusion [J/kg/s].
      real(rk), allocatable :: chem_heat_release_rate(:) !< Approx. committed chemistry heat release rho*cp*dT/dt [W/m^3].
      real(rk), allocatable :: chem_dT_dt(:) !< Committed chemistry temperature source [K/s].
      real(rk), allocatable :: chem_dY_max_dt(:) !< Max committed chemistry species source magnitude [1/s].
      real(rk), allocatable :: chem_rel_rho_change_dt(:) !< Relative chemistry density-change rate [1/s].
      real(rk), allocatable :: chem_source_alpha(:) !< Chemistry limiter alpha committed in the last update [-].
      real(rk), allocatable :: chem_active(:) !< 1 if chemistry was called in the last update, else 0.
            real(rk) :: last_conductive_boundary_flux_out = zero !< Last local outward conductive boundary flux [W].
      integer :: last_conductive_boundary_flux_available = 0 !< 1 after conductive-boundary diagnostic is available.
      real(rk) :: cumulative_boundary_rho_h_advective_flux_out = zero !< Time-integrated outward advective rho*h boundary flux [J].
      real(rk) :: cumulative_boundary_rho_h_conductive_flux_out = zero !< Time-integrated outward conductive boundary flux [J].
      real(rk) :: cumulative_qrad_integral = zero !< Time-integrated qrad volume source [J].
      real(rk) :: cumulative_rho_species_hdiff_integral = zero !< Time-integrated rho*species enthalpy diffusion source [J].
      integer :: cumulative_energy_budget_available = 0 !< 1 after cumulative energy budget terms are available.
      real(rk) :: last_energy_update_delta_rate_integral = zero !< Last global d/dt integral(rho*h) from update [W].
      real(rk) :: last_energy_update_rhs_integral = zero !< Last global energy RHS integral from update [W].
      real(rk) :: last_energy_update_balance_defect = zero !< Last direct energy update closure defect [W].
      real(rk) :: relative_last_energy_update_balance_defect = zero !< Relative direct update closure defect.
      real(rk) :: last_operator_consistent_rho_h_integral = zero !< Last global rho*h integral using update density/time level.
      real(rk) :: cumulative_energy_update_delta_integral = zero !< Time-integrated conservative energy-update delta [J].
      real(rk) :: cumulative_energy_update_rhs_integral = zero !< Time-integrated conservative energy-update RHS [J].
logical :: initialized = .false.  !< True after allocation/initialization.
   end type energy_fields_t