krn_add Subroutine

public subroutine krn_add(me, name, nb_state_vars, nb_non_zeros_exp, nb_non_zeros_imp, nb_FF_flux_ports, nb_FS_ports, nb_FF_src_ports, nb_SS_flux_ports, nb_SS_src_ports)

Type Bound

krn_t

Arguments

Type IntentOptional Attributes Name
class(krn_t), intent(inout) :: me
character(len=*), intent(in) :: name
integer, intent(in) :: nb_state_vars
integer, intent(in) :: nb_non_zeros_exp
integer, intent(in) :: nb_non_zeros_imp
integer, intent(in) :: nb_FF_flux_ports
integer, intent(in) :: nb_FS_ports
integer, intent(in) :: nb_FF_src_ports
integer, intent(in) :: nb_SS_flux_ports
integer, intent(in) :: nb_SS_src_ports

Calls

proc~~krn_add~~CallsGraph proc~krn_add krn_t%krn_add proc~port_list_add port_list_t%port_list_add proc~krn_add->proc~port_list_add interface~to_str to_str proc~port_list_add->interface~to_str proc~str_from_int str_from_int interface~to_str->proc~str_from_int proc~str_from_real str_from_real interface~to_str->proc~str_from_real

Called by

proc~~krn_add~~CalledByGraph proc~krn_add krn_t%krn_add proc~boundary_init_part1 boundary_init_part1 proc~boundary_init_part1->proc~krn_add proc~channel_init_part1 channel_init_part1 proc~channel_init_part1->proc~krn_add proc~circulator_init_part1 circulator_init_part1 proc~circulator_init_part1->proc~krn_add proc~ffsrclink_init_part1 FFsrcLink_init_part1 proc~ffsrclink_init_part1->proc~krn_add proc~fslink_init_part1 FSlink_init_part1 proc~fslink_init_part1->proc~krn_add proc~junction_init_part1 junction_init_part1 proc~junction_init_part1->proc~krn_add proc~mesh2d_init_part1 mesh2D_init_part1 proc~mesh2d_init_part1->proc~krn_add proc~solid_init_part1 solid_init_part1 proc~solid_init_part1->proc~krn_add proc~ssfluxlink_init_part1 SSfluxLink_init_part1 proc~ssfluxlink_init_part1->proc~krn_add proc~sssrclink_init_part1 SSsrcLink_init_part1 proc~sssrclink_init_part1->proc~krn_add proc~strand_init_part1 strand_init_part1 proc~strand_init_part1->proc~krn_add program~reims_p reims_p program~reims_p->proc~boundary_init_part1 program~reims_p->proc~channel_init_part1 program~reims_p->proc~circulator_init_part1 program~reims_p->proc~ffsrclink_init_part1 program~reims_p->proc~fslink_init_part1 program~reims_p->proc~junction_init_part1 program~reims_p->proc~mesh2d_init_part1 program~reims_p->proc~solid_init_part1 program~reims_p->proc~ssfluxlink_init_part1 program~reims_p->proc~sssrclink_init_part1 program~reims_p->proc~strand_init_part1

Source Code

subroutine krn_add(me, name, nb_state_vars, nb_non_zeros_exp, nb_non_zeros_imp, &
        nb_FF_flux_ports, nb_FS_ports, nb_FF_src_ports, nb_SS_flux_ports, &
        nb_SS_src_ports)
    class(krn_t), intent(inout) :: me
    character(*), intent(in) :: name
    integer, intent(in) :: nb_state_vars
    integer, intent(in) :: nb_non_zeros_exp
    integer, intent(in) :: nb_non_zeros_imp
    integer, intent(in) :: nb_FF_flux_ports
    integer, intent(in) :: nb_FS_ports
    integer, intent(in) :: nb_FF_src_ports
    integer, intent(in) :: nb_SS_flux_ports
    integer, intent(in) :: nb_SS_src_ports
    
    me%nb_state_vars(me%idx) = nb_state_vars
    me%nb_non_zeros_exp(me%idx) = nb_non_zeros_exp
    me%nb_non_zeros_imp(me%idx) = nb_non_zeros_imp
 
    call me%FF_flux_list%add(me%idx,name,nb_FF_flux_ports)
    call me%FS_list%add(me%idx,name,nb_FS_ports)
    call me%FF_src_list%add(me%idx,name,nb_FF_src_ports)
    call me%SS_flux_list%add(me%idx,name,nb_SS_flux_ports)
    call me%SS_src_list%add(me%idx,name,nb_SS_src_ports)
    me%idx = me%idx + 1
end subroutine krn_add