TOCHNOG is a free finite element program.
Use the email address below for error reports, questions, wishes, etc. Please enclose a small input file if you report an error.
The GNU GENERAL PUBLIC LICENSE applies. It specifies COPYING conditions and a NO WARRANTY statement. It is included in the last chapter of this manual, and furthermore as a separate COPYING file in each distribution.
Realize that both my own written code and contributed code by others is owned (via copyright) by Dennis Roddeman. I do this with the explicit intention to make the code freely available under the Gnu Public License. It is setup this way because of logistics issues: legal decisions or modifications to the code would become completely unworkable if there were mixed copyrights. However, I want to credit and give thanks to those people that make the effort of creating code by maintaining a ’thanks to ...’ section in the homepage. You can also add ’Programmed by ...’ comments in the code that you contribute. If this is unacceptable for you, then don’t contribute code.
After installation of the source distribution file from the homepage you will find in the tochnog directory the following:
After installation of the Latex distribution file from the homepage you will find in the tn directory the following:
After installation of the html distribution file from the homepage you will find in the tn directory the following:
To create a soft link on Unix to the Tochnog executable use:
If you put your bin directory in your PATH, you can use the Tochnog executable everywhere. As an alternative, you can move the executable to any directory which is part of your PATH.
Create an input file, e.g. problem.dat. The default input file is tn.dat, which will be used if no other input file is specified. Thus the command tochog or tochnog tn.dat yields output on the screen while tochnog tn.dat > tn.out redirects the output to a file. On a Unix system you can run the job in the background with tochnog tn.dat > tn.out &. On a Microsoft windows system you need to run from a Dos shell.
Use the condif1.dat test to get started.
Afterwards do the same for the test repeat1.dat. It is simple, but shows some of the advanced features of TOCHNOG. Finally look at the test repeat2.dat. After that you understand much of the program.
Finally, read at least once the start of the data part section.
You can use GID both for preprocessing (mesh generation) and postprocessing (plotting). An extension of GID is available by the name Tochnog-GID, see the homepage. The use of GID is recommended.
With gnuplot you can plot files resulting from control_print_history and control_print_data_versus_data. Also any other x-y plotting program can be used for such files.
Some other plotting programs can be also be used; see the control_print_* records.
See the links sections at our homepage where to get these programs.
The computational domain is divided into finite elements. The elements connect at nodes. Either one-dimensional (1D), two-dimensional (2D), three-dimensional (3D) or axi-symmetrical (2D) domains can be used. All fields (velocities, stresses, etc.) are assumed to be continuous over the domain! This differs from common finite element programs where quantities like stresses, etc. can show jumps over element borders. This continuity gives a more diffuse but at the same time a more stable numerical scheme. Furthermore it has the advantage that all fields can be stored in the nodes (and not in integration points as in common finite element programs); this leads to a relatively easy implementation of remeshing and refining techniques.
Only first order in time equations are solved. Time derivatives are approximated with Euler backward time discretization.
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 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.
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.
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.
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.
Residues in equations can be printed/plotted.
Error estimates for all data (stresses, forces, temperatures, etc.)
Automatic fluid-solid interaction.
Temperature effects on fluids, solids.
Contact with and without friction.
Frictional heat generation.
Lagrangian, Eulerian, and AEL (arbitrary Eulerian Lagrangian) calculations.
Static, quasi-static and dynamic analysis.
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.
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).
Available for free. Including the source.