The most important program structure is shown below:
tn (main routine)
input (read input)
db_initialize (initialize the database)
top (time step loop)
elem (element loop, integration point loop)
general (generic element part)
condif (convection_diffusion equation)
materi (materi equation)
stress (stress evaluation )
plasti (plasticity evaluation)
wave (wave equation)
solve (solve equations)
refine_globally (h- and p-refinement)
refine_locally (local h-refinement)
print (print outpout)
tn_exit (exit tochnog)
Below, all files are listed:
Evaluate area integrals like condif_radiation, condif_convection, and force_element_edge.
Evaluate boundary conditions like bounda_unknown, bounda_force, bounda_time and bounda_sine.
Check validity of data in input file.
clapack routines from netlib.
Evaluate for type -condif whatever is not evaluated in general.cc.
Evaluate contact data like contact_geometry, etc.
Create an element or a node.
Evaluate damage like materi_damage_mazars.
Evaluate control_data_delete and control_data_put.
Specification of properties of items in database and database routines.
Delete an element or a node or the elements and nodes in a geometry.
Routine for Degrees Of Freedom.
Determine material stiffness matrix from materi_elasti_young and materi_elasti_poisson.
Element loop. Called from top.cc.
Evaluate materi_strain_plasti_failure, materi_strain_total_failure and materi_damage_failure.
Evaluate force_element_volume_factor and other force info.
Generic part of different types (condif, wave, materi, etc).
Evaluate geometry data items (like geometry_point, etc.).
Evaluate for type -groundflow whatever is not evaluated in general.cc.
Evaluate element group things like area_element_group and dependency_item.
Hyperelastic laws materi_hyper_besseling and materi_hyper_mooney_rivlin.
Initialise global variables.
Read the input file.
Integration rules (gauss and lobatto).
Calculate intersections (line with line, line with point, etc.).
Evaluate inverse data like inverse_parameter_set, etc.
Evaluate node_locate, etc.
Map element and nodal data from one mesh to another mesh.
Evaluate for type -materi whatever is not evaluated in general.cc.
Generic mathematical routines, like matric-vector operations, etc.
Mesh operation. Update element and node data if a mesh has changed. Add one mesh to another.
Determine nodes in the direct neighbourhoud of a node.
Materi stress plasticity evaluation.
Determine of a point in which element it is located and what the corresponding weightingfactors of the element's nodes are.
Determine an element interpolation functions, its derivatives, etc.
Evaluate post_point, etc.
Print routines for test printing.
Projections (point on line, etc.).
Evaluate a range -ra ... -ra.
Evaluate slide_geometry, etc.
Matrix solver and also eigenvalue calculations.
Materi stress evaluation. Called from materi.cc.
Routine if not sysposix.cc, syssgi.cc.
Specially for posix systems.
Specially for sgi systems.
Highest level routine.
Main loops like inverse iterations, time integration, equilibrium iterations, etc.
Setup and apply tyings.
umat routine to enable usage of abaqus umat.f routines.
User supplied routines.
Evaluate volume_factor and volume_element_factor.
Evaluate for type -wave whatever is not evaluated in general.cc.