tem_convergence_out_single Subroutine

private subroutine tem_convergence_out_single(me, conf, level)

Allows the output of the single convergence to lua out.

The data is written into the file, the lunit is connected to. It is formatted as a Lua table.

Arguments

Type IntentOptional Attributes Name
type(tem_convergence_type), intent(in) :: me

convergence to write into the lua file

type(aot_out_type), intent(inout) :: conf

aotus type handling the output to the file in lua format

integer, intent(in), optional :: level

to dump variable with key or without key


Calls

proc~~tem_convergence_out_single~~CallsGraph proc~tem_convergence_out_single tem_convergence_out_single aot_out_close_table aot_out_close_table proc~tem_convergence_out_single->aot_out_close_table aot_out_open_table aot_out_open_table proc~tem_convergence_out_single->aot_out_open_table aot_out_val aot_out_val proc~tem_convergence_out_single->aot_out_val interface~tem_condition_out tem_condition_out proc~tem_convergence_out_single->interface~tem_condition_out interface~tem_reduction_spatial_out tem_reduction_spatial_out proc~tem_convergence_out_single->interface~tem_reduction_spatial_out interface~tem_shape_out tem_shape_out proc~tem_convergence_out_single->interface~tem_shape_out proc~tem_timecontrol_out tem_timeControl_out proc~tem_convergence_out_single->proc~tem_timecontrol_out proc~tem_condition_out_single tem_condition_out_single interface~tem_condition_out->proc~tem_condition_out_single proc~tem_condition_out_vector tem_condition_out_vector interface~tem_condition_out->proc~tem_condition_out_vector proc~tem_reduction_spatial_out_single tem_reduction_spatial_out_single interface~tem_reduction_spatial_out->proc~tem_reduction_spatial_out_single proc~tem_reduction_spatial_out_vector tem_reduction_spatial_out_vector interface~tem_reduction_spatial_out->proc~tem_reduction_spatial_out_vector proc~tem_shape_out_scal tem_shape_out_scal interface~tem_shape_out->proc~tem_shape_out_scal proc~tem_shape_out_vec tem_shape_out_vec interface~tem_shape_out->proc~tem_shape_out_vec proc~tem_timecontrol_out->aot_out_close_table proc~tem_timecontrol_out->aot_out_open_table proc~tem_timecontrol_out->aot_out_val proc~tem_time_out tem_time_out proc~tem_timecontrol_out->proc~tem_time_out proc~tem_condition_out_single->aot_out_close_table proc~tem_condition_out_single->aot_out_open_table proc~tem_condition_out_single->aot_out_val proc~tem_condition_out_vector->aot_out_close_table proc~tem_condition_out_vector->aot_out_open_table proc~tem_condition_out_vector->proc~tem_condition_out_single proc~tem_reduction_spatial_out_single->aot_out_val proc~tem_reduction_spatial_out_vector->aot_out_val proc~tem_shape_out_scal->aot_out_close_table proc~tem_shape_out_scal->aot_out_open_table proc~tem_shape_out_scal->aot_out_val interface~tem_canonicalnd_out tem_canonicalND_out proc~tem_shape_out_scal->interface~tem_canonicalnd_out interface~tem_cylinder_out tem_cylinder_out proc~tem_shape_out_scal->interface~tem_cylinder_out interface~tem_ellipsoid_out tem_ellipsoid_out proc~tem_shape_out_scal->interface~tem_ellipsoid_out interface~tem_sphere_out tem_sphere_out proc~tem_shape_out_scal->interface~tem_sphere_out interface~tem_stlhead_out tem_stlHead_out proc~tem_shape_out_scal->interface~tem_stlhead_out interface~tem_triangle_out tem_triangle_out proc~tem_shape_out_scal->interface~tem_triangle_out proc~tem_shape_bclabel_out tem_shape_bcLabel_out proc~tem_shape_out_scal->proc~tem_shape_bclabel_out proc~tem_shape_level_out tem_shape_level_out proc~tem_shape_out_scal->proc~tem_shape_level_out proc~tem_shape_proplabel_out tem_shape_propLabel_out proc~tem_shape_out_scal->proc~tem_shape_proplabel_out proc~tem_shape_out_vec->aot_out_close_table proc~tem_shape_out_vec->aot_out_open_table proc~tem_shape_out_vec->proc~tem_shape_out_scal proc~tem_time_out->aot_out_close_table proc~tem_time_out->aot_out_open_table proc~tem_time_out->aot_out_val

Called by

proc~~tem_convergence_out_single~~CalledByGraph proc~tem_convergence_out_single tem_convergence_out_single interface~tem_convergence_out tem_convergence_out interface~tem_convergence_out->proc~tem_convergence_out_single proc~tem_convergence_out_vector tem_convergence_out_vector interface~tem_convergence_out->proc~tem_convergence_out_vector proc~tem_convergence_dump_single tem_convergence_dump_single proc~tem_convergence_dump_single->proc~tem_convergence_out_single proc~tem_convergence_out_vector->proc~tem_convergence_out_single interface~tem_convergence_dump tem_convergence_dump interface~tem_convergence_dump->proc~tem_convergence_dump_single proc~tem_convergence_dump_vector tem_convergence_dump_vector interface~tem_convergence_dump->proc~tem_convergence_dump_vector proc~tem_convergence_dump_vector->proc~tem_convergence_out_vector

Source Code

  subroutine tem_convergence_out_single(me, conf, level)
    ! -------------------------------------------------------------------- !
    !> convergence to write into the lua file
    type(tem_convergence_type), intent(in) :: me
    !> aotus type handling the output to the file in lua format
    type(aot_out_type), intent(inout) :: conf
    !> to dump variable with key or without key
    integer, optional, intent(in) :: level
    ! -------------------------------------------------------------------- !
    integer :: level_loc, iVar
    ! -------------------------------------------------------------------- !

    if (present(level)) then
      level_loc = level
    else
      level_loc = 0
    end if

    if( level_loc == 0) then
      call aot_out_open_table( put_conf = conf, tname = 'convergence' )
    else
      call aot_out_open_table( put_conf = conf )
    end if

    ! write variable names
    call aot_out_open_table( put_conf = conf, tname = 'variable' )
    do iVar = 1, me%header%nRequestedVars
      call aot_out_val( put_conf = conf,                         &
        &               val      = trim(me%header%varName(iVar)) )
    end do
    call aot_out_close_table( put_conf = conf )

    ! convergence norm
    call aot_out_val( put_conf = conf,           &
      &               val      = me%header%norm, &
      &               vname    = 'norm'          )
    call aot_out_val( put_conf = conf,                &
      &               val      = me%header%nLastVals, &
      &               vname    = 'nvals'              )

    call aot_out_val( put_conf = conf,                    &
      &               val      = me%header%absoluteError, &
      &               vname    = 'absolute'               )

    ! write reductions
    call tem_reduction_spatial_out( me%redSpatial, conf )

    ! write conditions
    call tem_condition_out( me%header%cond, conf )

    ! write timeControl info
    call tem_timeControl_out( me%header%timeControl, conf )
    ! write shapes
    call tem_shape_out( me%header%geometry, conf )

    call aot_out_close_table( put_conf = conf )

  end subroutine tem_convergence_out_single