This reference sheet is for Fino v0.5.190-g05b84d6 .

```
$ fino
fino v0.5.190-g05b84d6+Δ
a partial differential equation solver based on the finite element method
$
```

Note that Fino works on top of wasora, so you should also check the wasora reference sheet also—not to mention the wasora RealBook.

`FINO_DEBUG`

Generates debugging and benchmarking output and/or dumps the matrices into files or the screen.

`FINO_LINEARIZE`

Performs stress linearization according to ASME VII-Sec 5 over a Stress Classification Line given either as a one-dimensional physical entity in the mesh or as the (continuous) spatial coordinates of two end-points. If the SCL is given as a `PHYSICAL_ENTITY`

, the entity should be one-dimensional (i.e a line) independently of the dimension of the problem. If the SCL is given with `START_POINT`

and `END_POINT`

, the number of coordinates given should match the problem dimension (i.e three coordinates for full 3D problems and two coordinates for axisymmetric or plane problems). Coordinates can be given algebraic expressions that will be evaluated at the time of the linearization. If either a `FILE`

or a `FILE_PATH`

is given, the total, membrane and membrane plus bending stresses are written as a function of a scalar \(t \in [0,1]\). Moreover, the individual elements of the membrane and bending stress tensors are written within comments (i.e. lines starting with the hash symbol `#`

). By default, the linearization uses the Von Mises criterion for the composition of stresses. The definition of what *total stress* means can be changed using the `TOTAL`

keyword. The membrane, bending and peak stress tensor elements are combined using the Von Mises criterion and stored as variables. If no name for any of the variables is given, they are stored in `M_entity`

, `B_entity`

and `P_entity`

respectively if there is a physical entity. Otherwise `M_1`

, `B_1`

and `P_1`

for the first instruction, `M_2`

… etc.

`FINO_PROBLEM`

Sets the problem type that Fino has to solve.

* `BAKE`

(or `HEAT`

) solves the heat conduction problem. * `SHAKE`

(or `MODAL`

) computes the natural frequencies and modes.

`BREAK`

(or `ELASTIC`

) solves the elastic problem.

`HEAT_AXISYMMETRIC`

solves the heat conduction problem in an axysimmetric way.

`PLANE_STRESS`

solves the plane stress elastic problem. `PLANE_STRAIN`

solves the plane strain elastic problem. `ELASTIC_AXISYMMETRIC`

solves the elastic problem in an axysimmetric way. The number of dimensions need to be given for the heat conduction problem.

`FINO_SOLVER`

Sets options related to the eigen-solver.

List of `KSP_TYPE`

s http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPType.html

List of `PC_TYPE`

s http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCType.html

`FINO_STEP`

Solves the linear eigenvalue problem.

`displ_max`

The module of the maximum displacement of the elastic problem.

`displ_max_x`

The \(x\) coordinate of the maximum displacement of the elastic problem.

`displ_max_y`

The \(y\) coordinate of the maximum displacement of the elastic problem.

`displ_max_z`

The \(z\) coordinate of the maximum displacement of the elastic problem.

`fino_abstol`

Absolute tolerance of the linear solver, as passed to PETSc’s `KSPSetTolerances`

Default `1e-50`

.

`fino_dirichlet_diagonal`

Value that is inserted in the diagonal of the rows that correspond to Dirichlet boundary conditions. Default is one, but PETSc internally scales it up automatically to keep a good condition number.

`fino_divtol`

Divergence tolerance, as passed to PETSc’s `KSPSetTolerances`

. Default `1e+4`

.

`fino_gamg_threshold`

Relative threshold to use for dropping edges in aggregation graph for the Geometric Algebraic Multigrid Preconditioner as passed to PETSc’s `PCGAMGSetThreshold`

. A value of 0.0 means keep all nonzero entries in the graph; negative means keep even zero entries in the graph. Default `0.01`

.

`fino_iterations`

This variable contains the actual number of iterations used by the solver. It is set after `FINO_STEP`

.

`fino_max_iterations`

Number of maximum iterations before diverging, as passed to PETSc’s `KSPSetTolerances`

. Default `10000`

.

`fino_penalty_weight`

The weight \(w\) used when setting multi-freedom boundary conditions. Higher values mean better precision in the constrain but distort the matrix condition number. Default is `1e7`

.

`fino_reltol`

Relative tolerance of the linear solver, as passed to PETSc’s `KSPSetTolerances`

. Default `1e-6`

.

`fino_residual_norm`

This variable contains the residual obtained by the solver. It is set after `FINO_STEP`

.

`lambda`

Requested eigenvalue. It is equal to 1.0 until `FINO_STEP`

is executed.

`memory_usage_global`

Maximum resident set size (global memory used), in bytes.

`memory_usage_petsc`

Maximum resident set size (memory used by PETSc), in bytes.

`memory_use`

Total available memory, in bytes.

`petsc_flops`

Number of floating point operations performed by PETSc/SLEPc.

`sigma_max`

The maximum von Mises stress \(\sigma\) of the elastic problem.

`sigma_max_x`

The \(x\) coordinate of the maximum von Mises stress \(\sigma\) of the elastic problem.

`sigma_max_y`

The \(x\) coordinate of the maximum von Mises stress \(\sigma\) of the elastic problem.

`sigma_max_z`

The \(x\) coordinate of the maximum von Mises stress \(\sigma\) of the elastic problem.

`time_cpu_build`

CPU time insumed to build the problem matrices, in seconds.

`time_cpu_solve`

CPU time insumed to solve the problem, in seconds.

`time_cpu_stress`

CPU time insumed to compute the stresses from the displacements, in seconds.

`time_petsc_build`

CPU time insumed by PETSc to build the problem matrices, in seconds.

`time_petsc_solve`

CPU time insumed by PETSc to solve the eigen-problem, in seconds.

`time_petsc_stress`

CPU time insumed by PETSc to compute the stresses, in seconds.

`time_wall_build`

Wall time insumed to build the problem matrices, in seconds.

`time_wall_solve`

Wall time insumed to solve the problem, in seconds.

`time_wall_stress`

Wall time insumed to compute the stresses, in seconds.

`time_wall_total`

Wall time insumed to initialize, build and solve, in seconds. CPU time insumed to initialize, build and solve, in seconds. CPU time insumed by PETSc to initialize, build and solve, in seconds.

`T_max`

The maximum temperature \(T_\text{max}\) of the thermal problem.

`T_min`

The minimum temperature \(T_\text{min}\) of the thermal problem.

`u_at_displ_max`

The \(x\) component \(u\) of the maximum displacement of the elastic problem.

`u_at_sigma_max`

The \(x\) component \(u\) of the displacement where the maximum von Mises stress \(\sigma\) of the elastic problem is located.

`v_at_displ_max`

The \(y\) component \(v\) of the maximum displacement of the elastic problem.

`v_at_sigma_max`

The \(y\) component \(v\) of the displacement where the maximum von Mises stress \(\sigma\) of the elastic problem is located.

`w_at_displ_max`

The \(z\) component \(w\) of the maximum displacement of the elastic problem.

`w_at_sigma_max`

The \(z\) component \(w\) of the displacement where the maximum von Mises stress \(\sigma\) of the elastic problem is located.