- Input
Format free input. Words and no 'magic numbers' in rigidly defined columns are used.

Boundary conditions can be imposed onto at geometrical entities, as well as onto elements and nodes.

- Output/plotting
Output can be printed over user-specified geometrical objects (points, lines, quadrilaterals,...) as well as at nodes.

The history of each variable, and for functions of variables, can be printed over user-specified geometrical objects as well as at nodes.

Interface files can be created for both free and commercial post-processing programs.

- Finite elements
1D, 2D and 3D. Tochnog mostly uses isoparametric elements. There are also springs, trusses and 2D beams however.

Linear simplex elements (2 node bar, 3 node triangle, 4 node tetrahedron). A full family of first to fourth order bar, quadrilateral and brick elements.

- Mesh generation/refining/etc.
Macro regions are automatically divided into finite elements.

Local h-refinement (e.g. using residues in equations).

Global h-refinement (more elements).

Global p-refinement (polynomial refinement).

Remeshing (using residues in equations or element shapes).

Building a totally new mesh. Mapping from old state variables.

- Differential equations (materials)
Convection-diffusion equation:

- Temperature calculations.

Fluids:

- Stokes and Navier-Stokes.

Solids:

- Elasticity (isotropy and transverse isotropy).

- Elasto-Plasticity (Von-Mises, Mohr-Coulomb, Gurson, etc.; plasticity surfaces can be arbitrarily combined).

- Hypo-Plasticity (Von-Wolfersdorf, cohesion, intergranular strains, pressure dependent initial void ratio).

- Damage.

- Thermal stresses.

- Hypoelasticity.

- Viscoelasticity.

- Viscoplasticity.

- Viscosity.

Ground water flow equation:

- Storage equation.

Wave equation.

- Accuracy information
Residues in equations can be printed/plotted.

Error estimates for all data (stresses, forces, temperatures, etc.)

- Interaction analysis
Automatic fluid-solid interaction.

Temperature effects on fluids, solids.

- Contact analysis
Contact with and without friction.

Frictional heat generation.

- Frames of description
Lagrangian, Eulerian, and AEL (arbitrary Eulerian Lagrangian) calculations.

- Types of analysis
Static, quasi-static and dynamic analysis.

- Parallelization
The following functionality is parallized:

- element nodal force calculation.

- contact algorithm.

- mapping of state variables when building a new mesh.

- determination of boundary conditions.

- iterative linear equations solver (diagonal preconditioned biconjugate gradient solver).

- external PetSc linear equations solver (miscelaneous iterative solvers; MPI based parallelisation).

- external SuperLU linear equations solver (direct LU solver; threads and MPI based parallelisation).

- etc.

- Special features
Automatic time-stepping (large steps for good iteration behavior, small steps for bad iteration behavior).

Automatic distribution of tendons over linear finite elements (automatic embedment).

Inverse modeling (estimation of model parameters).

Restart possibility.

Convection wiggle stabilization (both for low and high order elements).

- Costs
Available for free. Including the source.