Skip to content

adam_io_object

ADAM, IO class definition.

Source: src/lib/common/adam_io_object.F90

Dependencies

Contents

Variables

NameTypeAttributesDescription
INI_SECTION_NAMEcharacter(len=2)parameterINI (config) file section name containing IO configs.

Derived Types

io_object

ADAM class definition.

Components

NameTypeAttributesDescription
file_parameterstype(file_ini)Input file handler.
it_saveinteger(kind=I4P)Main output iteration save frequency.
output_basenamecharacter(len=:)allocatableBasename of output files.
restartlogicalEnable restart from old output data.
restart_basenamecharacter(len=:)allocatableBasename of restart files.
restart_saveinteger(kind=I4P)Restart output iteration save frequency.
save_memory_statuslogicalEnable save of memory status during allocations.
residuals_saveinteger(kind=I4P)Residuals (norm) output iteration save frequency.
residuals_unitinteger(kind=I4P)Residuals file unit.
energy_error_saveinteger(kind=I4P)Energy error output iteration save frequency.
energy_error_unitinteger(kind=I4P)Energy error hystory file unit.
energy_history_saveinteger(kind=I4P)Energy history output iteration save frequency.
energy_history_unitinteger(kind=I4P)Energy history file unit.
divergence_history_saveinteger(kind=I4P)Divergence history output iteration save frequency.
divergence_history_unitinteger(kind=I4P)Divergence history file unit.
is_initializedlogicalInitialization status.
save_residual_fieldslogicalFlag to activate residual fields saving.
save_curl_fieldslogicalFlag to activate curl fields saving.
save_divergence_fieldslogicalFlag to activate divergence fields saving.
save_gradient_fieldslogicalFlag to activate gradient fields saving.
save_laplacian_fieldslogicalFlag to activate gradient fields saving.

Type-Bound Procedures

NameAttributesDescription
descriptionpass(self)Return pretty-printed object description.
initializepass(self)Initialize class.
load_from_filepass(self)Load config from file.
save_energy_errorpass(self)Save energy error history.
save_energy_historypass(self)Save energy history.
save_divergence_historypass(self)Save divergence history.
close_file_residualspass(self)Close file for saving residuals history.
open_file_residualspass(self)Open file for saving residuals history.
save_residualspass(self)Save residuals history.
save_fieldSave fields by XH5F (XDMF/HDF5) file handler.
save_xh5f_field_4D_R8Ppass(self)Save fields by XH5F file handler, rank 4D, kind R8P.
save_xh5f_field_4D_R4Ppass(self)Save fields by XH5F file handler, rank 4D, kind R4P.
save_xh5f_field_4D_I8Ppass(self)Save fields by XH5F file handler, rank 4D, kind I8P.
save_xh5f_field_4D_I4Ppass(self)Save fields by XH5F file handler, rank 4D, kind I4P.
save_xh5f_field_4D_I2Ppass(self)Save fields by XH5F file handler, rank 4D, kind I2P.
save_xh5f_field_4D_I1Ppass(self)Save fields by XH5F file handler, rank 4D, kind I1P.
save_xh5f_field_5D_R8Ppass(self)Save fields by XH5F file handler, rank 5D, kind R8P.
save_xh5f_field_5D_R4Ppass(self)Save fields by XH5F file handler, rank 5D, kind R4P.
save_xh5f_field_5D_I8Ppass(self)Save fields by XH5F file handler, rank 5D, kind I8P.
save_xh5f_field_5D_I4Ppass(self)Save fields by XH5F file handler, rank 5D, kind I4P.
save_xh5f_field_5D_I2Ppass(self)Save fields by XH5F file handler, rank 5D, kind I2P.
save_xh5f_field_5D_I1Ppass(self)Save fields by XH5F file handler, rank 5D, kind I1P.

Subroutines

initialize

Initialize class.

fortran
subroutine initialize(self, filename, verbose)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
filenamecharacter(len=*)inFile name of parameters file.
verboselogicalinoptionalTrigger verbose output.

Call graph

load_from_file

Load config from file.

fortran
subroutine load_from_file(self, file_parameters, go_on_fail)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
file_parameterstype(file_ini)inSimulation parameters ini file handler.
go_on_faillogicalinoptionalGo on if load fails.

Call graph

save_energy_error

Save energy error history.

fortran
subroutine save_energy_error(self, it, time, blocks_number, energy_D, energy_B, rms_energy_error_D, rms_energy_error_B, is_to_open, is_to_close)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
itinteger(kind=I4P)inCurrent iteration.
timereal(kind=R8P)inCurrent time.
blocks_numberinteger(kind=I4P)inCurrent number of blocks.
energy_Dreal(kind=R8P)inEnergy history of D.
energy_Breal(kind=R8P)inEnergy history of B.
rms_energy_error_Dreal(kind=R8P)inRMS of energy history of D.
rms_energy_error_Breal(kind=R8P)inRMS of energy history of B.
is_to_openlogicalinoptionalFlag to open file before first saving.
is_to_closelogicalinoptionalFlag to close file after last saving.

Call graph

save_energy_history

Save energy history.

fortran
subroutine save_energy_history(self, it, time, blocks_number, energy_D, energy_B, coil_power, Poynting_flux, is_to_open, is_to_close)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
itinteger(kind=I4P)inCurrent iteration.
timereal(kind=R8P)inCurrent time.
blocks_numberinteger(kind=I4P)inCurrent number of blocks.
energy_Dreal(kind=R8P)inEnergy history of D.
energy_Breal(kind=R8P)inEnergy history of B.
coil_powerreal(kind=R8P)inCoil power history.
Poynting_fluxreal(kind=R8P)inPoynting flux history.
is_to_openlogicalinoptionalFlag to open file before first saving.
is_to_closelogicalinoptionalFlag to close file after last saving.

Call graph

save_divergence_history

Save energy history.

fortran
subroutine save_divergence_history(self, it, time, blocks_number, div_D, div_B, div_J, is_to_open, is_to_close)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
itinteger(kind=I4P)inCurrent iteration.
timereal(kind=R8P)inCurrent time.
blocks_numberinteger(kind=I4P)inCurrent number of blocks.
div_Dreal(kind=R8P)inEnergy history of B.
div_Breal(kind=R8P)inCoil power history.
div_Jreal(kind=R8P)inPoynting flux history.
is_to_openlogicalinoptionalFlag to open file before first saving.
is_to_closelogicalinoptionalFlag to close file after last saving.

Call graph

close_file_residuals

Close file for saving residuals history.

fortran
subroutine close_file_residuals(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inIO handler.

Call graph

open_file_residuals

Open file for saving residuals history.

fortran
subroutine open_file_residuals(self, nv)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
nvinteger(kind=I4P)inNumber of residuals variables.

Call graph

save_residuals

Save residuals history.

fortran
subroutine save_residuals(self, it, time, blocks_number, residuals)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inIO handler.
itinteger(kind=I4P)inCurrent iteration.
timereal(kind=R8P)inCurrent time.
blocks_numberinteger(kind=I4P)inCurrent number of blocks.
residualsreal(kind=R8P)inResiduals (norm) [1:nv].

Call graph

save_xh5f_field_4D_R8P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind R8P.

fortran
subroutine save_xh5f_field_4D_R8P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qreal(kind=R8P)inScalar field [ni,nj,nk].
q_nametype(string)inScalar field name.

Call graph

save_xh5f_field_5D_R8P

Save q-vector/s-scalar fields by XH5F file handler, rank 5, kind R8P.

fortran
subroutine save_xh5f_field_5D_R8P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qreal(kind=R8P)inVector fields [nv,ni,nj,nk].
q_nametype(string)inVector fields names [nv].

Call graph

save_xh5f_field_4D_R4P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind R4P.

fortran
subroutine save_xh5f_field_4D_R4P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qreal(kind=R4P)inScalar field [ni,nj,nk].
q_nametype(string)inScalar field name.

Call graph

save_xh5f_field_5D_R4P

Save q-vector/s-scalar fields by XH5F file handler, rank 5, kind R4P.

fortran
subroutine save_xh5f_field_5D_R4P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qreal(kind=R4P)inVector fields [nv,ni,nj,nk].
q_nametype(string)inVector fields names [nv].

Call graph

save_xh5f_field_4D_I8P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind I8P.

fortran
subroutine save_xh5f_field_4D_I8P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I8P)inScalar field [ni,nj,nk].
q_nametype(string)inScalar field name.

Call graph

save_xh5f_field_5D_I8P

Save q-vector/s-scalar fields by XH5F file handler, rank 5, kind I8P.

fortran
subroutine save_xh5f_field_5D_I8P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I8P)inVector fields [nv,ni,nj,nk].
q_nametype(string)inVector fields names [nv].

Call graph

save_xh5f_field_4D_I4P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind I4P.

fortran
subroutine save_xh5f_field_4D_I4P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I4P)inScalar field [ni,nj,nk].
q_nametype(string)inScalar field name.

Call graph

save_xh5f_field_5D_I4P

Save q-vector/s-scalar fields by XH5F file handler, rank 5, kind I4P.

fortran
subroutine save_xh5f_field_5D_I4P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I4P)inVector fields [nv,ni,nj,nk].
q_nametype(string)inVector fields names [nv].

Call graph

save_xh5f_field_4D_I2P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind I2P.

fortran
subroutine save_xh5f_field_4D_I2P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I2P)inScalar field [ni,nj,nk].
q_nametype(string)inScalar field name.

Call graph

save_xh5f_field_5D_I2P

Save q-vector/s-scalar fields by XH5F file handler, rank 5, kind I2P.

fortran
subroutine save_xh5f_field_5D_I2P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I2P)inVector fields [nv,ni,nj,nk].
q_nametype(string)inVector fields names [nv].

Call graph

save_xh5f_field_4D_I1P

Save q-vector/s-scalar fields by XH5F file handler, rank 4, kind I1P.

fortran
subroutine save_xh5f_field_4D_I1P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I1P)inScalar field [ni,nj,nk].
q_nametype(string)inScalar field name.

Call graph

save_xh5f_field_5D_I1P

Save q-vector/s-scalar fields by XH5F file handler, rank 5, kind I1P.

fortran
subroutine save_xh5f_field_5D_I1P(self, xh5f, block_name, ijk, nijk, q, q_name)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inoutIO handler.
xh5ftype(xh5f_file_object)inoutXH5F file handler.
block_namecharacter(len=*)inBlock name.
ijkinteger(kind=I4P)inBlocks extents.
nijkinteger(kind=I8P)inBlocks dimensions.
qinteger(kind=I1P)inVector fields [nv,ni,nj,nk].
q_nametype(string)inVector fields names [nv].

Call graph

Functions

description

Return a pretty-formatted object description.

Attributes: pure

Returns: character(len=:)

fortran
function description(self) result(desc)

Arguments

NameTypeIntentAttributesDescription
selfclass(io_object)inIO handler.

Call graph