General Structure

General structure is shown in Fig. 1. The key class is EngineeringModel representing the problem under consideration. It can contain one or more domains (abstractions for computational mesh) represented by the Domain class. Generally speaking, it contains the domain description, or if the program runs in parallel, then it contains the description of the domain associated with a particular processor or thread of execution. Domain contains and manages lists of degree of freedom managers, elements, boundary conditions, cross sections, and material models - these describe the geometry of the problem, its constitutive properties, and applied boundary conditions. Services for accessing each of these objects are provided. Domain class & object provides services for reading input files and instantiating corresponding components accordingly.

Figure 1: General Structure.
\begin{figure}\centerline{\includegraphics[width=0.7\textwidth]{general.eps}}\end{figure}

Engng model and Numerical method interfaces, shown schematically in top-left frame, will be explained in Section 3. The classes & objects in the left-bottom frame represent the element, material model, and cross section abstractions. Because of their principal importance, a special section 4 will be devoted to a detailed explanation of this frame.

DOF is an abstraction for a single degree of freedom (DOF). It maintains its physical meaning and associated equation number. DOF is the attribute of DofManager. The DofManager manages the collection of DOFs. A typical derived class is class Node, representing a node in a finite element mesh. Boundary condition and Initial condition are abstractions of boundary and initial conditions. They are attributes of Domain and are associated with one or more DOFs. The abstract class Load, derived from base Boundary condition class, is an abstraction for load. It is an attribute of Domain and can be associated with several dof managers or elements, according to the type of loading it represents. The class declares the basic services provided by all derived classes. Derived classes declare specific load type dependent services and implement all necessary services.

Borek Patzak 2018-01-02