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 control_mesh_adjust_geometry.
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.
Evaluate post_calcul.
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 dof_equal.
Evaluate post_error_item.
Evaluate materi_strain_plasti_failure, materi_strain_total_failure and materi_damage_failure.
Evaluate print_filter.
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.
Evaluate control_mesh_macro.
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.
Evaluate materi_membrane.
Evaluate control_mesh_merge.
Mesh operation. Update element and node data if a mesh has changed. Add one mesh to another.
Miscelaneous stuff.
Evaluate control_mesh_new_mesh_region.
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.
Evaluate control_print.
Evaluate control_print_data_versus_data.
Evaluate control_print_gmv.
Evaluate control_print_history.
Evaluate control_print_matlab.
Evaluate control_print_plotmtv.
Evaluate control_print_tecplot.
Projections (point on line, etc.).
Evaluate a range -ra ... -ra.
Evaluate control_mesh_refine_globally.
Evaluate control_mesh_refine_locally.
Evaluate control_mesh_remesh.
Evaluate control_mesh_renumber.
Evaluate control_repeat.
Evaluate control_restart.
Evaluate slide_geometry, etc.
Matrix solver and also eigenvalue calculations.
Evaluate control_mesh_split.
Materi stress evaluation. Called from materi.cc.
Routine if not sysposix.cc, syssgi.cc.
Specially for posix systems.
Specially for sgi systems.
Evaluate tendon.
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 materi_maxwell_chain.
Evaluate materi_viscosity.
Evaluate volume_factor and volume_element_factor.
Evaluate for type -wave whatever is not evaluated in general.cc.