input_class Module


Uses

  • module~~input_class~~UsesGraph module~input_class input_class module~spect3d_class spect3d_class module~input_class->module~spect3d_class module~parallel_class parallel_class module~input_class->module~parallel_class module~perrors_class perrors_class module~input_class->module~perrors_class json_module json_module module~input_class->json_module module~parallel_pipe_class parallel_pipe_class module~input_class->module~parallel_pipe_class mpi mpi module~input_class->mpi module~spect3d_class->module~perrors_class module~spect3d_class->module~parallel_pipe_class module~spect2d_class spect2d_class module~spect3d_class->module~spect2d_class module~parallel_class->mpi omp_lib omp_lib module~parallel_class->omp_lib module~perrors_class->module~parallel_class module~perrors_class->mpi module~parallel_pipe_class->module~parallel_class module~parallel_pipe_class->mpi module~spect2d_class->module~perrors_class module~spect2d_class->module~parallel_pipe_class

Used by

  • module~~input_class~~UsedByGraph module~input_class input_class module~fdist3d_class fdist3d_class module~fdist3d_class->module~input_class module~simulation_class simulation_class module~simulation_class->module~input_class module~simulation_class->module~fdist3d_class module~fdist2d_class fdist2d_class module~simulation_class->module~fdist2d_class module~species2d_class species2d_class module~simulation_class->module~species2d_class module~beam3d_class beam3d_class module~simulation_class->module~beam3d_class module~fdist2d_class->module~input_class module~part3d_class part3d_class module~part3d_class->module~fdist3d_class module~species2d_class->module~fdist2d_class module~part2d_class part2d_class module~species2d_class->module~part2d_class program~quickpic quickpic program~quickpic->module~simulation_class module~beam3d_class->module~fdist3d_class module~beam3d_class->module~part3d_class module~part2d_class->module~fdist2d_class

Contents


Variables

TypeVisibility AttributesNameInitial
character(len=10), private, save:: class ='input:'
character(len=128), private, save:: erstr
type(spect3d), private, save, target:: sp
type(perrors), private, save, target:: err
type(parallel), private, save, target:: p
type(parallel_pipe), private, save, target:: pp

Derived Types

type, public :: input_json

Components

TypeVisibility AttributesNameInitial
class(spect3d), public, pointer:: sp=> null()
class(perrors), public, pointer:: err=> null()
class(parallel), public, pointer:: p=> null()
class(parallel_pipe), public, pointer:: pp=> null()
type(json_file), private, pointer:: input=> null()

Type-Bound Procedures

generic, public :: new => read_input_json
generic, public :: get => json_file_get_object, json_file_get_integer, json_file_get_double, json_file_get_logical, json_file_get_string, json_file_get_integer_vec, json_file_get_double_vec, json_file_get_logical_vec, json_file_get_string_vec, json_file_get_alloc_string_vec, json_file_get_root
generic, public :: info => json_file_variable_info
procedure, public :: found
procedure, private :: read_input_json
procedure, private :: set_json_core_in_file
procedure, private :: initialize
procedure, private :: print_to_string
procedure, private :: load_file
procedure, private :: load_from_string
procedure, private :: json_file_get_root
procedure, private :: json_file_get_alloc_string_vec
procedure, private :: json_file_get_string_vec
procedure, private :: json_file_get_logical_vec
procedure, private :: json_file_get_double_vec
procedure, private :: json_file_get_integer_vec
procedure, private :: json_file_get_string
procedure, private :: json_file_get_logical
procedure, private :: json_file_get_double
procedure, private :: json_file_get_integer
procedure, private :: json_file_get_object
procedure, private :: json_file_variable_info

Functions

private function found(this, path)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path

Return Value logical


Subroutines

private subroutine read_input_json(this)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this

private subroutine initialize(this, verbose, compact_reals, print_signs, real_format, spaces_per_tab, strict_type_checking, trailing_spaces_significant, case_sensitive_keys, no_whitespace, unescape_strings, comment_char, path_mode, path_separator, compress_vectors, allow_duplicate_keys)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
logical, intent(in), optional :: verbose
logical, intent(in), optional :: compact_reals
logical, intent(in), optional :: print_signs
character(len=*), intent(in), optional :: real_format
integer, intent(in), optional :: spaces_per_tab
logical, intent(in), optional :: strict_type_checking
logical, intent(in), optional :: trailing_spaces_significant
logical, intent(in), optional :: case_sensitive_keys
logical, intent(in), optional :: no_whitespace
logical, intent(in), optional :: unescape_strings
character(len=1), intent(in), optional :: comment_char
integer, intent(in), optional :: path_mode
character(len=1), intent(in), optional :: path_separator
logical, intent(in), optional :: compress_vectors
logical, intent(in), optional :: allow_duplicate_keys

private subroutine set_json_core_in_file(this, core)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
type(json_core), intent(in) :: core

private subroutine load_file(this, filename, unit)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: filename
integer, intent(in), optional :: unit

private subroutine print_to_string(this, str)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=:), intent(out), allocatable:: str

private subroutine load_from_string(this, str)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: str

private subroutine json_file_get_object(this, path, p)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
type(json_value), intent(out), pointer:: p

private subroutine json_file_get_integer(this, path, val)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
integer, intent(out) :: val

private subroutine json_file_get_double(this, path, val)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
real, intent(out) :: val

private subroutine json_file_get_logical(this, path, val)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
logical, intent(out) :: val

private subroutine json_file_get_string(this, path, val)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
character(len=:), intent(out), allocatable:: val

private subroutine json_file_get_integer_vec(this, path, vec)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
integer, intent(out), dimension(:), allocatable:: vec

private subroutine json_file_get_double_vec(this, path, vec)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
real, intent(out), dimension(:), allocatable:: vec

private subroutine json_file_get_logical_vec(this, path, vec)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
logical, intent(out), dimension(:), allocatable:: vec

private subroutine json_file_get_string_vec(this, path, vec)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
character(len=*), intent(out), dimension(:), allocatable:: vec

private subroutine json_file_get_alloc_string_vec(this, path, vec, ilen)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
character(len=:), intent(out), dimension(:), allocatable:: vec
integer, intent(out), dimension(:), allocatable:: ilen

private subroutine json_file_get_root(this, p)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
type(json_value), intent(out), pointer:: p

private subroutine json_file_variable_info(this, path, n_children)

Arguments

Type IntentOptional AttributesName
class(input_json), intent(inout) :: this
character(len=*), intent(in) :: path
integer, intent(out) :: n_children