sim_init Subroutine

private subroutine sim_init(me, input)

Type Bound

simulation_t

Arguments

Type IntentOptional Attributes Name
class(simulation_t), intent(inout) :: me
type(input_t), intent(in) :: input

Calls

proc~~sim_init~~CallsGraph proc~sim_init simulation_t%sim_init proc~input_bin input_t%input_bin proc~sim_init->proc~input_bin proc~input_dbl input_t%input_dbl proc~sim_init->proc~input_dbl proc~signal_init signal_t%signal_init proc~sim_init->proc~signal_init proc~continue_if continue_if proc~input_bin->proc~continue_if proc~input_has_key input_t%input_has_key proc~input_bin->proc~input_has_key proc~input_node input_t%input_node proc~input_bin->proc~input_node proc~select_scalar select_scalar proc~input_bin->proc~select_scalar to_logical to_logical proc~input_bin->to_logical proc~input_dbl->proc~continue_if proc~get0d_hdf5 get0d_hdf5 proc~input_dbl->proc~get0d_hdf5 proc~input_dbl->proc~input_has_key proc~input_dbl->proc~input_node to_real to_real proc~input_dbl->to_real proc~signal_init->proc~input_dbl interface~getprocaddress GetProcAddress proc~signal_init->interface~getprocaddress interface~is_nan is_nan proc~signal_init->interface~is_nan proc~input_dbl1d input_t%input_dbl1d proc~signal_init->proc~input_dbl1d proc~input_dbl2d input_t%input_dbl2d proc~signal_init->proc~input_dbl2d proc~input_dict input_t%input_dict proc~signal_init->proc~input_dict proc~signal_init->proc~input_has_key proc~input_keys1d input_t%input_keys1d proc~signal_init->proc~input_keys1d proc~input_str input_t%input_str proc~signal_init->proc~input_str proc~interpolate_vector interpolate_vector proc~signal_init->proc~interpolate_vector proc~merge_events merge_events proc~signal_init->proc~merge_events proc~is_nan_dbl is_nan_dbl interface~is_nan->proc~is_nan_dbl proc~is_nan_int is_nan_int interface~is_nan->proc~is_nan_int proc~get0d_hdf5->proc~input_has_key proc~get0d_hdf5->proc~input_str h5close_f h5close_f proc~get0d_hdf5->h5close_f h5dclose_f h5dclose_f proc~get0d_hdf5->h5dclose_f h5dopen_f h5dopen_f proc~get0d_hdf5->h5dopen_f h5dread_f h5dread_f proc~get0d_hdf5->h5dread_f h5fclose_f h5fclose_f proc~get0d_hdf5->h5fclose_f h5fopen_f h5fopen_f proc~get0d_hdf5->h5fopen_f h5ltget_dataset_info_f h5ltget_dataset_info_f proc~get0d_hdf5->h5ltget_dataset_info_f h5open_f h5open_f proc~get0d_hdf5->h5open_f proc~input_dbl1d->proc~continue_if proc~input_dbl1d->proc~input_has_key proc~input_dbl1d->proc~input_node proc~input_dbl1d->proc~select_scalar proc~input_dbl1d->to_real interface~to_str to_str proc~input_dbl1d->interface~to_str proc~get1d_hdf5 get1d_hdf5 proc~input_dbl1d->proc~get1d_hdf5 proc~input_dbl2d->proc~continue_if proc~input_dbl2d->proc~input_has_key proc~input_dbl2d->proc~input_node proc~input_dbl2d->proc~select_scalar proc~input_dbl2d->to_real proc~get2d_hdf5 get2d_hdf5 proc~input_dbl2d->proc~get2d_hdf5 proc~select_list select_list proc~input_dbl2d->proc~select_list proc~input_dict->proc~input_has_key proc~input_dict->proc~input_node proc~input_dict1d input_t%input_dict1d proc~input_dict->proc~input_dict1d get get proc~input_has_key->get proc~select_dict select_dict proc~input_has_key->proc~select_dict proc~input_keys1d->proc~select_dict proc~input_node->get proc~dictionary_traverse dictionary_traverse proc~input_node->proc~dictionary_traverse proc~input_node->proc~select_dict proc~input_str->proc~input_has_key proc~input_str->proc~input_node proc~input_str->proc~select_scalar proc~interpolate interpolate proc~interpolate_vector->proc~interpolate 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 proc~dictionary_traverse->proc~dictionary_traverse get_dictionary get_dictionary proc~dictionary_traverse->get_dictionary proc~abort_if abort_if proc~dictionary_traverse->proc~abort_if proc~get1d_hdf5->proc~input_has_key proc~get1d_hdf5->proc~input_str proc~get1d_hdf5->h5dclose_f proc~get1d_hdf5->h5dopen_f proc~get1d_hdf5->h5dread_f proc~get1d_hdf5->h5fclose_f proc~get1d_hdf5->h5fopen_f proc~get1d_hdf5->h5ltget_dataset_info_f proc~get2d_hdf5->proc~input_has_key proc~get2d_hdf5->proc~input_str proc~get2d_hdf5->h5dclose_f proc~get2d_hdf5->h5dopen_f proc~get2d_hdf5->h5dread_f proc~get2d_hdf5->h5fclose_f proc~get2d_hdf5->h5fopen_f proc~get2d_hdf5->h5ltget_dataset_info_f proc~input_dict1d->proc~input_has_key proc~input_dict1d->proc~input_node proc~input_dict1d->proc~select_dict proc~input_dict1d->proc~select_list get_string get_string proc~input_dict1d->get_string

Called by

proc~~sim_init~~CalledByGraph proc~sim_init simulation_t%sim_init program~reims_p reims_p program~reims_p->proc~sim_init

Source Code

subroutine sim_init(me,input)
    class(simulation_t), intent(inout) :: me
    type(input_t), intent(in) :: input
    me%t_final   = input%dbl('simulation_end')
    R_Correction = input%bin('R_correction',.true.)

    call me%impl_tol%init(me, input, 'implicit_tolerance')
    !me%impl_tol = input%dbl('implicit_tolerance',5.0e-4_dp)
    me%expl_tol = input%dbl('explicit_tolerance',1.0e-5_dp)
    me%kValue = input%dbl('step_controller_gain',4.0_dp)
    me%max_step  = input%dbl('max_time_step',50.0_dp)
    me%events_expl = [.false., .false.]
    me%events_time = [me%t_final, huge(0._dp)]
    me%scheme_diff_fact = input%dbl('scheme_diffusion_factor',1.0_dp)
end subroutine sim_init