# 7.6. Solution Control

This section is referenced in the following other sections

- Simulation Setup: Solution Control
- Simulation Setup: Solution Options

## 7.6.1. Solution Control Description

Scope

  Fuego Procedure

Summary

  Contains the commands needed to execute an analysis using the arpeggio procedure that uses Solver Control.

    begin Solution Control Description Name

       Use System Name

       begin Initialize Name
       end

       begin Parameters For
       end

       begin System Name
       end

    end Solution Control Description Name

### 7.6.1.1. Line Commands

###### Use System

Syntax

  Use System Name

Summary

  This set the name of which system to use.

Parameter | Value | Default
--- | --- | ---
Name | string | –

## 7.6.2. Initialize

Scope

  Solution Control Description

Summary

  This block wraps a initializer for a given name. The NAME parameter is the name used to define the initialization block. There can be more than one initialize block in the Solver Control Description block. The “use initialize NAME” line command controls which one is to be used.

    begin Initialize Name

       Advance Name... [ When When-expression  ]

       Event Name... [ When When-expression  ]

       Involve Name

       Transfer Name [ When When-expression  ]

    end Initialize Name

### 7.6.2.1. Line Commands

###### Advance

Syntax

  Advance Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that advances the solution. The name is that matches the physics.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Event

Syntax

  Event Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that has no time associated with it. It can cause a solution transfer between regions or cause something to print.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Involve

Syntax

  Involve Name

Summary

  Specify a physics participant to a coupled problem solved using matrix-free nonlinear.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Transfer

Syntax

  Transfer Name [ When When-expression ]

Summary

  A Solver Control Transfer line command which executes all transfers defined from the specified region. All transfers with a send region of ‘name’ will be executed.

Parameter | Value | Default
--- | --- | ---
Name | string | –

## 7.6.3. Parameters For

Scope

  Solution Control Description

Summary

  A Solver Control PARAMETERS block to set up control data for the SC_type parameter. Inside this block one sets the time step parameters or nonlinear parameters.

    begin Parameters For

       Converged When Convergence-expression

       Incremental Number Of Steps {=} Number

       Initial Deltat {=} Number

       Number Of Adaptivity Steps {=} Number

       Number Of Steps {=} Number

       Reinitialize Transient

       Start Time {=} Number

       Suppress Output From Nonlinear Loop

       Termination Time {=} Number

       Time Step Quantum {=} TimeStepQuantum

       Time Step Style TimeStepStyle...

       Total Change In Time {=} Number

       begin Parameters For Fuego Region RegionName
       end

    end Parameters For

### 7.6.3.1. Line Commands

###### Converged When

Syntax

  Converged When Convergence-expression

Summary

  Set the convergence expression.

Parameter | Value | Default
--- | --- | ---
Convergence-expression | (expression) | –

###### Incremental Number Of Steps

Syntax

  Incremental Number Of Steps {=} Number

Summary

  The incremental number steps to run the time for nonlinear loop. Number of time steps to run after restarting. NUMBER OF STEPS is total number of steps to run

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

###### Initial Deltat

Syntax

  Initial Deltat {=} Number

Summary

  Assign an initial delta T

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

###### Number Of Adaptivity Steps

Syntax

  Number Of Adaptivity Steps {=} Number

Summary

  The number steps to run the time or nonlinear loop

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

###### Number Of Steps

Syntax

  Number Of Steps {=} Number

Summary

  The number steps to run the time for nonlinear loop

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

###### Reinitialize Transient

Syntax

  Reinitialize Transient

Summary

  Reset time and re-initialize regions each step of the adaptivity loop.

###### Start Time

Syntax

  Start Time {=} Number

Summary

  Assign a start time.

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

###### Suppress Output From Nonlinear Loop

Syntax

  Suppress Output From Nonlinear Loop

Summary

  Specify that the nonlinear loop will not output. Output will be handled by calls outside of the nonlinear loop (such as an additional advance region call).

###### Termination Time

Syntax

  Termination Time {=} Number

Summary

  Assign a final time to stop

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

###### Time Step Quantum

Syntax

  Time Step Quantum {=} TimeStepQuantum

Summary

  Set the time stepping quantum time for SNAP style stepping.

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

###### Time Step Style

Syntax

  Time Step Style TimeStepStyle…

Summary

  Set the time stepping style.

  When CLIP is specified, the time step size will be clipped at the last step of the transient loop so that it ends at the transient loop’s end time. If clip is not specified, the last time is allowed to exceed to the transient loop’s end time and the following transient loop will start at the exceeded end time.

  When SNAP is specified, the time step is broken down into “quantum” time units. By default this quantum time is 12 orders of magnitude down from the difference between the start and end time for the transient loop. This value can be overridden using the TIME STEP QUANTUM line command. All time values are “snapped” to multiples of the quantum time by rounding to the nearest quantum multiple.

Parameter | Value | Default
--- | --- | ---
TimeStepStyle | {clip | noclip | nosnap | snap} | CLIP NOSNAP

###### Total Change In Time

Syntax

  Total Change In Time {=} Number

Summary

  Use this number and the initial time to compute termination time.

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

## 7.6.4. Parameters For Fuego Region

Scope

  Parameters For, Time Stepping Block

Summary

  Defines region-specific time stepping data.

    begin Parameters For Fuego Region RegionName

       Cfl Limit {=} Clfmax

       Iteration At Skip Step {=} SkipIter

       Maximum Time Step {=} DtMax

       Minimum Time Step {=} DtMin

       Skip Step {=} SkipStep

       Skip Steps For Pmr {=} PMRSkip

       Time Step Change Factor {=} Change

       Transient Step Type {=} {automatic | fixed | invalid time step type}

    end Parameters For Fuego Region RegionName

### 7.6.4.1. Line Commands

###### Cfl Limit

Syntax

  Cfl Limit {=} Clfmax

Summary

  Specifies the maximum value of the CFL number that is used to determine the auto time step.

Description

  Need a fuller description here.

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

###### Iteration At Skip Step

Syntax

  Iteration At Skip Step {=} SkipIter

Summary

  Controls the number of iterations in between a skip step.

Description

  This is the first implementation of the ability to freeze the Fuego region and allow time advancement without a Fluids/Conduction solve. In the near future, solution control will allow this feature in a more elegant manner.

  For now, the iteration count will allow for a given number of iterations when the Afgo regions solve is “active”, that is not during a skip step.

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

###### Maximum Time Step

Syntax

  Maximum Time Step {=} DtMax

Summary

  Specifies the maximum allowable time increment for auto timestepping.

Description

  Need a fuller description here.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
DtMax | real | 1.0e12

###### Minimum Time Step

Syntax

  Minimum Time Step {=} DtMin

Summary

  Specifies the minimum allowable time increment for auto timestepping.

Description

  Need a fuller description here.

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

###### Skip Step

Syntax

  Skip Step {=} SkipStep

Summary

  Controls the frequency of Fuego (Afgo) iteration.

Description

  This is the first implementation of the ability to freeze the Fuego region and allow time advancement without a Fluids/Conduction solve. In the near future, solution control will allow this feature in a more elegant manner.

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

###### Skip Steps For Pmr

Syntax

  Skip Steps For Pmr {=} PMRSkip

Summary

  Controls the frequency of PMR solve.

Description

  Set the PMR solve interval. Default is 1 (every step).

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

###### Time Step Change Factor

Syntax

  Time Step Change Factor {=} Change

Summary

  Specify the factor by which the time step is allowed to increase or decrease between time steps.

Description

  Need a fuller description here.

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

###### Transient Step Type

Syntax

  Transient Step Type {=} {automatic | fixed | invalid time step type}

Summary

  Specifies whether to use fixed time-stepping or automatic time-stepping.

Description

  Need a fuller description here.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
FuegoStepType | {automatic | fixed | invalid time step type} | FIXED

## 7.6.5. System

Scope

  Solution Control Description

Summary

  This block wraps a solver system for a given name. The NAME parameter is the name used to define the system. There can be more than one system block in the Solver Control Description block. The “use system NAME” line command controls which one is to be used.

    begin System Name

       Event Name... [ When When-expression  ]

       Output Name [ When When-expression  ]

       Simulation Max Global Iterations {=} Number

       Simulation Start Time {=} Number

       Simulation Termination Time {=} Number

       Transfer Name [ When When-expression  ]

       Use Initialize Name

       begin Sequential Name
       end

       begin Transient Name
       end

    end System Name

### 7.6.5.1. Line Commands

###### Event

Syntax

  Event Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that has no time associated with it. It can cause a solution transfer between regions or cause something to print.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Output

Syntax

  Output Name [ When When-expression ]

Summary

  A Solver Control Output line command which execute a perform I/O on the region.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Simulation Max Global Iterations

Syntax

  Simulation Max Global Iterations {=} Number

Summary

  The Total number of Solves.

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

###### Simulation Start Time

Syntax

  Simulation Start Time {=} Number

Summary

  Simulation starting time. (by default 0.0)

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

###### Simulation Termination Time

Syntax

  Simulation Termination Time {=} Number

Summary

  The drop dead time.

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

###### Transfer

Syntax

  Transfer Name [ When When-expression ]

Summary

  A Solver Control Transfer line command which executes all transfers defined from the specified region. All transfers with a send region of ‘name’ will be executed.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Use Initialize

Syntax

  Use Initialize Name

Summary

  This set the name of which initialization to use.

Parameter | Value | Default
--- | --- | ---
Name | string | –

## 7.6.6. Sequential

Scope

  System

Summary

  This block is used to wrap a sequential solution. It is used to wrap a sequence of Non-Linear or pseudo time solve step solves.

    begin Sequential Name

       Advance Name... [ When When-expression  ]

       Event Name... [ When When-expression  ]

       Involve Name

       Output Name [ When When-expression  ]

       Transfer Name [ When When-expression  ]

       begin Nonlinear Name
       end

    end Sequential Name

### 7.6.6.1. Line Commands

###### Advance

Syntax

  Advance Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that advances the solution. The name is that matches the physics.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Event

Syntax

  Event Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that has no time associated with it. It can cause a solution transfer between regions or cause something to print.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Involve

Syntax

  Involve Name

Summary

  Specify a physics participant to a coupled problem solved using matrix-free nonlinear.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Output

Syntax

  Output Name [ When When-expression ]

Summary

  A Solver Control Output line command which execute a perform I/O on the region.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Transfer

Syntax

  Transfer Name [ When When-expression ]

Summary

  A Solver Control Transfer line command which executes all transfers defined from the specified region. All transfers with a send region of ‘name’ will be executed.

Parameter | Value | Default
--- | --- | ---
Name | string | –

## 7.6.7. Transient

Scope

  System

Summary

  This block is used to wrap a time loop.

    begin Transient Name

       Advance Name... [ When When-expression  ]

       Event Name... [ When When-expression  ]

       Involve Name

       Output Name [ When When-expression  ]

       Transfer Name [ When When-expression  ]

       begin Nonlinear Name
       end

       begin Subcycle Name
       end

    end Transient Name

### 7.6.7.1. Line Commands

###### Advance

Syntax

  Advance Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that advances the solution. The name is that matches the physics.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Event

Syntax

  Event Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that has no time associated with it. It can cause a solution transfer between regions or cause something to print.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Involve

Syntax

  Involve Name

Summary

  Specify a physics participant to a coupled problem solved using matrix-free nonlinear.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Output

Syntax

  Output Name [ When When-expression ]

Summary

  A Solver Control Output line command which execute a perform I/O on the region.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Transfer

Syntax

  Transfer Name [ When When-expression ]

Summary

  A Solver Control Transfer line command which executes all transfers defined from the specified region. All transfers with a send region of ‘name’ will be executed.

Parameter | Value | Default
--- | --- | ---
Name | string | –

## 7.6.8. Nonlinear

Scope

  Sequential, Transient

Summary

  This block is used to wrap a nonlinear solve loop.

    begin Nonlinear Name

       Advance Name... [ When When-expression  ]

       Event Name... [ When When-expression  ]

       Involve Name

       Output Name [ When When-expression  ]

       Transfer Name [ When When-expression  ]

       begin Subcycle Name
       end

    end Nonlinear Name

### 7.6.8.1. Line Commands

###### Advance

Syntax

  Advance Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that advances the solution. The name is that matches the physics.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Event

Syntax

  Event Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that has no time associated with it. It can cause a solution transfer between regions or cause something to print.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Involve

Syntax

  Involve Name

Summary

  Specify a physics participant to a coupled problem solved using matrix-free nonlinear.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Output

Syntax

  Output Name [ When When-expression ]

Summary

  A Solver Control Output line command which execute a perform I/O on the region.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Transfer

Syntax

  Transfer Name [ When When-expression ]

Summary

  A Solver Control Transfer line command which executes all transfers defined from the specified region. All transfers with a send region of ‘name’ will be executed.

Parameter | Value | Default
--- | --- | ---
Name | string | –

## 7.6.9. Subcycle

Scope

  Nonlinear, Transient

Summary

  This block is used to wrap a subcycle time loop.

    begin Subcycle Name

       Advance Name... [ When When-expression  ]

       Event Name... [ When When-expression  ]

       Involve Name

       Output Name [ When When-expression  ]

       Transfer Name [ When When-expression  ]

    end Subcycle Name

### 7.6.9.1. Line Commands

###### Advance

Syntax

  Advance Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that advances the solution. The name is that matches the physics.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Event

Syntax

  Event Name… [ When When-expression ]

Summary

  Used within a Solver Control block to indicate a single step that has no time associated with it. It can cause a solution transfer between regions or cause something to print.

Parameter | Value | Default
--- | --- | ---
Name | string… | –

###### Involve

Syntax

  Involve Name

Summary

  Specify a physics participant to a coupled problem solved using matrix-free nonlinear.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Output

Syntax

  Output Name [ When When-expression ]

Summary

  A Solver Control Output line command which execute a perform I/O on the region.

Parameter | Value | Default
--- | --- | ---
Name | string | –

###### Transfer

Syntax

  Transfer Name [ When When-expression ]

Summary

  A Solver Control Transfer line command which executes all transfers defined from the specified region. All transfers with a send region of ‘name’ will be executed.

Parameter | Value | Default
--- | --- | ---
Name | string | –