ZebFront#
Description#
The objective of the ZebFront
preprocessor is to provide a means
of reducing the technical programming tasks involved in material models.
This will hopefully encourage material theorists to implement their
models early in the development process. Resulting code should be of
high enough quality for final implementations as well and therefore
provides a general tool. Eventually, the preprocessor will be able to
provide some symbolic math to reduce the efforts necessary to program
implicit integration methods.
Several applications are envisioned for the preprocessor, each giving a
similar interface (modeling language). As mentioned above, the main
purpose is the creation of material behaviors. This currently applies to
simulation models and FEM material behaviors. Soon, the preprocessor
will be able to construct class definitions based on a generalized
template, thereby allowing the user to create whole class hierarchies
for different applications. Implementation of the template method of
class formatting involves some significant modifications and influences
largely the use of the @SubClass
command. This command should thus
be considered as unfinished; a more complete version will be available
shortly.
The basic functionality of the ZebFront
program may be summarized
by the following figure:
The preprocessor is seen to be composed of a standard Z-set base class
supporting the preprocessor mode, and a corresponding module in the
preprocessor program defining the syntax and directives which are
allowed. ZebFront
is therefore expandable through the addition of
these supporting pairs.
The user (model programmer) then writes a personalized model in a file
suffixed by .z
which is the program source. This source file is a
complete model definition, and does not require any modifications to
other program files. There is also no limit to the number of .z
files in a given user project.
A model seen to be defined by a class definition, and code defining the implementation. The class definition resembles a C++ class and requires that the class derive from a defined class type, which specifies the class type which will be created. Note that different class types may have very different syntax and rules. The allowable modes are summarized below:
CODE |
DESCRIPTION |
---|---|
|
Simulation model (page 3.7). |
|
Presumed non-linear FEM material behavior (page 3.9). |
|
Simulation model derived from a |