cmp_junction_init_m Module


Uses

  • module~~cmp_junction_init_m~~UsesGraph module~cmp_junction_init_m cmp_junction_init_m module~krn_global_tools_m krn_global_tools_m module~cmp_junction_init_m->module~krn_global_tools_m module~krn_interface_m krn_interface_m module~cmp_junction_init_m->module~krn_interface_m module~krn_simulation_m krn_simulation_m module~cmp_junction_init_m->module~krn_simulation_m module~lib_ext_math_m lib_ext_math_m module~cmp_junction_init_m->module~lib_ext_math_m module~lib_he_thermo_m lib_He_thermo_m module~cmp_junction_init_m->module~lib_he_thermo_m module~lib_input_m lib_input_m module~cmp_junction_init_m->module~lib_input_m ieee_arithmetic ieee_arithmetic module~krn_global_tools_m->ieee_arithmetic iso_c_binding iso_c_binding module~krn_global_tools_m->iso_c_binding iso_fortran_env iso_fortran_env module~krn_global_tools_m->iso_fortran_env module~krn_interface_m->module~krn_global_tools_m module~mkl_pardiso mkl_pardiso module~krn_interface_m->module~mkl_pardiso module~krn_simulation_m->module~krn_global_tools_m module~krn_simulation_m->module~lib_input_m fortran_yaml_c fortran_yaml_c module~krn_simulation_m->fortran_yaml_c module~lib_hdf_write_m lib_hdf_write_m module~krn_simulation_m->module~lib_hdf_write_m module~lib_ext_math_m->module~krn_global_tools_m module~lib_he_thermo_m->module~krn_global_tools_m module~lib_he_thermo_m->module~krn_simulation_m module~lib_he_thermo_m->module~lib_ext_math_m module~lib_he_thermo_m->ieee_arithmetic module~lib_input_m->module~krn_global_tools_m module~lib_input_m->fortran_yaml_c h5lt h5lt module~lib_input_m->h5lt hdf5 hdf5 module~lib_input_m->hdf5 module~lib_hdf_write_m->module~krn_global_tools_m module~lib_hdf_write_m->module~lib_input_m module~lib_hdf_write_m->h5lt module~lib_hdf_write_m->hdf5 module~lib_hdf_write_m->iso_c_binding h5ds h5ds module~lib_hdf_write_m->h5ds

Used by

  • module~~cmp_junction_init_m~~UsedByGraph module~cmp_junction_init_m cmp_junction_init_m module~cmp_junction_calc_m cmp_junction_calc_m module~cmp_junction_calc_m->module~cmp_junction_init_m program~reims_p reims_p program~reims_p->module~cmp_junction_calc_m

Variables

Type Visibility Attributes Name Initial
real(kind=dp), public, parameter :: epsCoef = 1.0e-8_dp

Derived Types

type, public ::  junction_dynamic_per_branch_t

Parameters stored per branch used in fSolve I've put large values just for test

Components

Type Visibility Attributes Name Initial
real(kind=dp), public :: rho0
real(kind=dp), public :: vit0
real(kind=dp), public :: p0
real(kind=dp), public :: ETot0
real(kind=dp), public :: rCorr0
real(kind=dp), public :: SpeedS0
real(kind=dp), public :: CSound0
real(kind=dp), public :: T0
real(kind=dp), public :: AreaJGB
real(kind=dp), public :: ThetaJGB
real(kind=dp), public :: SgnJGB
real(kind=dp), public :: U1
real(kind=dp), public :: U2
real(kind=dp), public :: U3
real(kind=dp), public :: U4
real(kind=dp), public :: q0
real(kind=dp), public :: qBar
real(kind=dp), public :: Frc = 0
real(kind=dp), public :: DerFric1 = 0
real(kind=dp), public :: DerFric2 = 0
real(kind=dp), public :: DerFric3 = 0
real(kind=dp), public :: DerFric4 = 0
real(kind=dp), public :: dx0
real(kind=dp), public :: FrcR
real(kind=dp), public :: DerFricR1
real(kind=dp), public :: DerFricR2
real(kind=dp), public :: DerFricR3
real(kind=dp), public :: DerFricR4

type, public ::  junction_dynamic_star_t

Used locally by fSolve function as variable noted with '' and '*'

Components

Type Visibility Attributes Name Initial
real(kind=dp), public :: rho
real(kind=dp), public :: ETot
real(kind=dp), public :: QDM
real(kind=dp), public :: Energy
real(kind=dp), public :: vit
real(kind=dp), public :: rCorr
real(kind=dp), public :: q
real(kind=dp), public :: Enthalpy
real(kind=dp), public :: rho_int
real(kind=dp), public :: ETot_int
real(kind=dp), public :: QDM_int
real(kind=dp), public :: Energy_int

type, public, extends(fSolve_t) ::  junction_dynamic_parameters_t

Object given to non-linear equation solver (fSolve)

Components

Type Visibility Attributes Name Initial
integer, public :: NbTotBr
integer, public :: NbIn
integer, public :: NbOut
integer, public :: idxKappaRef
real(kind=dp), public :: kappa
type(junction_dynamic_per_branch_t), public, allocatable :: br(:)
real(kind=dp), public, allocatable :: p_star_prev(:)
real(kind=dp), public, allocatable :: alpha_prev(:)

Type-Bound Procedures

procedure, public :: fcn => junction_dynamic_parameters_fcn

Function given to non-linear equation solver (fSolve)

type, public ::  FF_flux_port_pointer_t

Components

Type Visibility Attributes Name Initial
type(FF_flux_port_t), public, pointer :: p
real(kind=dp), public :: angle

type, public ::  flux_and_derivatives_t

Components

Type Visibility Attributes Name Initial
real(kind=dp), public :: Flx(Nb_VarC)
real(kind=dp), public, allocatable :: DerFlx(:,:,:)
real(kind=dp), public :: Vit
real(kind=dp), public, allocatable :: DerVit(:,:)

type, public ::  junction_t

Components

Type Visibility Attributes Name Initial
integer, public :: NbTotBr
type(FF_flux_port_pointer_t), public, allocatable :: br(:)
real(kind=dp), public, allocatable :: DerFlx_dBr(:,:,:,:)
real(kind=dp), public, allocatable :: DerVel_dBr(:,:,:)
type(flux_and_derivatives_t), public, allocatable :: FlJ(:)
real(kind=dp), public, allocatable :: Matrix(:,:,:,:)
real(kind=dp), public :: wave_time

Minimum time for wave propagation

type(junction_dynamic_parameters_t), public :: dynamic
real(kind=dp), public :: kappa
logical, public, allocatable :: idxKappaRef(:)

Subroutines

public subroutine all_junction_allocation(me)

Arguments

Type IntentOptional Attributes Name
type(junction_t), intent(inout) :: me

public subroutine junction_init_part1(me, krn, cfg)

Arguments

Type IntentOptional Attributes Name
type(junction_t), intent(out) :: me
type(krn_t), intent(inout) :: krn
class(input_t), intent(in), pointer :: cfg

public subroutine junction_init_part2(me, krn, cfg)

Arguments

Type IntentOptional Attributes Name
type(junction_t), intent(inout) :: me
type(krn_t), intent(inout), target :: krn
class(input_t), intent(in), pointer :: cfg

public subroutine junction_dynamic_parameters_fcn(me, n, x, fVec)

incoming branch stop index - total number of branches outgoing branch stop index - number of outgoing branches reference branch index incoming branch start index

Arguments

Type IntentOptional Attributes Name
class(junction_dynamic_parameters_t), intent(in) :: me
integer, intent(in) :: n

number of incoming branches + 2 * outgoing branches

real(kind=dp), intent(inout) :: x(n)
real(kind=dp), intent(inout) :: fVec(n)