inout_input_conditions Submodule




Uses

  • module~~inout_input_conditions~~UsesGraph module~inout_input_conditions inout_input_conditions module~inout_input inout_input module~inout_input_conditions->module~inout_input iso_fortran_env iso_fortran_env module~inout_input->iso_fortran_env json_module json_module module~inout_input->json_module module~inout_project_settings inout_project_settings module~inout_input->module~inout_project_settings module~module_core module_core module~inout_input->module~module_core stdlib_logger stdlib_logger module~inout_input->stdlib_logger stdlib_strings stdlib_strings module~inout_input->stdlib_strings module~inout_project_settings->iso_fortran_env module~inout_project_settings->module~module_core core_check_nan core_check_nan module~module_core->core_check_nan module~core_allocate core_allocate module~module_core->module~core_allocate module~core_check_range core_check_range module~module_core->module~core_check_range module~core_deallocate core_deallocate module~module_core->module~core_deallocate module~core_error core_error module~module_core->module~core_error module~core_fortran_utils core_fortran_utils module~module_core->module~core_fortran_utils module~core_string_utils core_string_utils module~module_core->module~core_string_utils module~core_types core_types module~module_core->module~core_types module~core_unique core_unique module~module_core->module~core_unique module~core_vtk core_vtk module~module_core->module~core_vtk module~core_vtk_vtk_constants core_vtk_vtk_constants module~module_core->module~core_vtk_vtk_constants module~core_allocate->iso_fortran_env module~core_allocate->module~core_error module~core_check_range->iso_fortran_env module~core_deallocate->iso_fortran_env module~core_deallocate->module~core_error module~core_error->iso_fortran_env module~core_error->stdlib_logger module~core_fortran_utils_memory_stats_wrapper core_fortran_utils_memory_stats_wrapper module~core_fortran_utils->module~core_fortran_utils_memory_stats_wrapper module~core_fortran_utils_signal_flag_wrapper core_fortran_utils_signal_flag_wrapper module~core_fortran_utils->module~core_fortran_utils_signal_flag_wrapper module~core_fortran_utils_system_info_wrapper core_fortran_utils_system_info_wrapper module~core_fortran_utils->module~core_fortran_utils_system_info_wrapper module~core_string_utils->iso_fortran_env module~core_string_utils->module~core_allocate module~core_types_array core_types_array module~core_types->module~core_types_array module~core_types_gauss core_types_gauss module~core_types->module~core_types_gauss module~core_types_pointer core_types_pointer module~core_types->module~core_types_pointer module~core_types_variable core_types_variable module~core_types->module~core_types_variable module~core_types_vector core_types_vector module~core_types->module~core_types_vector module~core_unique->iso_fortran_env module~core_unique->module~core_allocate stdlib_sorting stdlib_sorting module~core_unique->stdlib_sorting module~core_vtk->iso_fortran_env module~core_vtk->module~core_allocate module~core_vtk->module~core_deallocate module~core_vtk->module~core_unique module~core_vtk->module~core_vtk_vtk_constants iso_c_binding iso_c_binding module~core_vtk->iso_c_binding module~core_vtk->module~core_types_array module~core_vtk_vtk_wrapper core_vtk_vtk_wrapper module~core_vtk->module~core_vtk_vtk_wrapper module~core_vtk_vtu_wrapper core_vtk_vtu_wrapper module~core_vtk->module~core_vtk_vtu_wrapper module~core_vtk->stdlib_sorting module~core_vtk_vtk_constants->iso_fortran_env module~core_fortran_utils_memory_stats_wrapper->iso_fortran_env module~core_c_utils core_c_utils module~core_fortran_utils_memory_stats_wrapper->module~core_c_utils module~core_fortran_utils_signal_flag_wrapper->iso_fortran_env module~core_fortran_utils_signal_flag_wrapper->stdlib_logger module~core_fortran_utils_signal_flag_wrapper->iso_c_binding module~core_c_utils_signal_flag core_c_utils_signal_flag module~core_fortran_utils_signal_flag_wrapper->module~core_c_utils_signal_flag module~core_fortran_utils_system_info_wrapper->iso_fortran_env module~core_fortran_utils_system_info_wrapper->stdlib_strings module~core_fortran_utils_system_info_wrapper->iso_c_binding module~core_fortran_utils_system_info_wrapper->module~core_c_utils module~core_types_array->iso_fortran_env module~core_types_array->module~core_allocate module~core_types_array->module~core_deallocate module~core_types_gauss->iso_fortran_env module~core_types_pointer->iso_fortran_env module~core_types_variable->iso_fortran_env module~core_types_variable->module~core_allocate module~core_types_vector->iso_fortran_env module~core_vtk_vtk_wrapper->iso_c_binding module~core_vtk_vtu_wrapper->iso_c_binding module~core_c_utils->iso_c_binding module~core_c_utils->module~core_c_utils_signal_flag module~core_c_utils_memory_stats core_c_utils_memory_stats module~core_c_utils->module~core_c_utils_memory_stats module~core_c_utils_system_info core_c_utils_system_info module~core_c_utils->module~core_c_utils_system_info module~core_c_utils_signal_flag->iso_c_binding module~core_c_utils_memory_stats->iso_c_binding module~core_c_utils_system_info->iso_c_binding

Variables

Type Visibility Attributes Name Initial
character(len=*), private, parameter :: boundary_condition_time_points = "boundary_condition_time_points"
character(len=*), private, parameter :: boundary_conditions = "boundary_conditions"
character(len=*), private, parameter :: end = "end"
character(len=*), private, parameter :: field_name = "field_name"
character(len=*), private, parameter :: hydraulic = "hydraulic"
character(len=*), private, parameter :: id = "id"
character(len=*), private, parameter :: initial_conditions = "initial_conditions"
character(len=*), private, parameter :: initial_step = "initial_step"
character(len=*), private, parameter :: is_uniform = "is_uniform"
character(len=*), private, parameter :: max_step = "max_step"
character(len=*), private, parameter :: min_step = "min_step"
character(len=*), private, parameter :: porosity = "porosity"
character(len=*), private, parameter :: simulation_period = "simulation_period"
character(len=*), private, parameter :: start = "start"
character(len=*), private, parameter :: thermal = "thermal"
character(len=*), private, parameter :: time_control = "time_control"
character(len=*), private, parameter :: time_stepping = "time_stepping"
character(len=*), private, parameter :: type = "type"
character(len=*), private, parameter :: unit = "unit"
character(len=*), private, parameter :: valid_hydraulic_boundary_types(4) = ["dirichlet", "neumann", "flux", "impermeable"]
character(len=*), private, parameter :: valid_initial_condition_types(3) = ["uniform", "laplace", "file"]
character(len=*), private, parameter :: valid_thermal_boundary_types(8) = ["dirichlet", "neumann", "flux", "robin", "adiabatic", "free", "heat_trasfer", "head_radiation"]
character(len=*), private, parameter :: valid_units(5) = ["second", "minute", "hour", "day", "year"]
character(len=*), private, parameter :: value = "value"
character(len=*), private, parameter :: values = "values"

Subroutines

subroutine read_conditions_boundary_conditions(self, json)

Arguments

Type IntentOptional Attributes Name
class(type_input) :: self
type(json_file), intent(inout) :: json

JSON parser

subroutine read_conditions_boundary_conditions_hydraulic(boundary, json, key_base, num_time_points)

Arguments

Type IntentOptional Attributes Name
class(type_boundary_local), intent(inout) :: boundary
type(json_file), intent(inout) :: json

JSON parser

character(len=*), intent(in) :: key_base

Base key for the boundary condition

integer(kind=int32), intent(in), optional :: num_time_points

Number of time points for the boundary condition

subroutine read_conditions_boundary_conditions_thermal(boundary, json, key_base, num_time_points)

Arguments

Type IntentOptional Attributes Name
class(type_boundary_local), intent(inout) :: boundary
type(json_file), intent(inout) :: json

JSON parser

character(len=*), intent(in) :: key_base

Base key for the boundary condition

integer(kind=int32), intent(in), optional :: num_time_points

Number of time points for the boundary condition

subroutine read_conditions_initial_conditions(self, json)

Arguments

Type IntentOptional Attributes Name
class(type_input) :: self
type(json_file), intent(inout) :: json

JSON parser

subroutine read_conditions_initial_conditions_hydraulic(initial_condition, json, key_base, num_boundaries)

Arguments

Type IntentOptional Attributes Name
type(type_initial_local), intent(inout) :: initial_condition
type(json_file), intent(inout) :: json

JSON parser

character(len=*), intent(in) :: key_base

Base key for the initial condition

integer(kind=int32), intent(in), optional :: num_boundaries

Number of boundaries for the initial condition

subroutine read_conditions_initial_conditions_porosity(initial_condition, json, key_base, num_boundaries)

Arguments

Type IntentOptional Attributes Name
type(type_initial_local), intent(inout) :: initial_condition
type(json_file), intent(inout) :: json

JSON parser

character(len=*), intent(in) :: key_base

Base key for the initial condition

integer(kind=int32), intent(in), optional :: num_boundaries

Number of boundaries for the initial condition

subroutine read_conditions_initial_conditions_thermal(initial_condition, json, key_base, num_boundaries)

Arguments

Type IntentOptional Attributes Name
type(type_initial_local), intent(inout) :: initial_condition
type(json_file), intent(inout) :: json

JSON parser

character(len=*), intent(in) :: key_base

Base key for the initial condition

integer(kind=int32), intent(in), optional :: num_boundaries

Number of boundaries for the initial condition

subroutine read_conditions_time_control(self, json)

Load the time control parameters from the JSON file

Arguments

Type IntentOptional Attributes Name
class(type_input) :: self
type(json_file), intent(inout) :: json

JSON parser

Load the boundary condition time points from the JSON file

Arguments

Type IntentOptional Attributes Name
class(type_input) :: self
type(json_file), intent(inout) :: json

JSON parser

Load the time control parameters from the JSON file

Arguments

Type IntentOptional Attributes Name
class(type_input) :: self
type(json_file), intent(inout) :: json

JSON parser

Load the time stepping parameters from the JSON file

Arguments

Type IntentOptional Attributes Name
class(type_input) :: self
type(json_file), intent(inout) :: json

JSON parser


Module Subroutines

module subroutine inout_read_conditions(self)

Load the boundary/initial conditions from the JSON file

Arguments

Type IntentOptional Attributes Name
class(type_input), intent(inout) :: self