General structure is shown in Fig. 2. First focus attention on the class & object Domain. Generally speaking, it contains the problem 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 (DOF) managers, elements, boundary conditions, cross sections, and materials - these describe the geometry of problem, its constitutive properties, and applied boundary conditions. Services for accessing each of these objects are provided. Domain class & object contains also several Engineering models. These objects represent the type of analysis, which may be invoked. Domain class & object provides services for reading input files, and instantiating corresponding components accordingly. Domain, after reading problem description and performing necessary consistency checks, starts computation by sending appropriate message to Engng model.
Engng model and Numerical method interfaces, shown schematically in top-left frame, will be explained in section 4 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 5 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 one 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. 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 2013-03-10