# Basics

Stefan Kuntsche

Basic Principles and Work Flow

Important principles To describe the work with the MOSAICmodeling environment the following basic principles need to be mentioned:

• Mathematic expressions are written symbolically so that they can be seen in the environment just as they would appear in a publication on written on paper.
• Equations and functions are created separately and then assembled to equation systems.
• In the same way equation systems can be added to other equation systems.
• Every equation, function and equation system must have a notation that contains an explanation for each symbol used in the mathematical expressions.
• The calculation of an equation system is separated from its creation.
• This makes the equation systems more reusable. In particular:An equation system does not contain any specific values for its variables and parameters.
• An equation system does not contain any information about which are the design variables and which are the iteration variables.
• An equation system does not contain information about the maximum values of indices.
• Such pieces of information are kept in an object called evaluation.

General modeling procedure To build up a new model from scratch you have to adhere to the following procedure.

• Create a notation object containing information for all symbols that you will use.
• Create the equations and assemble them to an equation system. (If necessary, you can sub-divide your model into several equation systems, which can be added to a superior equation system in a second step.)
• If you need functional calculations you can create function objects.
• Instances of function objects can be added into the equation system.
• Once you have created your equation system, create an evaluation object that contains all information necessary to specify a problem to be solved based on the equation system. This step includes-Speci cation of maximum index values (e.g. number of components)-Classi cation of the variables into design and iteration variables.-Giving values to the design variables and parameters, as well as, providing guess values for the iteration variables.
• With all necessary information gathered, create a problem solving program code in one of the languages provided by MOSAICmodeling. Depending on what code generator you used you can either
• compile and execute the code on the solver which allows you to see the results directly in the MOSAICmodeling user interface
• copy the code and use it in your own modeling environment.