# 7.4. IO Region

This section is referenced in the following other sections

- Simulation Setup: IO Region

## 7.4.1. Input_Output Region

Scope

  Procedure

Summary

  An input output region can load data from an exodus file and transfer it to other regions, either constant in time or varying. It can be used for setting initial conditions from prior data, defining boundary conditions, or any other applications of custom field values.

  For output it can be used to visualize data on a reduced set of the domain - for example one could transfer to an input output region that had a 2D slice through a 3D domain, or a coarser 3D mesh.

    begin Input_Output Region Parameter_block_name

       Create Element Field Field_name Of Type {asym_tensor_03 | complex | full_tensor_22 | full_tensor_36 | integer | long_integer | matrix_22 | matrix_33 | real | sym_tensor_21 | sym_tensor_31 | sym_tensor_33 | unsigned_integer | unsigned_integer_64 | vector_2d | vector_3d} And Dimension Dimension [ Value {=} Number...  ]

       Create Nodal Field Field_name Of Type {asym_tensor_03 | complex | full_tensor_22 | full_tensor_36 | integer | long_integer | matrix_22 | matrix_33 | real | sym_tensor_21 | sym_tensor_31 | sym_tensor_33 | unsigned_integer | unsigned_integer_64 | vector_2d | vector_3d} And Dimension Dimension [ Value {=} Number...  ]

       Fixed Time [ {=} Fixed_time  ]

       Offset Time {=} Period_offset_time

       Periodicity Time {=} Periodicity_time

       Start Time {=} Start_time

       Time Interpolation Method {=} {closest | linear}

       Timestep Adjustment Interval {=} Nsteps

       Use Finite Element Model ModelName [ Model Coordinates Are Nodal_variable_name  ]

       begin Heartbeat Label
       end

       begin Heartbeat Output Label
       end

       begin History Output Label
       end

       begin Restart Data Label
       end

       begin Results Output Label
       end

    end Input_Output Region Parameter_block_name

### 7.4.1.1. Line Commands

###### Create Element Field

Syntax

  Create Element Field Field_name Of Type {asym_tensor_03 | complex | full_tensor_22 | full_tensor_36 | integer | long_integer | matrix_22 | matrix_33 | real | sym_tensor_21 | sym_tensor_31 | sym_tensor_33 | unsigned_integer | unsigned_integer_64 | vector_2d | vector_3d} And Dimension Dimension [ Value {=} Number… ]

Summary

  Creates a Element Field name field_name on the region.

Parameter | Value | Default
--- | --- | ---
Field_name | string | –
Option | {asym_tensor_03 | complex | full_tensor_22 | full_tensor_36 | integer | long_integer | matrix_22 | matrix_33 | real | sym_tensor_21 | sym_tensor_31 | sym_tensor_33 | unsigned_integer | unsigned_integer_64 | vector_2d | vector_3d} | –
Dimension | integer | –

###### Create Nodal Field

Syntax

  Create Nodal Field Field_name Of Type {asym_tensor_03 | complex | full_tensor_22 | full_tensor_36 | integer | long_integer | matrix_22 | matrix_33 | real | sym_tensor_21 | sym_tensor_31 | sym_tensor_33 | unsigned_integer | unsigned_integer_64 | vector_2d | vector_3d} And Dimension Dimension [ Value {=} Number… ]

Summary

  Creates a Nodal Field name field_name on the region.

Parameter | Value | Default
--- | --- | ---
Field_name | string | –
Option | {asym_tensor_03 | complex | full_tensor_22 | full_tensor_36 | integer | long_integer | matrix_22 | matrix_33 | real | sym_tensor_21 | sym_tensor_31 | sym_tensor_33 | unsigned_integer | unsigned_integer_64 | vector_2d | vector_3d} | –
Dimension | integer | –

###### Fixed Time

Syntax

  Fixed Time [ {=} Fixed_time ]

Summary

  The line specifies that the database will be read for a single, fixed time. Specifying the actual time is optional. If the time is not specified, the final time plane in the database will be read.

  NOTE:

  - This option takes precedence over the periodic specifications given by START TIME, PERIODICITY TIME, and OFFSET TIME.

      if FIXED TIME is specified then
         if FIXED TIME value is given then (eg., FIXED TIME is 1.)
            DATABASE TIME = FIXED TIME
         else (eg., FIXED TIME)
            DATABASE TIME = last time in database
      else
         if PERIODICITY TIME greater than 0 then
            if APPLICATION TIME less than or equal to START TIME then
               DATABASE TIME = APPLICATION TIME
            else
               DATABASE TIME = START TIME +
                (APPLICATION TIME - START TIME) modulo PERIODICITY TIME
         else
            DATABASE TIME = APPLICATION TIME
         now add OFFSET TIME to the computed DATABASE TIME

###### Offset Time

Syntax

  Offset Time {=} Period_offset_time

Summary

  This value is added to the application time to determine what database time slice to input. If OFFSET TIME were 15 than at application time 0 database time slice 15 would be read from the file and used for the initial values. At application time 1, database time slice 16 would be read.

  NOTES:

  - The OFFSET TIME is added in after the START TIME and PERIODICITY TIME are used.

  - The FIXED TIME option takes precedence over this option.

      if FIXED TIME is specified then
         if FIXED TIME value is given then (eg., FIXED TIME is 1.)
            DATABASE TIME = FIXED TIME
         else (eg., FIXED TIME)
            DATABASE TIME = last time in database
      else
         if PERIODICITY TIME greater than 0 then
            if APPLICATION TIME less than or equal to START TIME then
               DATABASE TIME = APPLICATION TIME
            else
               DATABASE TIME = START TIME +
                (APPLICATION TIME - START TIME) modulo PERIODICITY TIME
         else
            DATABASE TIME = APPLICATION TIME
         now add OFFSET TIME to the computed DATABASE TIME

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Period_offset_time | real | –

###### Periodicity Time

Syntax

  Periodicity Time {=} Periodicity_time

Summary

  START TIME and PERIODICITY TIME taken together give the time frame from the input database to use to initialize the application values. If START TIME is 25 and PERIODICITY TIME is 10, then time slices from 25 to 35 will be used over and over again as the application time runs from 0 to whatever. In general

      DATABASE TIME is (APPLICATION TIME - START TIME) modulo PERIODICITY TIME

  after the application time reaches the START TIME.

  NOTES:

  - The OFFSET TIME is added in after the START TIME and PERIODICITY TIME are used.

  - The FIXED TIME option takes precedence over this option.

      if FIXED TIME is specified then
         if FIXED TIME value is given then (eg., FIXED TIME is 1.)
            DATABASE TIME = FIXED TIME
         else (eg., FIXED TIME)
            DATABASE TIME = last time in database
      else
         if PERIODICITY TIME greater than 0 then
            if APPLICATION TIME less than or equal to START TIME then
               DATABASE TIME = APPLICATION TIME
            else
               DATABASE TIME = START TIME +
                (APPLICATION TIME - START TIME) modulo PERIODICITY TIME
         else
            DATABASE TIME = APPLICATION TIME
         now add OFFSET TIME to the computed DATABASE TIME

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Periodicity_time | real | –

###### Start Time

Syntax

  Start Time {=} Start_time

Summary

  The time in which to start applying PERIODICITY TIME. If PERIODICITY TIME is not specified then START TIME is ignored.

  NOTES:

  - The OFFSET TIME is added in after the START TIME and PERIODICITY TIME are used.

  - The FIXED TIME option takes precedence over this option.

      if FIXED TIME is specified then
         if FIXED TIME value is given then (eg., FIXED TIME is 1.)
            DATABASE TIME = FIXED TIME
         else (eg., FIXED TIME)
            DATABASE TIME = last time in database
      else
         if PERIODICITY TIME greater than 0 then
            if APPLICATION TIME less than or equal to START TIME then
               DATABASE TIME = APPLICATION TIME
            else
               DATABASE TIME = START TIME +
                (APPLICATION TIME - START TIME) modulo PERIODICITY TIME
         else
            DATABASE TIME = APPLICATION TIME
         now add OFFSET TIME to the computed DATABASE TIME

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Start_time | real | –

###### Time Interpolation Method

Syntax

  Time Interpolation Method {=} {closest | linear}

Summary

  This line specifies how interpolation in time in the database will be handled. If linear (the default option) is specified, quantities at a given point are linearly interpolated from the bounding known time points. If the closest option is selected, then the closest known time point will be taken.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Method | {closest | linear} | –

###### Timestep Adjustment Interval

Syntax

  Timestep Adjustment Interval {=} Nsteps

Summary

  Specify the number of steps to ‘look ahead’ and adjust the timestep to ensure that the specified output times or simulation end time will be hit ‘exactly’.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Nsteps | integer | –

###### Use Finite Element Model

Syntax

  Use Finite Element Model ModelName [ Model Coordinates Are Nodal_variable_name ]

Summary

  Associates a predefined finite element model with this region.

Parameter | Value | Default
--- | --- | ---
ModelName | string | –