net_state_base_t Derived Type

type, public, abstract :: net_state_base_t


Inherits

type~~net_state_base_t~~InheritsGraph type~net_state_base_t net_state_base_t type~dyn_parameters_t dyn_parameters_t type~net_state_base_t->type~dyn_parameters_t params

Inherited by

type~~net_state_base_t~~InheritedByGraph type~net_state_base_t net_state_base_t type~net_state_t net_state_t type~net_state_t->type~net_state_base_t type~net_state_t~2 net_state_t type~net_state_t~2->type~net_state_base_t

Components

Type Visibility Attributes Name Initial
integer(kind=i2), public, allocatable, dimension(:) :: node_state
type(dyn_parameters_t), public :: params
real(kind=dp), public :: time
real(kind=dp), public :: total_rate
real(kind=dp), public :: dt

Type-Bound Procedures

procedure(net_state_base_init), public, deferred :: init

  • subroutine net_state_base_init(this, net, params, sampler_choice) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    type(network_t), intent(in) :: net
    class(dyn_parameters_t), intent(in) :: params
    character(len=*), intent(in) :: sampler_choice

procedure(net_state_base_add_infected), public, deferred :: add_infected

  • subroutine net_state_base_add_infected(this, net, node_id) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    type(network_t), intent(in) :: net
    integer(kind=i4), intent(in) :: node_id

procedure(net_state_base_remove_infected), public, deferred :: remove_infected

  • subroutine net_state_base_remove_infected(this, net, node_id, node_pos, new_state) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    type(network_t), intent(in) :: net
    integer(kind=i4), intent(in) :: node_id
    integer(kind=i4), intent(in) :: node_pos
    integer(kind=i2), intent(in) :: new_state

procedure(net_state_base_dynamics_init), public, deferred :: dynamics_init

  • subroutine net_state_base_dynamics_init(this, net) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    class(network_t), intent(in) :: net

procedure(net_state_base_dynamics_update_dt), public, deferred :: dynamics_update_dt

  • function net_state_base_dynamics_update_dt(this, net, gen) result(res) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    class(network_t), intent(in) :: net
    type(rndgen) :: gen

    Return Value logical

procedure, public :: just_update_dt => dynamics_just_update_dt

  • private subroutine dynamics_just_update_dt(this, net, gen)

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    class(network_t), intent(in) :: net
    type(rndgen) :: gen

procedure(net_state_base_dynamics_step), public, deferred :: dynamics_step

  • subroutine net_state_base_dynamics_step(this, net, gen) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    class(network_t), intent(in) :: net
    type(rndgen) :: gen

generic, public :: init_config => net_state_init_config_node, net_state_init_config_list_of_nodes, net_state_init_random_fraction_of_nodes

  • private subroutine net_state_init_config_node(this, net, params, sampler_choice, node_id)

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    type(network_t), intent(in) :: net
    class(dyn_parameters_t), intent(in) :: params
    character(len=*), intent(in) :: sampler_choice
    integer(kind=i4), intent(in) :: node_id
  • private subroutine net_state_init_config_list_of_nodes(this, net, params, sampler_choice, nodes)

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    type(network_t), intent(in) :: net
    class(dyn_parameters_t), intent(in) :: params
    character(len=*), intent(in) :: sampler_choice
    integer(kind=i4), intent(in) :: nodes(:)
  • private subroutine net_state_init_random_fraction_of_nodes(this, net, gen, params, sampler_choice, fraction)

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    type(network_t), intent(in) :: net
    type(rndgen), intent(in) :: gen
    class(dyn_parameters_t), intent(in) :: params
    character(len=*), intent(in) :: sampler_choice
    real(kind=dp), intent(in) :: fraction

procedure, public :: export_nodes_states => net_state_export_nodes_states

  • private subroutine net_state_export_nodes_states(this, net, filename)

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    type(network_t), intent(in) :: net
    character(len=*), intent(in) :: filename

procedure(net_state_base_export_edges_states), public, deferred :: export_edges_states

  • subroutine net_state_base_export_edges_states(this, net, filename) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t) :: this
    type(network_t), intent(in) :: net
    character(len=*), intent(in) :: filename

procedure(get_num_infected_interface), public, deferred :: get_num_infected

  • function get_num_infected_interface(this) result(n) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(net_state_base_t), intent(in) :: this

    Return Value integer(kind=i4)