eTurb
KTH Toolbox: runparam

Files

file  rprm.f
 Set of subroutines related to module's runtime parameters.
 
file  rprm_block.f
 Block data to initialise common block for runtime parameter module.
 

Functions/Subroutines

subroutine rprm_register
 Register runtime parameters database. More...
 
subroutine rprm_init
 Initialise modules runtime parameters and write summary. More...
 
logical function rprm_is_initialised ()
 Check if module was initialised. More...
 
subroutine rprm_sec_reg (rpid, mid, pname, pdscr)
 Register new parameter section. More...
 
subroutine rprm_sec_is_name_reg (rpid, mid, pname)
 Check if section name is registered and return its id. Check mid as well. More...
 
logical function rprm_sec_is_id_reg (rpid)
 Check if section id is registered. This operation is performed locally. More...
 
subroutine rprm_sec_get_info (pname, mid, ifact, rpid)
 Get section info based on its id. This operation is performed locally. More...
 
subroutine rprm_sec_set_act (ifact, rpid)
 Set section's activation flag. Master value is broadcasted. More...
 
logical function rprm_sec_is_id_act (rpid)
 Check if section id is registered and activated. This operation is performed locally. More...
 
subroutine rprm_rp_reg (rpid, mid, pname, pdscr, ptype, ipval, rpval, lpval, cpval)
 Register new runtime parameter. More...
 
subroutine rprm_rp_is_name_reg (rpid, mid, pname, ptype)
 Check if parameter name is registered and return its id. Check flags as well. More...
 
logical function rprm_rp_is_id_reg (rpid, ptype)
 Check if parameter id is registered and check type consistency. This operation is performed locally. More...
 
subroutine rprm_rp_get_info (pname, mid, ptype, rpid)
 Get parameter info based on its id. This operation is performed locally. More...
 
subroutine rprm_rp_set (rpid, ptype, ipval, rpval, lpval, cpval)
 Set runtime parameter of active section. Master value is broadcasted. More...
 
subroutine rprm_rp_get (ipval, rpval, lpval, cpval, rpid, ptype)
 Get runtime parameter form active section. This operation is performed locally. More...
 
subroutine rprm_dict_get ()
 Get runtime parameter from nek parser dictionary. More...
 
subroutine rprm_rp_summary_print (unit)
 Print out summary of registered runtime parameters (active sections only) More...
 
subroutine rprm_check (mod_nkeys, mod_dictkey, mod_n3dkeys, mod_l3dkey, ifsec)
 Check consistency of module's runtime parameters. More...
 

Detailed Description

Function/Subroutine Documentation

◆ rprm_check()

subroutine rprm_check ( integer  mod_nkeys,
character*132, dimension(mod_nkeys)  mod_dictkey,
integer  mod_n3dkeys,
integer, dimension(mod_n3dkeys)  mod_l3dkey,
logical  ifsec 
)

Check consistency of module's runtime parameters.

Parameters
[in]mod_nkeysnumber of module's keys
[in]mod_dictkeymodule's dictionary keys
[in]mod_n3dkeysnumber of keys used for 3D run only
[in]mod_l3dkeylist of positions of 3D keys
[out]ifsecis section present

Check if the section name shows up and runtime parameters are spelled correctly. Give warning if section is missing, or the key is unknown. Check possible 2D - 3D parameter mismatch.

Warning
This routine deprecated.

◆ rprm_dict_get()

subroutine rprm_dict_get ( )

Get runtime parameter from nek parser dictionary.

◆ rprm_init()

subroutine rprm_init ( )

Initialise modules runtime parameters and write summary.

◆ rprm_is_initialised()

logical function rprm_is_initialised ( )

Check if module was initialised.

Returns
rprm_is_initialised

◆ rprm_register()

subroutine rprm_register ( )

Register runtime parameters database.

◆ rprm_rp_get()

subroutine rprm_rp_get ( integer  ipval,
real  rpval,
logical  lpval,
character*20  cpval,
integer  rpid,
integer  ptype 
)

Get runtime parameter form active section. This operation is performed locally.

Parameters
[out]ipvalinteger value
[out]rpvalreal value
[out]lpvallogical value
[out]cpvalstring value
[in]rpidruntime parameter id
[in]ptypeparameter type

◆ rprm_rp_get_info()

subroutine rprm_rp_get_info ( character*20  pname,
integer  mid,
integer  ptype,
integer  rpid 
)

Get parameter info based on its id. This operation is performed locally.

Parameters
[out]pnameparameter name
[out]midsection id
[out]ptypeparameter type
[in,out]rpidruntime parameter id

◆ rprm_rp_is_id_reg()

logical function rprm_rp_is_id_reg ( integer  rpid,
integer  ptype 
)

Check if parameter id is registered and check type consistency. This operation is performed locally.

Parameters
[in]rpidruntime parameter id
[in]ptypeparameter type
Returns
rprm_rp_is_id_reg

◆ rprm_rp_is_name_reg()

subroutine rprm_rp_is_name_reg ( integer  rpid,
integer  mid,
character*(*)  pname,
integer  ptype 
)

Check if parameter name is registered and return its id. Check flags as well.

Parameters
[out]rpidruntime parameter id
[in]midsection id
[in]pnameparameter name
[in]ptypeparameter type

◆ rprm_rp_reg()

subroutine rprm_rp_reg ( integer  rpid,
integer  mid,
character*(*)  pname,
character*(*)  pdscr,
integer  ptype,
integer  ipval,
real  rpval,
logical  lpval,
character*(*)  cpval 
)

Register new runtime parameter.

Parameters
[out]rpidcurrent runtime parameter id
[in]midsection id
[in]pnameparameter name
[in]pdscrparamerer description
[in]ptypeparameter type
[in]ipvalinteger default value
[in]rpvalreal default value
[in]lpvallogical default value
[in]cpvalstring default value
+ Here is the caller graph for this function:

◆ rprm_rp_set()

subroutine rprm_rp_set ( integer  rpid,
integer  ptype,
integer  ipval,
real  rpval,
logical  lpval,
character*(*)  cpval 
)

Set runtime parameter of active section. Master value is broadcasted.

Parameters
[in]rpidruntime parameter id
[in]ptypeparameter type
[in]ipvalinteger value
[in]rpvalreal value
[in]lpvallogical value
[in]cpvalstring value

◆ rprm_rp_summary_print()

subroutine rprm_rp_summary_print ( integer  unit)

Print out summary of registered runtime parameters (active sections only)

Parameters
[in]unitI/O unit (6 - standard I/O)

◆ rprm_sec_get_info()

subroutine rprm_sec_get_info ( character*20  pname,
integer  mid,
logical  ifact,
integer  rpid 
)

Get section info based on its id. This operation is performed locally.

Parameters
[out]pnamesection name
[out]midregistering module id
[out]ifactactivation flag
[in,out]rpidsection id

◆ rprm_sec_is_id_act()

logical function rprm_sec_is_id_act ( integer  rpid)

Check if section id is registered and activated. This operation is performed locally.

Parameters
[in]rpidsection id
Returns
rprm_sec_id_id_act

◆ rprm_sec_is_id_reg()

logical function rprm_sec_is_id_reg ( integer  rpid)

Check if section id is registered. This operation is performed locally.

Parameters
[in]rpidsection id
Returns
rprm_sec_is_id_reg

◆ rprm_sec_is_name_reg()

subroutine rprm_sec_is_name_reg ( integer  rpid,
integer  mid,
character*(*)  pname 
)

Check if section name is registered and return its id. Check mid as well.

Parameters
[out]rpidsection id
[in]midregistering module id
[in]pnamesection name

◆ rprm_sec_reg()

subroutine rprm_sec_reg ( integer  rpid,
integer  mid,
character*(*)  pname,
character*(*)  pdscr 
)

Register new parameter section.

Parameters
[out]rpidcurrent section id
[in]midregistering module id
[in]pnamesection name
[in]pdscrsection description

◆ rprm_sec_set_act()

subroutine rprm_sec_set_act ( logical  ifact,
integer  rpid 
)

Set section's activation flag. Master value is broadcasted.

This routine is added because Nek5000 uses existence of section in .par file itself as a variable, what introduces problem with their registration as sections should be registered before reading runtime parameter file. That is why I decided to split registration and activation stages. One can register all the possible sections and activate those present in .par

Parameters
[in]ifactactivation flag
[in]rpidruntime parameter id