Load the condition table in case of convergence
Example:
condition = {threshold = 2.0e-10, operator = '<='}
The tables inside condition table should be equal to the nVars If thats not the case we return an error message check single or multiple table
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_condition_type), | intent(inout), | allocatable | :: | me(:) | ||
type(flu_State), | intent(in) | :: | conf | |||
integer, | intent(in) | :: | parent |
subroutine tem_load_condition( me, conf, parent ) ! -------------------------------------------------------------------- ! !> type(tem_condition_type), allocatable, intent(inout) :: me(:) !> type(flu_state), intent(in) :: conf !> integer, intent(in) :: parent ! -------------------------------------------------------------------- ! integer :: cond_handle ! handle for the condition table integer :: sub_cond_handle ! handle for subtables inside condition integer :: nCond ! number of conditions integer :: iCond ! index for condition loop ! -------------------------------------------------------------------- ! !! Open the condition table call aot_table_open( L = conf, & & parent = parent, & & thandle = cond_handle, & & key = 'condition' ) !! The tables inside condition table should be equal to the nVars !! If thats not the case we return an error message nCond = aot_table_length( L=conf, thandle=cond_handle ) !! check single or multiple table call aot_table_open( L = conf, & & parent = cond_handle, & & thandle = sub_cond_handle, & & pos = 1 ) if (sub_cond_handle == 0) then call aot_table_close( L = conf, thandle = sub_cond_handle ) ! just one table within allocate ( me(1) ) call tem_load_cond_single( me(1), conf, cond_handle ) else ! IF there are more tables within condition call aot_table_close( L = conf, thandle = sub_cond_handle ) allocate ( me(nCond) ) do iCond = 1, nCond call aot_table_open( L = conf, & & parent = cond_handle, & & thandle = sub_cond_handle, & & pos = iCond ) call tem_load_cond_single( me(iCond), conf, sub_cond_handle ) call aot_table_close( L = conf, thandle = sub_cond_handle ) end do end if ! sub condition check call aot_table_close(L=conf, thandle=cond_handle ) end subroutine tem_load_condition