OOF2: The Manual

B.5. GUI Changes

B.5.1. Field and Equation Pages

The old Fields and Equations pages have been merged into a single Fields & Equations page. The Field Initialization pane on the old Fields page has been moved to the Solver page. This is because the choice of a solver can determine whether or not the time derivatives of a Field need to be initialized.

B.5.2. Boundary Conditions Page

The Profile pane has been removed, because there are no named profiles anymore.

The On/Off button has been replaced by an Enable checkbox at the left edge of each line in the boundary condition list.

When specifying a Dirichlet boundary condition with a Continuum Profile, the profile function can be an explicit function of time, t. The function's first and second time derivatives will have to be provided. Neumann conditions may also be functions of time, but time dependent floating boundary conditions are not allowed.

B.5.3. Scheduled Output Page

This new GUI page is for defining output operations that take place during time evolution computations. If you're just solving static problems, or if you only want output at the end of the time evolution, you can skip this page entirely.

The page has four columns:

  • A checkbox that allows you to disable a scheduled output without actually deleting it.

  • Output: the quantity to be computed, or the action to perform.

  • Schedule: when to compute the output.

  • Destination: where to send the output. For most outputs, it's either the Message Window or an output stream (file).

B.5.4. Solver Page

The old Solver page allowed you to solve a single Subproblem at a time. The new page lets you assign a Solver to any or all Subproblems and to solve them simultaneously.

B.5.4.1. The Solvers Pane

The Solvers pane lets you assign a Solver to a Subproblem. All of the defined Subproblems appear in the list. To assign a Solver, select a line in the list and use the Set button, or double click a line. You'll get a Specify Solver dialog, in which you can choose either Basic or Advanced mode. In either mode, choose a stepper:

  • Static isn't really a stepper. It just computes an equilibrium solution at the current time.

  • Adaptive takes time steps, with the step size adjusted to maintain a given level of accuracy. An error tolerance and minimum step size must be provided. In addition, Advanced mode requires an initial step size, an error scaling method, and a choice of algorithm for taking an error-controlled step.

  • Uniform takes time steps without any step size adjustment. It may sometimes run faster than Adaptive stepping, but since there is no error control, you might not be wise to trust its answers. In many cases Uniform stepping is actually slower than Adaptive stepping, because to get an accurate answer, a Uniform stepper will have to use a small time step all of the time, whereas an Adaptive stepper will be able to use a small time step only when necessary.

In all cases, when assigning a stepper you'll have to choose whether you want the finite element matrix equations to be solved directly or iteratively. The direct solver is only suitable for small problems. Iterative matrix solvers use a lot less memory and are the better choice for most problems. In Advanced mode, you can choose the particular iterative algorithm. In Basic mode, this choice is made for you. In addition, Advanced mode lets you choose separate matrix solvers for symmetric and asymmetric matrices.

When solving a Mesh with multiple Subproblems, a single time step will be taken on each Subproblem in turn. If using an Adaptive stepper, the time step will be reduced until all Subproblems meet their error tolerances. Because one Subproblem's equations may depend on Field values from another Subproblem, each step will be repeated until each subproblem obtains a consistent result. The order in which the subproblems are addressed in this process is determined by the order in which they appear in the list in the Solvers pane. This order may be changed via the First, Earlier, Later and Last buttons at the bottom of the pane.

The checkbox in the column marked Solve? allows you to disable the solution of a particular Subproblem.

B.5.4.2. Field Initialization pane

The Field initialization operations have been moved from the Field page to the Solver page. Fields are initialized on the whole Mesh, whereever they're defined. The old version initialized them Subproblem by Subproblem. Also, Fields are not actually initialized when their initializers are set. Values aren't changed on the Mesh until the Apply or Apply at time buttons are pressed. Apply at time applies the initializers after setting the Mesh's current time to the given value.

If a Field initializer is set to an XYTFunction, it may be a function of position (x and y) or time (t). If the initializer is a function of time, it does not mean that the field initialized by the initializer has the given time dependence. It just means that the field's initial value is given by the value of the initializer function at the initialization time.

B.5.4.3. Time, Status, and Solve

The current time box shows the Mesh's current time. It can be changed only by reinitializing the Fields via the Apply at time button, or by solving a time dependent problem. The end time box contains the target time of a time evolution. It should be set before pressing the Solve button. If it's equal to the current time, a static solver will be used for all Subproblems even if their steppers are nonstatic.

The Status box displays a brief message about the state of the Mesh. The Details button will display more information in the message window.

The Solve button initiates a time evolution or static solution, depending on the steppers and end time. After a computation is completed, the button changes to a Continue button, and the end time is automatically incremented. If you want to continue a time evolution from where it left off, you can keep pressing the Continue button. If you make any changes to the Mesh, Skeleton, or Microstructure, the Continue button goes back to being a Solve button.

B.5.5. Analysis and Boundary Analysis Pages

There are two changes to the Analysis and Boundary Analysis pages. The first is that computations are done on the Mesh at a particular time. The analysis time can be any time between the start time and the end time of the last solution. The Time widgets below the Microstructure/Skeleton/Mesh choosers are used to set the time. The buttons can be used to walk through the stored times (times at which output quantities were computed). If a time is typed into the entry box, data will be interpolated between the stored times.

The second important change is the new Named Analyses box in the bottom left corner. It lets you assign a name to the collection of settings elsewhere in the page. A named analysis may be retrieved at any time via the pull-down menu marked Current. More importantly, a named analysis may be selected as an Output in the Scheduled Output page. The only settings not included in the named analysis are the Microstructure, Skeleton, Mesh, time, and destination.

B.5.6. New File Selector

The file selector dialog has been simplified.