ZebFront#
Description#
The objective of the ZebFront preprocessor is to reduce the technical programming effort
required for material models, encouraging material theorists to implement their models early in the
development process. The resulting code should be of sufficient quality for final implementations,
providing a general-purpose tool. In the future, the preprocessor will also offer symbolic math
capabilities to simplify programming of implicit integration methods.
Several applications are envisioned, all providing a similar interface (modeling language). The main
purpose is the creation of material behaviors, currently for simulation models and FEM material
behaviors. Soon, the preprocessor will be able to generate class definitions from a generalized
template, allowing users to create entire class hierarchies for different applications. Implementing
the template method requires significant modifications and largely affects the use of the
@SubClass command, which should be considered unfinished; a complete version will be provided
shortly.
The basic functionality of ZebFront can 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:
Mode |
Description |
|---|---|
|
Simulation model (see SIMUL_MODEL). |
|
Non-linear FEM material behavior (see BASIC_NL_BEHAVIOR). |
|
Simulation model derived from a |