MESHPARTS Add-On for Ansys Documentation











Table of Contents

1     About MESHPARTS. 6

2     Installation of MESHPARTS. 6

3     Uninstalling MESHPARTS. 7

4     Getting started with MESHPARTS. 7

5     The MESHPARTS Concept 8

5.1      Folder structure. 9

5.2      Macro and input files. 9

5.2.1       Validity of parameters 11

5.2.2       Parameters configurations 11

5.2.3       Pilot nodes and model interfaces 12

5.2.4       CAD import 13

5.2.5       Sharing parameters configurations in CAD and Ansys® MAPDL 14

5.2.6       Interface import from CAD. 14

5.3      Model files. 15

5.4      Assembly. 16

5.4.1       Connecting of model components 16

5.4.2       Positioning of model components 16

5.4.3       Assembling of interfaces 17


6.1      Working with MEHPARTS GENERATOR. 18

6.2      What happens when a component is generated. 20

6.3      Working with parameters configurations. 20

6.4      Macro File Linking. 21

6.5      Key shortcuts. 21

6.6      Tutorials. 22


7.1      Working with MESHPARTS ASSEMBLER. 23

7.2      What happens when a component is assembled. 24

7.3      Defining components offsets. 25

7.4      Renaming model interfaces. 25

7.5      Model File Linking. 26

7.6      Key shortcuts. 26

7.7      Tutorials. 26


8.1      The graphical user interface EXTMSUP. 27

8.1.1       The field “New I/O Node” 28

8.1.2       The fields „Input und Output Nodes“ 29

8.1.3       The field „Edit“ 29

8.1.4       The field „Damping“ 29

8.1.5       The field „Main“ 29

8.2      Further processing in Matlab. 30

8.2.1       Die Funktion extmsup_read. 31

8.2.2       Die Funktion extmsup_chgdmp. 32

8.2.3       Die Funktion extmsup_ss 32

8.2.4       Die Funktion extmsup_info. 33

8.2.5       Die Funktion EXTMSUP. 34

8.3      Examples. 34

8.3.1       Example „Beam“ 34

8.3.2       Example „Spring-Mass“ 37

8.4      Tutorials. 39


9.1      The graphical user interface SUBSTRUCT. 40

9.1.1       Super Elements group. 40

9.1.2       Solve Macro group. 41

9.1.3       Main Buttons group. 41

9.2      Working with MESHPARTS SUBSTRUCT. 41

9.3      Tutorials. 42


10.1       Optimierung mit Fertigungsrestriktionen. 44

10.1.1        Symmetriebedingungen. 44

10.1.2        Beispiel zur Optimierung mit zwei symmetrischen Lastfällen in TOPOAD: Brücke  45

10.1.3        Metaelemente. 46

10.2       Die graphische Benutzeroberfläche. 47

10.3       Die APDL-Befehle. 47

10.4       Testfall – Biegebalken (statisch). 48

10.5       Testfall – Biegebalken (modal). 49

10.6       Tutorials. 50

11      MESHPARTS CT. 51

11.1       The Setup tab. 51

11.1.1        The Database group. 51

11.1.2        The Record File group. 51

11.1.3        The Nodal Grid group. 52

11.1.4        The Machine Data group. 52

11.2       The Blocks tab. 52

11.2.1        The Types group. 53

11.2.2        The Parameters group. 53

11.3       The In/Out tab. 54

11.4       Tutorials. 54

12      Tutorials. 54

13      Contact 54

14      License agreement for the software MESHPARTS. 56


14.2       DELIVERY AND SCOPE. 56


14.4       RESTRICTIONS. 57

14.5       OWNERSHIP. 57

14.6       LIMITED WARRANTY. 57



15      Lizenzvereinbarung für die Software MESHPARTS. 58




15.4       EINSCHRÄNKUNGEN. 60

15.5       EIGENTUMSRECHTE. 60





1      About MESHPARTS

The purpose of MESHPARTS is manly to extend existing FEM Software with Component Based Finite Element Modelling functionality.

At the moment supported FE-Software is Ansys®. The MESHPARTS component oriented functionality is implemented through two user friendly graphical interfaces:

§  GENERATOR: automatic generation of parametric finite element components

§  ASSEMBLER: automatic assembly of finite element components

Further software modules within MESHPARTS are:

§  SUBSTRUCT: fast component based top-down or bottom-up substructuring

§  EXTMSUP: component based modal reduction and export to Matlab/Simulink

§  CT: parametric controller modelling in FEM with support for industrial controllers

§  TOPOAD: topology optimization with Metaelements

2      Installation of MESHPARTS

The MESHPARTS Installer is delivered as an executable file. The supported operating systems are currently Windows XP, Vista and 7 (32 or 64 bit).

Before installing MESHPARTS on your computer please make sure that you have pre-installed Ansys®.

The MESHPARTS Installer provides a graphical user interface where you can choose the installation directory, see Fig. 1. It is highly recommended to choose a short path such as the root of one of your hard drives (C:/). In a second field the Ansys® installation path will be shown. If you have more than one Ansys® release installed then you can choose one of them from the drop-down menu of the path field.

Before installing MESHPARTS on your computer, you have to accept the licence agreement shown in the MESHPARTS Installer by clicking in the check button „Yes, I accept“.

During the installation some processing information is displayed in the graphical user interface. The MESHPARTS Installer will create/change the folder MESHPARTS at the location provided by you. Furthermore the environment variables Ansys®_MACROLIB and MESHPARTS_PATH are created or changed.


Fig. 2.1 MESHPARTS Installer

3      Uninstalling MESHPARTS

The software MESHPARTS can be uninstalled from the Start Menu Programs and selecting Uninstall from the MESHPARTS folder. Alternatively you can run MESHPARTS-Uninstaller.exe from the MESHPARTS installation directory.

4      Getting started with MESHPARTS

After installing the MESHPARTS Add On for Ansys® on your computer a new program folder in the start menu is available, see Fig. 4.1.

The shortcut MESHPARTS starts the MESHPARTS GUI in a stand-alone mode. Model generation and assembling is performed as batch process. This is a very advantageous when you have limited number of FEM software licenses, as the FEM software license is exclusively used for model generation and not for visualization.

Another use of the MESHPARTS Add On for Ansys® is the add-on mode for Ansys®. Start Ansys® Mechanical APDL and click on the MESHPARTS button of the user defined toolbar, see Fig. 4.2.

The shortcut MESHPARTS-Online leads you to the website of MESHPARTS Here you can parametrically generate and download FE models of mechanical components, which can then be assembled with the MESHPARTS Add On for Ansys®.

In both stand-alone and add-on mode you will see the same graphical user interface depicted in Fig. 4.1.

At the top edge of the MESHPARTS GUI four tabs are available: GENERATOR, ASSEMBLER, ONLINE LIBRARY and ADDITIONAL MODULES. Browsing through these tabs enables you to quickly access the complete software suite of MESHPARTS.


Fig. 4.1 The MESHPARTS program menu




Fig. 4.2 The MESHPARTS start button in the Ansys® MAPDL toolbar


Fig. 4.1 The MESHPARTS Graphical User Interface (GUI)

5      The MESHPARTS Concept

Creating complex Finite Element (FE) models consisting of many components, where some of them are repeating, e.g. FE models of machine tools, robotic handling systems and other complex mechanical systems, is a time consuming and defective process. Although many of the components of complex mechanical systems are similar (linear guides, ball screw drives, bearings, drives etc.) the reusability of such FE models is very low.

The idea behind MESHPARTS is to provide Component Oriented Finite Element Modelling for complex mechanical systems such as machine tools or handling systems. By dividing a multicomponent structure in subcomponents we only have to deal with simpler FE models which are easier to handle and reuse (MESHPARTS GENERATOR). Standard mechanical components such as linear guides, ball bearings, servo drives, spindle nut drives are already available as parametrical FE model in the online and interactive library Then MESHPARTS ASSEMBLER provides functionality for automatically assembling model components to more complex structures by using a bottom-up modelling technique, see Fig. 5.1.

Fig. 5.1 Component oriented workflow with MESHPARTS

Modelling with MESHPARTS can be divided in the following main steps:

1.    Folder structure

2.    Macro files (*.ans) or other sources (*.db, *.wbpj)

3.    Model files (*.cdb)

4.    Assembly

In the following these main steps are presented in more detail and exemplified. Examples and tutorials can be found in the MESHPARTS installation directory MESHPARTS\Help.

5.1   Folder structure

The folder structure defines a hierarchical model structure. Each folder stands for a specific component. A subfolder stands for a subcomponent.

Each folder name stands for the component name. Component names must only contain letters of the Latin alphabet (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) and/or positive integer numbers (0, 1, 2, 3, …, 9). Positive integer numbers are allowed only between first and last letter of the component name. Due to Ansys® restrictions regarding the maximum length of strings, the component name should not be longer than 28 characters. A good practice is to choose component names not longer than 14 characters.

The alphabetical order of folders on the same hierarchical level defines the order in which the components are assembled. Since the order in which components are assembled is very important you can change the standard alphabetical order by prefixing folder names by a two digit integer followed by an underscore (e.g. 01_, 02_, 03_ etc.).

5.2   Macro and input files

The macro files (*.ans) and input files (*.wbinp) are used to generate the model files (*.cdb). Macro files (*.ans) are manually written in APDL (see below).

Input files (*.wbinp) are automatically written from Ansys® Workbench. For this purpose you can find a customized menu in Ansys® Workbench after installing MESHPARTS, see Fig. 5.2. Currently the exporting system must contain a “Solution” container.

Fig. 5.2 MESHPARTS menu in Ansys® Workbench

Model files can also be automatically generated from data base files (*.db).

Generating model files from macro files gives the possibility of using APDL for parametric model generation. For this purpose the MESHPARTS GENERATOR GUI provides a very easy way of defining and changing parameters for the macro files. 

The name of each macro file must begin with the component name, which is also the name of the folder containing the component. In order to differentiate between different versions of the same component, the macro file name can be extended with an underscore and a version name. For example: linearguide.ans, linearguide_v1, linearguide_v2, linearguide_3D.ans, linearguide_3D_v1.ans etc.

The macro files have a predefined structure and an example can be found in the MESHPARTS installation directory, see MESHPARTS\macrofile_example.ans. This example should be used as a draft for all other macro files.

The inner structure of the macro file is based on the Ansys® user library structure, which is actually a collection of APDL macros. The MESHPARTS macro files consist of a main macro from which six other sub macros are called:








The MESHPARTS GENERATOR can pass up to 18 APDL arguments to the MAIN macro of each model file. The macro arguments are called arg1, arg2 …, arg9, ar10, ar11 …, ar18. The use of macro arguments in the MAIN macro should be:

parametername=argumentname ! comment [units] {type range}

As an example, if you would like to specify the value of the parameter length through the graphical user interface of MESHPARTS GENERATOR then place

length=arg1/1000 ! length of block [mm] {integer >0}

in the MAIN macro of your macro file. If you use more than 9 arguments, then take into account that you have to use ar10, ar11 …, ar18 and not arg10, arg11 …, arg18.

The six sub macros listed above provide regularity during the creation of macro files and maintain a high level of flexibility. The DEFINEGEOMETRY macro should define Ansys® geometry entities such as keypoints, lines, areas or volumes. Universal files can also be imported here. The DEFINEPROPERTIES macro should define element types, material properties, real constants, section properties. The ASSIGNPROPERTIES macro is meant for assigning material and mesh size properties to the geometry entities and could contain for example KATT, LATT, AATT or VATT, LESIZE commands. The GENERATEMESH macro should define the finite element entities such as nodes and elements and all other related information. The DEFINECOMPONENTS macro is intended to define node and element sets (see APDL command CM), which are of special interest during the solution or post processing phase. Finally the INTNODES macro defines the MESHPARTS nodal sets, which represent the interface nodes to other components.

Once created, macro files can be linked into other folders. In this way changes made to the original macro file are automatically updated. Another advantage of macro file links is that you can build your own library of parametrical components. For this purpose it is recommended to use the predefined folder MESHPARTS\StandardComponents.

5.2.1   Validity of parameters

If you would like to have your parameters input to be checked for validity place at the end of your parameter comment a validity expression enclosed by curly braces defining the type and range of the parameter. Typical validity expressions are listed in Table 1.

Table 1 Typical expressions for parameter validation

Parameter Type

Validity expression



positive integer

{integer >0}

negative integer

{integer <0}

integer between 0 and 2

{integer >=0 <=2}

one of the integers

{integer 5,9,20}

integer range with steps of 1

{integer 1:100}

integer range with steps of 10

{integer 1:10:100}



positive real

{real >0}

negative real

{real <0}

one of the reals

{real 5,9,10.5}

real range

{real 0.1:2.0}

real range with discrete steps

{real 0.1:0.1:2.0}

alphanumeric string (up to 32 characters enclosed in single quotes)


one of the strings

{string ‘flexible’,’rigid’}

component name (see 5.1)


parameter relation

{integer >Di <=Da}

parameter relation with equation

{integer >0 <=(Da-Di)/2}


5.2.2   Parameters configurations

In some cases the number of parameters needed for creating a model file is higher than the maximum number of APDL macro parameters, which is 18. At the same time more parameters can be grouped together to parameters configurations, thus simplifying the input of model configurations.

Parameters configurations can be defined in Excel-Tables or CSV tables with special format, so called “feature files” (German: Merkmaldateien, file extension *.TAB).

MESHPARTS can read Excel or TAB files automatically, when a model file is generated. In order to accomplish this, a line of code must be inserted in the MAIN part of the macro file:

~eui, meshparts::ReadExcelConfig Coupling.xlsx %config% 

The Excel-File Coupling.xlsx should be formatted similar to the example in Fig. 5.3. The first row of the Excel table contains the names and units of parameters. The first column contains the configurations names. One of the configuration names is included in the import command shown above. The configuration name must be enclosed by two percent characters.

Optionally the parameters configurations can be defined in the Excel file in different sheets. In that case the sheet number (integer) or name (string) can be provided to the import command:

~eui, meshparts::ReadExcelConfig Coupling.xlsx %config% %sheet% 


Fig. 5.3 Definition of parameters configurations in Excel

Finally the configurations name and optionally the sheet number or name must be declared as APDL macro parameters before the import command. In our example:

config=arg1 ! configuration name [] {string}

sheet=arg2 ! sheet name [] {string}

~eui, meshparts::ReadExcelConfig Coupling.xlsx %config% %sheet% 

5.2.3   Pilot nodes and model interfaces

Assembling model components with MESHPARTS generally requires the definition of pilot nodes and model interfaces. Pilot nodes are needed for positioning model components relative to each other. Model interfaces are needed for connecting model components to each other. Pilot nodes and model interfaces are nodal sets named after a special convention. See chapters 5.4.1 and 5.4.2 for more details on that.

MESHPARTS provides an APDL macro for simplifying the definition of pilot nodes and model interfaces: AD_INTNODE.MAC. The description of this macro can be found online at An example for the use of this macro can be found in the MESHPARTS installation directory in the macro file MESHPARTS\AssembledComponents\Examples\Blechmodell\01_Bett\01_Bettkoerper\ Bettkoerper.ans.

Another way of defining pilot nodes and model interfaces is by defining named elements and coordinate systems in a CAD model, e.g. SolidWorks® part. See chapter 5.2.6 for more details on that.

5.2.4   CAD import

The MESHPARTS Add On for Ansys® provides automatic CAD model update. This feature is very useful when complex geometric entities are first generated with the help of specialized CAD software (such as SolidWorks®), then exported to an universal file format (such as Parasolid) and finally imported into Ansys® Mechanical APDL. These three steps can be performed automatically by MESHPARTS GENERATOR. For this purpose following rules must be taken into account:

§  The supported CAD files are currently of type SLDPRT (SolidWorks® Parts).

§  The supported CAD universal format is Parasolid and ACIS (ending X_T and SAT).

§  The CAD files must lie in the same folder as the universal format files.

The name of the CAD universal format file must begin with the name of the CAD file and end with an optional configuration name, in which case an underscore must be used for separation.

These file naming rules are exemplified in the following.

Suppose you have a macro file Guide_v1.ans, which imports the Parasolid Guide_v1_long.x_t exported from Guide_v1.sldprt. In this case “v1” is the version name and “long” is the configuration name. The CAD file Guide_v1.sldprt should provide at least one configuration with the name “long”. In order to import the Parasolid file Guide_v1_long.x_t into Ansys® Mechanical APDL place the following command line into the submacro GENERATEGEOMETRY of the macro file Guide_v1.ans:


If more than one macro file share the same CAD file then do not use any version name in the name of the CAD file. For example if Guide_v1.ans and Guide_v2.ans use the same CAD file, then the CAD file name should be Guide.sldprt. Furthermore the CAD file could provide more than one configuration, e.g. “long” and “short”. In this case you should specify in the macro file which configuration should be imported, e.g.:




The configuration name could also be specified by a parameter name of type string:



The recommended method is to specify the configuration name through a macro argument with validity checking:

config=arg1 ! configuration name [] {string ‘long’,’short’}


If you do not specify the configuration name, then the last active configuration will be imported:


If the Parasolid file is not available, it will be automatically generated, if the corresponding CAD file is available. If the Parasolid file is available but older than the corresponding CAD file, it will also be automatically updated. This task can only be performed, if the required CAD software (currently only SolidWorks®) is installed on your system. If you are using other CAD software that SolidWorks® please contact MESHPARTS.

The coordinate system used for exporting Parasolid and ACIS files defaults to the origin of the CAD model. If a user defined coordinate system named “Export” is available in the CAD model, then this system will be used instead.

5.2.5   Sharing parameters configurations in CAD and Ansys® MAPDL

When a macro file is using a parametric CAD model it can be advantageous to share parameters configurations. CAD systems such as SolidWorks® or ProEngeneer® are capable of reading parameters configurations defined in Excel tables. In SolidWorks® the format of the Excel file is similar to the format described in chapter 5.2.2. The parameters names must match the parameters used in the SolidWorks® model and always contain the @ character, see Fig. 5.4.

Furthermore user defined parameters which are not necessary related to a geometric property of the CAD model (e.g. Poisson ratio) can also be included in the Excel file. In this case and according to the SolidWorks® user manual, the parameter name must begin with $PRP, as shown in the cell D1 of the Excel table in Fig. 5.4.

Provided these rules, the same Excel table with parameters configurations can be used in SolidWorks® and macro files.

In Ansys® Mechanical APDL parameters cannot contain special characters and therefore all special characters of the SolidWorks® parameters (e.g. @ and $) are automatically replaced by underscore characters by MESHPARTS GENERATOR. This must be taken into account when same parameters are referred in the macro file (e.g. _PRP_B3 must be used instead of $PRP@B3).


Fig. 5.4 Defining shared parameters configurations for SolidWorks® and MESHPARTS

5.2.6   Interface import from CAD

Assembling model components with MESHPARTS generally requires the definition of model interfaces. When CAD models (currently SolidWorks® parts) are imported from within a macro file, the CAD model is checked for “named elements” and user defined coordinate systems.

Named elements can be curves or surfaces (see SolidWorks® Help). In Fig. 5.5 you can see an example of a named element “LAGERSITZ_1”. An example of a user defined coordinate system in SolidWorks® can be seen in Fig. 5.6.

If any of these entities (named elements or user defined coordinate systems) are found, MESHPARTS will write related information to a *.int file. Importing this information into Ansys® MAPDL has to be explicitly requested in the macro file by the following command:

~eui, meshparts::DefineInterfaces

This command should be placed in the DEFINECOMPONENTS sub-macro. You can find an example in the MESHPARTS installation directory at MESHPARTS\SpecialComponents\Examples\Endstueck.

MESHPARTS will then automatically define corresponding line and area sets (CM command) after the geometry import. Furthermore MESHPARTS will define a FE node for all user defined coordinate systems (excepting “Export”) available in the CAD model. The new node will match the location and orientation (nodal system) of the coordinate system from the CAD model. Additionally the name of the coordinate system from the CAD model is translated into a nodal set (CM command) with the same name.

It is a good practice to choose names which are valid as MESHPARTS interface names, see

Fig. 5.5 Named elements in SolidWorks®

Fig. 5.6 User defined coordinate system in SolidWorks®

5.3   Model files

The model files are automatically written by the MESHPARTS GENERATOR in the Ansys® CDB format. The CDB format is version independent and easy to read or edit due to the ASCII format. Model files (*.cdb) contain only FE information (nodes, elements, materials, boundary conditions etc.). Solid geometry information such as keypoints, lines, areas and volumes are not saved in the model file. This allows for moving, rotating and cloning the components during the Assembling step. Furthermore the size of the model files remains small.

The MESHPARTS GENERATOR automatically prefixes any user defined nodal or element sets with the component name before writing the model file. For example, if you create the nodal set mesurepoint from within the component linearguide then the MESHPARTS GENERATOR will rename it to linearguide_measurepoint. This is necessary in order to avoid overwriting of nodal sets when different components are assembled.

Finally the MESHPARTS GENERATOR writes a specific header into the model file with various data such as: name of the macro file, macro arguments, model size and generation date.

Once created, model files can be linked into other folders. In this way changes made to the original model file are automatically updated. Another advantage of model file links is that you can build your own library of model files. It is recommended to use the predefined folder MESHPARTS\StandardComponents for this purpose.

5.4   Assembly

The assembling of the model files (*.cdb) is automatically done by the MESHPARTS ASSEMBLER. The MESHPARTS ASSEMBLER provides the possibility of offsetting, rotating or cloning components prior to their assembly to more complex components. Common difficulties related to direction depending properties (e.g. springs, constraint equations etc.) which are not updated by Ansys® when rotating FE models have been solved in MESHPARTS by specialized routines.

The assembly of one or more components is performed basically in tree main steps:

1.    Search of Interfaces

2.    Positioning of components

3.    Assembling of interfaces

5.4.1   Connecting model components

The MESHPARTS ASSEMBLER starts by searching model interfaces (user defined nodal sets with special names). The naming rule for nodal sets marking interfaces is a string composed of two component names and one positive integer, all separated by underscore. As an example, suppose we want to assemble two components named PartA and PartB and that the two components share two different interfaces. “Different” means in the context of interfaces, that the underlying elements are of different types. The user must then define two nodal sets in each component: PartA_PartB_1, PartA_PartB_2 and PartB_PartA_1, PartB_PartA_2 respectively.

Before the search of interfaces is performed, MESHPARTS ASSEMBLER will rename the predefined nodal sets. Renaming is necessary in order to prevent nodal set overwriting when more than one component instance is assembled. In our example the four nodal sets are renamed to PartA1_PartB1_1, PartA1_PartB1_2 and PartB1_PartA1_1, PartB1_PartA1_2 respectively. If the user changes the number of instances of the second component from 1 to 2, then the second instance of component PartB will have following nodal sets: PartB2_PartA1_1, PartB2_PartA1_2. The MESHPARTS ASSEMBLER tries to find the most logical renaming scheme, depending on the number of component instances required. The user can overwrite this automatic renaming scheme by user defined renaming of interfaces (see chapter 7.4).

5.4.2   Positioning of model components

Components are positioned relative to each other or relative to the absolute coordinate system. In order to position two components relative to each other,  each component should contain a so called pilot node, which in MESHPARTS is a nodal set containing a single free (no elements attached) node.

The name of the pilot node follows the same naming rule of interface nodal sets (see 5.4.1) with the exception that the last index must be zero. In our example the user defines in each component the nodal sets PartA_PartB_0 and PartB_PartA_0 respectively.

In a first step, the components are positioned by MESHPARTS ASSEMBLER such that the pilot nodes are matching in position and orientation. The orientation of each pilot node is defined by its nodal coordinate system. In a second step six user defined offsets and rotations are applied to the component being positioned. The user offsets are expressed in the component coordinate system.

5.4.3   Assembling of interfaces

The MESHPARTS ASSEMBLER is able of automatically assembling most of the common interface types found in structural finite element problems. In most cases contact and target elements of proper type are defined (line-line, line-surface, surface-surface). In some special cases interface nodes are merged, even if the interface nodes are not coincident. This is done, when at least one interface is built with line elements (e.g. so called spider web, which is often found in FE models of machine tools).



The graphical user interface of the MESHPARTS GENERATOR is depicted in Fig. 6.1. It consists of following groups:

§  Available configurations: List of used configurations, sorted by “change date”.

§  Configurations browser: Search computer drives for new configurations.

§  Configurations toolbar: Define, delete save, open a configuration.

§  Model browser: Shows content of active configuration.

§  General toolbar: Open, Test or Generate selected components.

§  Macro parameters: Shows macro parameters of selected component.

§  Symmetry parameters: Shows symmetry parameters for selected component.

§  Parameters toolbar: Copy and Paste macro parameters between different components

§  Info window: View, Copy and Save changes to the content of a selected macro file.

Fig. 6.1 Graphical user interface of the MESHPARTS GENERATOR

6.1   Working with MEHPARTS GENERATOR

A typical MESHPARTS GENERATOR working session starts with defining a folder structure for your component oriented finite element model, see chapter 5.1.

If you are working for the first time with the MESHPARTS GENERATOR you can find a predefined folder structure in the installation directory in Assemblies\Examples\Klotzmodell.

Start the MESHPARTS GUI in either stand-alone mode or add-on mode and click on the tab “GENERATOR”. You will see the GUI as shown in Fig. 6.1.

In the Configurations Browser, browse to a folder where you want to define a new model configuration. Check if this folder already contains a configuration. MESHPARTS configurations are text files with the extension .mpc (Mesh-Parts-Configuration). MESHPARTS configurations are marked in the browser with a red star ( ).

Select the folder in the Configurations Browser, where a new configuration should be defined and click the button  in the Configurations Toolbar. A new window will pop-up and you can input a new configuration name. Confirm with “OK”. Configurations with the same name in the same folder will be overwritten.

The new configuration name is now also displayed in the “Available Configurations” window.

You can extend and change the model folder structure by using the context menu when a folder (Fig. 6.2) or file (Fig. 6.3) is right clicked.

Fig. 6.2 Context menu for folders

Fig. 6.3 Context menu for files

In the context menu you can also choose "New macro file". The action following depends on whether you right clicked on a folder or on a macro file. In the first case a new standard macro file will be generated. In the second case a copy of the clicked macro file will be created. The function “New macro file” can also be accessed from the context menu of the Windows Explorer, see Fig. 6.4.

The created folder structure is displayed in the “Components Browser”. Folders are red, files are green. If your models are defined through macro files (*.ans) then you can review each macro file by clicking on it. Macro and symmetry parameters are shown to the right of the Components Browser. Empty macro parameter fields are highlighted in red.

If provided by the macro file, a tooltip with parameter description and validity (see chapter 5.2.1) is shown when hovering with the mouse over a parameter name or value respectively.

In the Components Toolbar you have various possibilities to filter the content of your Components Browser. The Filter entry can be used to input wildcards and text to filter out the content of the Components Browser. You can also use the predefined filter keywords “lev 1”, “lev 2”, “lev 3” etc. in order to only show components belonging to first, second, third etc. level of the components tree. Furthermore the radio buttons “ans”, “db” and “wbpj” can be used to show the type of files to be used for component generation (cdb files).

As a last step you can click on Test or Generate in the Components Toolbar in order to generate the components from selected ans, db or wbpj[1] files. Please notice that only elements of the Components Browser that are selected through the check buttons are considered when clicking on the buttons of the Components Toolbar. Alternatively you can right click on a component in the Components Browser and choose one of the actions Open, Test or Generate.

Both Test and Generate buttons will generate the finite element component but only the Generate button will also save the component as a cdb file. If you are not sure that your macro file is free of bugs you should first click on Test, check the Ansys® error file (file.err), eventually debug your macro file and then use the Generate button.

Fig. 6.4 Defining a new macro file in the Windows Explorer

6.2   What happens when a component is generated

When a component is generated with the Help of MESHPARTS GENERATOR some actions such as renaming or definition of nodal sets are performed automatically.

All nodes and elements sets are prefixed with the name of the generated component, if not already done by the user. It is a good practice to let MESHPARTS do the prefixing; otherwise renaming the file with another component name would also require to manually renaming the prefix of the nodes and elements sets.

A new nodal set containing one single node with number 1 is defined. The nodal set name is composed of the component name and the suffix _REF. This nodal set is internally required by MESHPARTS.

A new nodal set containing one single node at the origin of the global coordinate system is defined. The nodal set name is composed of the component name and the suffix _ORIG. This nodal set is internally required by MESHPARTS.

If the generated component does not contain any real constants, then a dummy real constant with number 1 is automatically defined. It has been observed that in some cases Ansys® causes an error if no real constant is defined.

If the generated component does not contain any sections, then a dummy section with number 1 is automatically defined. It has been observed that in some cases Ansys® causes an error if no section is defined.

6.3   Working with parameters configurations

As already introduced in chapter 5.2.2 parameters configurations can be defined in Excel or TAB tables and automatically read by MESHPARTS when a model file is generated from a macro file.

The MESHPARTS GENERATOR GUI automatically detects such cases and provides an easy way to select the configuration, see Fig. 2.1. By double-clicking on the parameter field which represent the parameters configuration name, the corresponding Excel or TAB file is automatically read and a selection window is shown. One or more (holding down CTRL) configurations can be selected. Finally the selection is confirmed by clicking on the OK button and the selected configurations are inserted into the parameter field.

Fig. 6.5 Selecting a specific parameters configuration

6.4   Macro File Linking

Macro files used by MESHPARTS GENERATOR can also be referenced from another folder path using symbolic links pointing to the original macro file. This is called Macro File Linking. In Windows OS Macro File Linking is done by simply copying the original Macro File and then right clicking into the new folder path and choosing “Insert shortcut” from the context menu. Macro File Links (.ans.lnk) can be renamed. Model Files (.cdb) generated from Macro File Links reside in the path of the Link and the name of the generated Model Files will correspond to the name of the Macro File Link.

In the MESHPARTS GUI you can choose "Copy" and "Paste" from the context menu in order to quickly create Macro File links.

Macro File Linking enables you to have a Macro Library in a central path (such as C:\MESHPARTS\StandardComponents) and reuse these Macros anywhere else.

If a linked Macro File is using Parameter Configurations (see Chapter 5.2.2) or CAD Import (see Chapter 5.2.4) with relative import file paths, then the import files (such as Excel or SolidWorks® files) are first searched in the path of the Macro File Link and then in the path of the original Macro File.

For more general use of linked Macro Files with import files you can also use wild cards (such as *) in the relative path of the import file. The first matching file will then be used:

~eui, meshparts::ReadExcelConfig *.xlsx %config% 

6.5   Key shortcuts

General window context:

CTRL+N        Define a new configuration.

CTRL+S        Save the active configuration.

CTRL+O        Open the active configuration file (*.mpc) with the standard text editor.

Del               Delete the active configuration.

F1                Start the MESHPARTS Help (MESHPARTS-Help.pdf).

F5                Refresh the components browser.

Macro preview window context:

CTRL+A        Select all text.

CTRL+C        Copy selected text.

CTRL+S        Save changes made to the macro file.

Model tree context

CTRL+O        Open selected files or folders with the external standard program.

F2                Rename selected files or folders.

Del               Delete selected files or folders.

CTRL+M        Define a new macro file at selected locations.

CTRL+F        Define a new model folder at selected locations.

CTRL+C        Copy selected macro files.

CTRL+V        Paste copied macro files at selected locations.

6.6   Tutorials

You can find more about working with MESHPARTS GENERATOR in the tutorial MESHPARTS\Help\Generator\Klotzmodell. A simple component based model can be found at MESHPARTS\AssembledComponents\Examples\Klotzmodell. A more detailed model can be found at MESHPARTS\AssembledComponents\Examples\Blechmodell.



The graphical user interface of the MESHPARTS ASSEMBLER is depicted in Fig. 7.1. The MESHPARTS ASSEMBLER is structured very similar to the MESHPARTS GENERATOR. However the right field of the MESHPARTS ASSEMBLER shows component specific information: number of the active component instance, offsets and rotations of the active component instance and component preview. Furthermore the Info window shows the header of the model file (*.cdb). Also the general toolbar provide different functions.

The graphical user interface of the MESHPARTS ASSEMBLER consists of following groups:

§  Available configurations: List of used configurations, sorted by “change date”.

§  Configurations browser: Search computer drives for new configurations.

§  Configurations toolbar: Define, delete save, open a configuration.

§  Model browser: Shows content of active configuration.

§  General toolbar: Assemble selected components, Save Contact settings of active component, Refresh all grey components, Repair cdb files generated by Ansys® Workbench.

§  Model settings: Changes offsets and rename interfaces of selected model.

§  Model preview: Fast preview of model without loading into workspace.

§  Info window: View header of selected model file.

Fig. 7.1 Graphical user interface of the MESHPARTS ASSEMBLER

7.1   Working with MESHPARTS ASSEMBLER

Before using the GUI of MESHPARTS ASSEMBLER you have to define a folder structure for your component oriented finite element model, see chapter 5.1. In most of the cases you already defined a folder structure with MESHPARTS GENERATOR, see chapter 6.1.

If you are working for the first time with the MESHPARTS ASSEMBLER you can find a predefined folder structure in the installation directory at MESHPARTS\Help\Assembler\Klotzmodell.

Start the MESHPARTS GUI in either stand-alone mode or add-on mode and click on the tab “ASSEMBLER”. You will see the GUI as shown in Fig. 7.1.

Already defined configurations are listed in the "Available configurations" window. Activate one of these by double-clicking it. If you want to define a new model configuration perform the steps described in chapter 6.1.

The folder structure is displayed in the “Components Browser”. Folders are red, model files are blue (*.cdb). You can review each model by clicking on it. Component settings are shown to the right of the Components Browser. Here you can change components offsets and interface names.

You can right click on a component in the Components Browser and choose one of the context actions:

§  Assemble: Assemble new model.

§  Refresh: Regenerate or reassemble selected models.

§  Load: Load selected component model into the Ansys® workspace.

§  Plot: Plot selected components if available in the Ansys® workspace.

§  Select: Select finite elements and nodes belonging to selected components if available in the Ansys® workspace.

§  Open: Open selected files of folders with the external standard program.

§  Delete: Delete all files belonging to selected components (cdb, png, wrl and cnt files are deleted)

§  Transfer parameters: Transfer parameters of model file to the corresponding macro file in the MESHPARTS GENERATOR.

Fig. 7.2 Context menu for files

Fig. 7.3 Context menu for folders

In the Components Toolbar you have various possibilities to filter the content of your Components Browser. The Filter entry can be used to input wildcards and text to filter out the content of the Components Browser. You can also use the predefined filter keywords “lev 1”, “lev 2”, “lev 3” etc. in order to only show components belonging to first, second, third etc. level of the components tree.

As a last step you can click on Assemble in the Components Toolbar in order to assemble on new model from selected model files (*.cdb). Please notice that only elements of the Components Browser that are selected are considered when clicking on the button Assemble or Refresh of the Components Toolbar.

7.2   What happens when a component is assembled

When a component is assembled with the Help of MESHPARTS ASSEMBLER some actions such as renaming or definition of nodal sets are performed automatically.

New contact elements are used to assemble components. After assembling a component, you can check ore change new defined components with the help of the Ansys® contact manager. Changes to the contact elements can be saved by clicking on the button “Save Contact” in the components toolbar of the MESHPARTS ASSEMBLER.

If at least one nodal interface is built as a “spider web” then the nodes of the interface are moved such that they are coincident with the nodes of the other interface. Finally coincident node pairs are merged.

A new nodal set containing one single node with number 1 is defined. The nodal set name is composed of the component name and the suffix _REF.

A new nodal set containing one single node at the origin of the global coordinate system is defined. The nodal set name is composed of the component name and the suffix _ORIG.

7.3   Defining components offsets

FE model components are automatically positioned such that pilot nodes pairs are coincident (position and orientation). In addition user defined offsets can be defined for each model component individually. Six component offsets for each structural degree of freedom are displayed in a small field to the left of each component instance (see Model Settings window, Fig. 7.4). The three translations are expressed in models length units and the three rotations are expressed in degrees. The order when applying rotation offsets is Z (XY), X (YZ), Y (ZX).

Fig. 7.4 Defining component offsets

Finally it is important to notice, that component offsets are relative to the nodal coordinate system of the components pilot node. The orientation of the components pilot node can change in the previous step of matching pilot nodes orientations, which is done automatically by MESHPARTS ASSEMBLER, see Chapter 7.2.

7.4   Renaming model interfaces

Very often interfaces of models must be renamed prior to their assembling. You can do this in the Model Settings window of the MESHPARTS ASSEMBLER. In Fig. 7.5 we can see as an example the interfaces of the model COUPLING1. In this example COUPLING1 has two interfaces: FIRSTEND and SECONDEND. The interfaces are renamed by the user to MOTOR and SPINDLE respectively. The numbers to the right of each interface name are the instances of the referred components and can be also changed individually. A zero means that no specific instance number is specified.

Fig. 7.5 Renaming model interfaces

7.5   Model File Linking

Model files used by MESHPARTS ASSEMBLER can also be referenced from another folder path using symbolic links pointing to the original macro file. This is called Model File Linking. In Windows OS Model File Linking is done by simply copying the original Model File and then right clicking into the new folder path and choosing “Insert shortcut” from the context menu. Model File Links (.cdb.lnk) can be renamed. The name of the assembled Model File will correspond to the name of the Model File Link.

In the MESHPARTS GUI you can choose "Copy" and "Paste" from the context menu in order to quickly create Model File links.

Model File Linking enables you to have a Model Library in a central path (such as C:\MESHPARTS\StandardComponents) and reuse these models anywhere else.

7.6   Key shortcuts

General window context:

CTRL+N        Define a new configuration.

CTRL+S        Save the active configuration.

CTRL+O        Open the active configuration file (*.mpc) with the standard text editor.

Del               Delete the active configuration.

F1                Start the MESHPARTS Help (MESHPARTS-Help.pdf).

F5                Refresh the components browser.

Model preview window context:

CTRL+A        Select all text.

CTRL+C        Copy selected text.

Model tree context

CTRL+O        Open selected files or folders with the external standard program.

Del               Delete selected files or folders.

CTRL+M        Define a new macro file at selected locations.

CTRL+C        Copy selected model files.

CTRL+V        Paste copied model files at selected locations.

7.7   Tutorials

You can find more about working with MESHPARTS ASSEMBLER in the online tutorial MESHPARTS\Help\Assembler\Klotzmodell. A simple component based model can be found at MESHPARTS\AssembledComponents\Examples\Klotzmodell. A more detailed model can be found at MESHPARTS\AssembledComponents\Examples\Blechmodell.



MESHPARTS EXTMSUP enables to you to export your finite element (FE) models from Ansys® to Matlab/Simulink. This happens with the help of two well-arranged graphical user interfaces (GUI), one Ansys®-GUI and one Matlab-GUI.

The typically very big FE models are strongly reduced with the help of the modal superposition. Only the degrees of freedom of the FE model that are really of interest to you are exported. In the case of machine tools that are typically the direct and indirect measuring signals (position, speed) of the tool slide and of the electro drives.

The modal reduced FE models are usually coupled with a controller in Simulink, so that the dynamic behaviour of the controlled axes can be examined. EXTMSUP generates automatically also a Simulink model which contains the exported FE model with inputs and outputs. Beyond it, EXTMSUP offers automated functions by which you can plot or 3D animates natural frequencies, time and the frequency responses.

8.1   The graphical user interface EXTMSUP

The algorithms for calculating the modal reduced matrices are written in APDL (Ansys® Parametric Design Language) in the form of macros. The macros allow an automated application of the described equations in Chapters 2 to 4 to any mechanical FE models. To facilitate the handling of these macros EXTMSUP a graphical user interface (External modal superposition) for Ansys® was programmed using the programming language Tcl/Tk. The graphical user interface (GUI) consists of six main fields, see Fig. 8.1:

1.    New I/O Node(s)

2.    Input Nodes

3.    Output Nodes

4.    Edit

5.    Damping

6.    Main

The functionality of the individual fields is explained in detail below.



Fig. 8.1 The graphical user interface „External Modal Superposition Manager“

8.1.1   The field “New I/O Node”

In this field you can define model nodes as input and/or output nodes (input/output). An input node is a node, on which external forces or moments are acting. An output node is a node, on which the displacement is measured. A node can be both input and output node. A special type of output node is the wire-frame nodes. These are output nodes with three displacement degrees of freedom which are used to visualize the dynamic motion of your model in Matlab.

The "I/O nodes" field consists of five fields, which are counted from top to bottom. In the first sub-field the node number and an optional node name can be entered. The node number can be referenced via a variable or component name. In case of a component name, the component can include multiple of nodes. In this case, all of the nodes of the component are defined as input and/or output nodes in the ascending order of their numbering.

In the second sub-field the type of node (input and/or output or wire-frame node) can be selected. In the third sub-field, the derivative of output nodes can be selected (position for 0 derivative, velocity for 1st derivative and acceleration for the 2nd derivative). The fourth sub-field you can select the degrees of freedom of the nodes. The available degrees of freedom of a node are determined in Ansys® by the connected elements. Normally, forces and/or moments are applied only in the direction of an existing degree of freedom. In case of a modal reduced model forces and moments can be applied in all six degrees of freedom at each node. This is possible because in a modal reduced model the degrees of freedom are not determined by the connecting elements, but from the possibilities of movement of the nodes. It is noted that the degrees of freedom of a node can be defined with respect to three different coordinate systems. These coordinate systems can be selected in the sixth field (Main) of the main GUI.

The fifth sub-field provides the possibility to define a reference node for the input and/or output node. The number of the reference node can also be specified by a parameter or component name. The reference node is useful when outputting relative modal degrees of freedom. Since the notion of "relative modal degree of freedom" is not a standard, it will be described in detail below. Using relative modal degrees of freedom the number of inputs and outputs of the modal reduced equations of motion are significantly reduced. Especially in machine tools relative rather than absolute movements are of interest. Examples are the relative motion between the guide rail and a guiding wagon, the rotor and the stator of a drive. Without the functionality of the relative modal degrees of freedom, the number of required input and output nodes in the above examples would double.

8.1.2   The fields „Input and Output Nodes“

In the fields "Input and Output Nodes" defined inputs and outputs are listed. An input or output is fully described on the node number, the degree of freedom (ux, uy, uz, rx, ry, rz) and the coordinate system. The node name is just for ease of use. If the node name is not specified in the definition, the node number is used as a node name. It should be noted that the definition of an input or output node with a plurality of degrees of freedom to be considered produced as many inputs and outputs as the number of degrees of freedom. "Input or Output" therefore means strictly "degree of freedom of a node".

8.1.3   The field „Edit“

The inputs and outputs are by default listed in the order of their definition. This sequence is very important because the individual inputs and outputs are referenced by their row and column numbers in the reduced modal equation of motion. The original order of the inputs and outputs can be changed using the button "Edit". The following options are available in this field:

§  Up: Moves selected inputs and outputs to top

§  Down: Moves selected inputs and outputs down

§  Del: Removes selected inputs or outputs

§  Show: Displays selected input or output on the FE model

§  Hide: Hides selected inputs or outputs on the FE model

When selecting the input or output node, the control button or Shift key can be pressed to select any group of inputs and outputs.

8.1.4   The field „Damping“

In the field "Damping" four different types of damping can be defined:

§  Alpha Damping

§  Beta Damping

§  Constant Damping

§  Modal Damping

The four types of damping are included in the total damping. The first three damping types attenuate the individual eigenmodes globally, while the fourth type can be defined differently for each eigenmode. For most structures the alpha and beta damping or the Rayleigh damping have no physical relation, as they physically represent an external attenuation by the surrounding medium, which is assumed to be very low. Furthermore Rayleigh damping can be set precisely only for two frequencies. The damping constant is useful if there is no better damping estimation. The modal damping in turn can either be determined from measurements on the real structure or by means of a damped eigenvalue analysis. In the last case, the modal damping coefficients are calculated by Ansys® and EXTMSUP automatically displays these coefficients in the EXTMSUP GUI. In this case the values ​​of the modal damping must not be adjusted, and all other types of damping should be zero. If the damping coefficients are not calculated from measurements or a damped eigenvalue analysis, these can be adapted directly in the EXTMSUP GUI in Ansys® or Matlab.

8.1.5   The field „Main“

The "Main" field provides the following five options:

1.    Last Eigenfrequency

2.    Residual Vector

3.    Global System, Nodal System, Local System

4.    Compute, Save, Resume

5.    Show I/O

Using the first option, "Last Eigenfrequency", the number of natural frequencies to take into account can be restricted with respect to the calculated natural frequencies. By default, all of the calculated natural frequencies are used.

Using the second option, "Residual Vector", the residual vector is added to the modal basis to improve the modal approximation of the full model.

The third option group, "Global System", "Nodal system" and "Local system", determines what kind of coordinate system is used for the calculation of the modal matrices: global, nodal, or local coordinate system. The nodal coordinate system can be different for each node, but it is defined by default in parallel to the global coordinate system. A rotation of the nodal coordinate system can be performed with the aid of the Ansys® command NROTAT. The local coordinate system can be defined using the Ansys® LOCAL command, and applies to all nodes. If the modal matrices should be calculated in a local coordinate system, the number of the local coordinate system can be entered. An empty field or a zero leads to the global coordinate system. With this functionality for example, all the nodes of all the carriages in a complete model of a machine tool can be oriented, such that their direction of motion is parallel with the nodal X direction, independently of how these guides are aligned in the global coordinate system. The option "Nodal system" can be set to "X" for all carriage input and output degrees of freedom.

Using the button "Compute", "Save" and "Resume" the calculation of the modal matrices can be started and the modal parameters are saved (Compute or Save) or read (Resume). The settings in the lowest two fields of EXTMSUP GUI are to be considered. They indicate in which place and under what name on the hard drive, the reduced matrices should be written. Each of the three commands is logged in the Ansys® Output window. Important information on the progress of each data item is displayed. Many errors can be corrected using this information. The modal matrices are written into several different files (modelname.Phi, modelname.Omega, modelname.Damp) in ASCII format. These can then be read into Matlab using the functions and GUI implemented for this purpose (see Chapter 5). In addition to the modal matrices information about the inputs and outputs is written into the files modelname.i, modelname.o and possibly modellname.wfl (wire-frame nodes).

Finally a Simulink representation of the modal reduced FE model is automatically generated when exporting the FE model with MESHPARTS EXTMSUP. The model (modelname.mdl) can be found in the directory indicated by the path in the lowest entry field of the GUI.

8.2   Further processing in Matlab

With MESHPARTS EXTMSUP it is possible to integrate the linearized FE model of any mechanical system in a Simulink simulation and couple with a controller model. It is also possible to calculate directly frequency responses from each input to each output. For this purpose, functions and a GUI available for Matlab, which are described below.

In order to start the MESHPARTS EXTMSUP GUI in Matlab go the installation directory MESHPARTS\M-Files and run the Matlab file extmsup_GUI.m. The GUI illustrated in Fig. 8.2 will show up.

Fig. 8.2 EXTMSUP-GUI für Matlab

The import of a modally reduced FE model in MATLAB is done in two or three steps:

1.    Selection of the path, where the file written out from Ansys are saved. For this purpose the "Browse" button is provided. The model path and name are displayed in the entry fields lying on the left side of the Browse button.

2.    Optional: Selecting a reduction factor, setting the modal damping and setting the number of rigid body modes. The latter can be set in the "NRBM" (number of rigid body modes). The program can also detect this automatically if a -1 is entered.

3.    Calculate the state space representation. For this purpose, the buttons "Compute" or "Change Damp" are provided, depending on whether a calculation with the original damping or with the damping set in the Matlab EXTMSUP GUI is required.

After calculating the state space representation, in the lower portion of the GUI a 2D graphic is generated, representing the relevance (0-1) of the individual modes. The rigid body modes are not considered here, since they may have a relevance of infinity. The irrelevant eigenmodes (depending on the reduction factor set) are marked in the graph with red lines. The relevant modes are marked with blue lines.


Work in Progress! Following chapters 8.2.1 until 8.2.5 are still in German. English version following soon.


8.2.1   Die Funktion extmsup_read

Mit Hilfe dieser Funktion können die in Ansys mit Hilfe der implementierten GUI berechneten Modalmatrizen in Matlab eingelesen werden. Die Syntax der Funktion lautet


Die zwei Input-Variablen, fepath und red, geben den Pfad bzw. den  Reduktionsfaktor, wo sich die aus Ansys generierten dat-Dateien befinden, an. Die vier Output-Variablen, Omega, C, Phit, Phi, enthalten den Vektor der Eigenfrequenzen und der Dämpfung, die Matrix der transponierten Eigenvektoren bzw. die Matrix der Eigenvektoren. Die Dimensionen dieser Matrizen ergeben sich zum Einen aus der Anzahl der Eigenfrequenzen, m, zum Anderen aus der Anzahl der Eingangsknoten, ni, und der Ausgangsknoten, no. Eine Übersicht gibt Table 2.

Table 2 Ausgangsvariablen der Funktion extmsup_read





m x 1

Vektor der Eigenfrequenzen


m x 1

Vektor der Dämpfung


m x ni

Matrix der transponierten Eigenvektoren


no x m

Matrix der Eigenvektoren


8.2.2   Die Funktion extmsup_chgdmp

Mit Hilfe dieser Funktion kann die in Ansys vordefinierte Modaldämpfung geändert werden. Zur Auswahl stehen die Dämpfungsarten, die im Abschnitt 4.4 beschrieben wurden. Die Syntax der Funktion lautet


Die erste Input-Variable, Omega, ist der Vektor (m x 1) der Quadrateigenkreisfrequenzen. Dieser Vektor ist notwendig um die frequenzabhängige Dämpfungsmatrix, C, zu berechnen. Die nächsten drei Input-Variablen, alphad, betad, dmprat, legen die Alpha- und Beta-Dämpfung bzw. den Dämpfungsratio fest. Die letzte Variable, mdamp, ist ein Vektor der Dimension m x 1 mit den modalen Dämpfungsratio.

8.2.3   Die Funktion extmsup_ss

Diese Funktion berechnet eine Zustandsraumdarstellung aus den mit Hilfe der Funktion extmsup_read und evtl. extmsup_chgdamp berechneten Modalmatrizen. Die Syntax der Funktion lautet


Die ersten vier Input-Variablen sind die vorher berechneten Modalmatrizen. Die letzten drei Input-Variablen, pos, vel, acc, legen fest, welche Größe (Verschiebung, Geschwindigkeit und/oder Beschleunigung) für jeden Ausgang berechnet werden soll. Soll eine gewisse Größe, bspw. die Beschleunigung, für einen gewissen Ausgang berechnet werden, so muss der entsprechende Platz im Vektor acc mit einer Eins besetzt werden. Eine Null bewirkt das Gegenteil. Falls ein Vektor vollständig mit 0 oder 1 besetzt ist, kann an seiner Stelle auch nur die Zahl 0 bzw. 1 benutzt werden. Ansonsten muss die Dimension der Vektoren, der Anzahl von Ausgangsknoten, no, entsprechen. Es ist zu beachten, dass die Berechnung der Ausgangs-Geschwindigkeiten und/oder –Beschleunigungen zusätzlich zu den Positionen dazu führt, dass die Anzahl der tatsächlichen Ausgänge größer als die Anzahl der Ausgangsknoten, no ist. Die Anzahl der tatsächlichen Ausgänge wird daher mit no* bezeichnet. Für no* gilt



Die Output-Variablen, A_ss, B_ss, C_ss, D_ss, sind Matrizen, die für die Berechnung der Zustandsraumdarstellung notwendig sind. Eine Übersicht dieser Matrizen gibt Table 3.



Table 3 Ausgangsvariablen der Funktion extmsup_ss





2m x 2m



2m x ni

Eingangsmatrix (Steuerungsmatrix)


no* x 2m



no* x ni

Durchgriffsmatrix (Durchschaltmatrix)


8.2.4   Die Funktion extmsup_info

Diese Funktion schreibt Informationen über die Namen und Freiheitsgrade der Eingangs- und Ausgangsknoten aus. Die Syntax der Funktion lautet


Bei dem Pfad fepath werden die aus Ansys® geschriebenen Dateien mit den Informationen über die Ein und Ausgänge gesucht. Falls die Dateien inp.dat und out.dat vorhanden sind, werden sie eingelesen und deren Information in die Ausgangsvariablen inp und out gespeichert, siehe Table 4.

Table 4 Ausgangsvariablen der Funktion extmsup_info





ni x 3

Cell mit Namen, Knotennummern und Freiheitsgraden der Eingänge


no x 3

Cell mit Namen, Knotennummern und Freiheitsgraden der Ausgänge


Eingegeben in die Matlab-Befehlszeile ergibt der Befehl extmsup_info('C:\MSUP-Modelle\') folgende beispielshafte Ausgabe:


 Index  |  Name   |    NdNr.     |    NdNr.     |   DOF  



                            Input Nodes               


   1    |  MotorX |    1568      |    1567      |  rx 

   2    |  MotorY |    3678      |    3676      |  ry 


                            Output Nodes              


   1    |  TCP    |    5498      |    0         |  ux 

   2    |  TCP    |    5498      |    0         |  uy 

   3    |  TCP    |    5498      |    0         |  uz 



8.2.5   Die Funktion EXTMSUP

Diese Funktion ruft die Funktionen extmsup_read, extmsup_info, extmsup_secondorder und extmsup_firstorder auf, um eine Zustandsraumdarstellung der aus Ansys® exportierten Matrizen zu erstellen. Die Funktion EXTMSUP enthält außerdem die Algorithmen zur Änderung der Dämpfung und zur Ausfilterung der irrelevanten Eigenmoden.


% Set Path to the Folder where the Modal Files resides


% Reduction Factor



% Type of Output (position, velocity, acceleration)




% Change Damping





% Compute State Space and Transfer Function


Die Variable model ist vom Typ „Structure“ und enthält mehrere Untervariablen und unter anderem auch die Zustandsraummatrizen (model.A_ss bis model.D_ss) und die komplexe Transferfunktion des reduzierten FE-Modells (model.Sys).

8.3   Examples

To illustrate the algorithms and functionalities described here, as well as dealing with the graphical interface EXTMSUP two simple computational examples are presented below:

§  Calculation Example "bar"

§  Calculation Example "spring-mass"

In the first example special attention is paid to the relative modal degrees of freedom and on the filtering of irrelevant eigenmodes. In the second example in particular the importance of the residual vector is highlighted.

8.3.1   Example „Beam“

The system in question consists of two bars which are connected with a spring, see Figure Fig. 8.3. The vertical bar is clamped at its ends. The spring has zero stiffness in the vertical direction, so that the horizontal bar is free to slide along the vertical bar.


Fig. 8.3 The model „Balken“ consists of two beams connected with a spring

Between the two ends of the spring the force of a linear drive, which is not modelled, is acting. We want to compute the frequency response of the displacement of the right, free beam end with respect to the driving force FA of the linear drive. Simultaneously, the reaction force FR acting on the vertical beam is to be considered.

The horizontal and vertical beams are meshed with four and two Beam188 elements respectively. Thus the model consists of eight nodes, each with six degrees of freedom. All six degrees of freedom for two nodes are constrained to be zero. Overall, the model has 36 degrees of freedom.

The model is converted into a state space representation using the implemented EXTMSUP algorithms in Ansys® and Matlab. The information required for the calculation of the reduced matrices can be entered using the EXTMSUP GUI, see Fig. 8.4.

Since the force excitation is acting on two different nodes because of the reaction force, the definition of two inputs would be necessary in general. However since the action and reaction forces differ only by a sign, the reaction may be defined as a reference node. In this way, the state space representation has only one input, see also the EXTMSUP GUI field "input nodes" in Fig. 8.4. The output is the node whose displacement is to be calculated (right tip of the horizontal beam). Since the absolute offset is required, we will enter a zero for the reference node in the GUI.

reference node
reference node 

Fig. 8.4 EXTMSUP parameter setting for the example „Balken“

In this case, no damping is defined, wherein in Matlab you can define the damping by means of the GUI EXTMSUP. In order to compute and write the modal matrices you can now click on the "Compute" button. To investigate the effect of different model orders, three different calculations are performed, wherein the number of eigenmodes and the reduction factor are varied:

A reference computation with all the eigenmodes (36) and without additional reduction (ε = 0.0)

A computation with all eigenmodes (36) and with additional reduction (ε = 0.1)

A computation with the first 5 eigenmodes and without additional reduction (ε = 0.0)

To obtain the three different computations, only the number of natural frequencies and the reduction factor in the corresponding fields of the EXTMSUP GUI's need to be changed. In the second computation 31 of 36 eigenmodes are filtered out due to the reduction factor. What remains are the 5 most important eigenmodes. This significant reduction is due to many eigenmodes which have a direction of vibration which is orthogonal to the direction of excitation.


After writing of modal matrices and reading into Matlab, the frequency responses can be calculated using the Matlab command bode:


hold on




legend('all modes (36)','5 of 36 most relevant modes','first 5 modes')

grid on

You can also user the Button “Freq. Resp. I/O” in the Matlab EXTMSUP GUI to calculate and show the frequency responses. In this case you only have to set the input and output in the fields inp and out2 respectively of the GUI. Always remember that the input is a force and that the output is either a displacement, velocity or acceleration. If you need a displacement, velocity or acceleration rather than a force as an input, then you can also enter a proper input number in the filed out1 of the GUI.

The three frequency responses are shown in Fig. 8.5.

Fig. 8.5 Frequency responses with different reduction factors for the example model „Balken“

The model with the full modal basis has for the considered excitation to 1000 Hz four distinct resonances (blue curve). From 1000 Hz to 1,000,000 Hz, the remaining resonances are seen, however, have a much lower-gain. Up to 1000 Hz the behaviour of the 5 modes reduced model (green curve) is identical to the full model (blue curve). Above 1000 Hz the reduced model contains no other resonances due to lack of modes. For the first 5 eigenmodes model, the dynamic behaviour is only correct up to about 100 Hz (red curve).

In summary for this example it can be said that the additional filtering of non-relevant eigenmodes in some models can achieve a significant size reduction of modal reduced models. In combination with the method of relative modal degrees of freedom smallest matrices for the state space representation of FE models can be achieved.

8.3.2   Example „Spring-Mass“

The system in question consists of five identical series-connected mass spring systems, see Fig. 8.6. All nodes are only movable in horizontal direction. Thus, the model has six degrees of freedom.


Fig. 8.6 Model „Feder-Masse“ consisting of 5 series-connected mass spring systems

The system is excited with a force F at the first node. We compute the frequency response of the deflection u of the first node with respect to the excitation force. In this example we proceed similar to the example "Balken". First, an eigenvalue analysis is performed in Ansys and the modal matrices are written with EXTMSUP in Ansys®. Then these matrices are read with the EXTMSUP GUI in Matlab and converted into a state-space representation.

In addition, the residual eigenmode is calculated in order to investigate its influence on the frequency behaviour of the reduced model. For the calculation of the residual eigenmode the Ansys® command resmode,on must be issued before the eigenvalue calculation. Then the "Include" option in the Residual Vector Field of the EXTMSUP GUI must turned on before the modal matrices are computed. Since the system under consideration has a rigid body mode, the calculation of the residual vector must be performed with "pseudo-constraints" locking the motion of the rigid body mode. For this purpose the Ansys® command d,6,ux,support is needed, see Fig. 8.6.

To investigate the behaviour of the reduced model and the effect of the residual vector, four different calculations are performed:

§  A calculation with all eigenmodes (5)

§  A calculation with the first 4 eigenmodes and without residual mode

§  A calculation with the first 4 eigenmodes and residual mode

§  A calculation in the frequency domain with the full matrices (reference calculation)

At this point it should be noted that, although the real system has six degrees of freedom, 5 eigenvalues ​​can be calculated. The reason for this is that the first node is not carrying any mass. In addition, in the case of a complete modal basis no residual vector can be considered, or in other words, the residual vector is zero and cannot provide any additional information. For this reason, in the second and third calculation only four of five eigenmodes are calculated so that the calculation of the residual eigenmode is possible. The fourth computation is performed in Ansys® and serves as a reference calculation. The four frequency responses are shown in Fig. 8.7.

Fig. 8.7 Frequency responses of the model „Feder-Masse“

The model described by the complete modal basis has four resonances (blue curve). There fifth degree of freedom is not visible as resonance, because the first eigenvalue is zero. This corresponds to a rigid-body vibration and can be explained by the negative slope of the frequency response. The four eigenmodes reduced model shows only the first three resonances (dark green curve). The influence of the residual eigenmode can be exemplified by the red curve: the first four resonant frequencies remain unchanged, but the zeros are located at significantly lower frequencies than the models without residual vector. Furthermore, at about 3000 Hz an additional resonance is present, which can be assigned to the residual eigenvalue.

Compared with the frequency response of the complete model (red curve), which contains the correct solution, the influence of the residual eigenmode is even clearer: The residual mode correctly takes into account the influence of the first massless spring. This leads to a system softer than the purely modal reduced model. However, the residual eigenmode in this case leads to an additional non-physical feedback. However, since this resonance takes place at a very high frequency, it can often be neglected. In other cases, however, this apparent resonance leads to noisy, high-frequency oscillations in the time domain.

In summary, for this sample calculation it can be said that the residual vector helps to statically complete the modal basis. The consideration of the residual vector is essential if the external degrees of freedom which are massless.

8.4   Tutorials

A good starting point with MESHPARTS EXTMSUP is the online video tutorial MESHPARTS\Help\EXTMSUP\Klotzmodell. The FE model in this video can be found at MESHPARTS\AssembledComponents\Examples\Klotzmodell.



MESHPARTS SUBSTRUCT enables you to strongly reduce complicated finite element models consisting of several linear and non-linear mechanical components (e.g., complete machine tools models) with only few clicks. This is generally necessary when long time, dynamic movements should be simulated (e.g. controlled axis movements of machine tools). The model order reduction algorithm is Craig-Bampton or Guyan Reduction and you can read more about these algorithms in the Ansys® Help Manual.

MESHPARTS SUBSTRUCT implements an ingenious algorithm in Ansys® Mechanical APDL and offers through a clear graphical user interface:

§  The automatic finding of the linear and non-linear model domains,

§  The automatic reduction of selected model domains by means of Craig-Bampton or Guyan reduction,

§  The automatic expansion of the reduced results on the full, non-reduced model.

Beyond this, MESHPARTS SUBSTRUCT is compatible with MESHPARTS ASSEMBLER, meaning that already reduced models can be assembled along with full models to a bigger FE model (component oriented substructuring).

Due to MESHPARTS SUBSTRUCT an area of the advanced finite element analysis, the substructure technology, is easy applicable by every user. This saves time twice: On the one hand you need only few seconds in order to start the reduction of complicated FE models and on the other hand the reduced FE models can be simulated clearly faster than with standard methods.

9.1   The graphical user interface SUBSTRUCT

The MESHPARTS SUBSTRUCT GUI, Fig. 9.1, basically consists of three groups:

§  Super Elements

§  Solve Macro

§  Main Buttons

Fig. 9.1 The graphical user interface MEHSPARTS SUBSTRUCT

9.1.1   Super Elements group

The Super Elements group contains as many rows as linear model domains found. A linear model domain (also super element domain) is a subset of elements and nodes, which should be linearized during the model reduction process. Contrary to the linear model domains are the nonlinear model domains. These domains remain unchanged during the model reduction process.

In each row of the Super Elements group following functions are available:

§  EPLOT: plots all selected elements.

§  Show SE: plots the super element domain.

§  Check button: select if this domain should be reduced.

§  Super element name: name of the super element.

§  Method: select which model order reduction method should be used (Guyan or CMS)

§  Frequency range: only if Method is CMS, set the number of natural frequencies to compute and the frequency range.

§  Boundary: only if Method is CMS, select what kind of boundary conditions should be used on the master degrees of freedom, when the eigenmodes are computed.

9.1.2   Solve Macro group

The Solve Macro group actually consists of a text entry where you can input the name of an APDL macro with arguments, which should be called, after the original model was reduced. Standardly the macro ad_solve is called with the first argument modal and the second argument 10. This means that the macro will perform a modal analysis and a maximum of 10 modes will be computed.

9.1.3   Main Buttons group

The Main Buttons group consists of five buttons:

§  RenSE: Rename Super Elements.

§  GenSE: Generate Super Elements.

§  UseSE: Use Super Elements.

§  Solve: Solve reduced model.

§  ExpSE: Expand results of the reduced model on the full model.

The GenSE, UseSe, Solve and ExpSE are necessary and consecutive steps. So typically you should first click on GenSE then on UseSE, then on Solve and finally (if you wish) on  ExpSE. Alternatively you could also let MESHPARTS SUBSTRUCT perform all these steps automatically. For this simply click on the last button you wish to be performed (e.g. ExpSE). MESHPARTS SUBSTRUCT will automatically perform all the precedent steps automatically.

9.2   Working with MESHPARTS SUBSTRUCT

Before starting MESHPARTS SUBSTRUCT a finite element model should be loaded into the Ansys® Mechanical APDL workspace. If you are also using MESHPARTS ASSEMBLER you can load available models through the ASSEMBLER GUI. This is the recommended way.

Then The SUBSTRUCT GUI can be started. MESHPARTS SUBSTRUCT is now performing an automatic search for linear model domains. All nonlinear domains found are used to determine the linear model domains. Nonlinear domains are all elements grouped into elements sets named *_NLIN (see Ansys® command CM) and also all contact elements with non MPC contact algorithm (e.g. Penalty or Lagrange). Each linear model domain also need some master degrees of freedom. MESHPARTS SUBSTRUCT automatically defines master degrees of freedom on the interface between linear and nonlinear domains. But you can also define other master degrees of freedom by grouping nodes into nodal sets with the name *_MASTER.

The user defined sets *_NLIN and *_MASTER must be defined before starting MESHPARTS SUBSTRUCT. If you are using MEHSPARTS GENERATOR and ASSEMBLER you should define these sets directly in the subcomponents before assembling them to a bigger model.

When the search for linear model domains is done you can visualize the domains by clicking Show SE in each super element row in the SUBSTRUCT GUI. You can also decide which of the linear domains should be replaced by a super element (see check buttons in the GUI).

In the next step you choose the model order reduction method. The Guyan-Method is the fastest one, but it should only be used for statical problems. The CMS-Method is more general and can be used for both statical and dynamical problems.

If you are used the CMS-Method then you must input how many eigenmodes should be computed for each superelement in part. More eigenmodes will generally lead to better results but also longer computational time. If you know the frequency range of interest then you could input this and safely choose more eigenmodes than probably available in this range.

Finally the boundary conditions applied to the master degrees of freedom of each linear domain can be set to fixed or free. Free boundary conditions usually lead to better results but in this case you will also need more eigenmodes.

If you have set up all the needed options for each linear domain as described above, the model order reduction can now be started. You can click on one of the main buttons: GenSE, UseSe, Solve and ExpSE. Typically you should first click on GenSE then on UseSE, then on Solve and finally (if you wish) on  ExpSE. Alternatively you could also let MESHPARTS SUBSTRUCT perform all these steps automatically. For this simply click on the last button you wish to be performed (e.g. ExpSE). MESHPARTS SUBSTRUCT will automatically perform all the precedent steps automatically.

9.3   Tutorials

A good starting point with MESHPARTS SUBSTRUCT is a simplified five components model of a machine tool, which can be found in the installation directory at MESHPARTS\AssembledComponents\Examples\Klotzmodell\Klotzmodell_v1.cdb. You can load this model with MESHPARTS ASSEMBLER or with the help of the Ansys® APDL command CDREAD. Then you can directly start the MESHPARTS SUBSTRUCT GUI and go further with the steps described above.

Two online video tutorials showing how to perform model order reduction with SUBSTRUCT and ASSEMBLER can be found at MESHPARTS\Help\SUBSTRUCT.


Work in Progress! Following chapter 10 is still in German. English version following soon.


TOPOAD ist ein Algorithmus für statische und modale Topologieoptimierung mit oder ohne Fertigungsrestriktionen, mit einem oder mehreren Lastfällen. TOPOAD funktioniert als Add-On unter der FE-Software Ansys® Mechanical APDL. Im Folgenden wird die Funktionsweise des TOPOAD erklärt.

Die implementierten Algorithmen sind in Makrobibliotheken hinterlegt, die den Namen ad_TOPOAD.ans und ad_TOPOAD_mod.ans tragen. Die erste Makrobibliothek ist für statische, die zweite für modale Optimierungen geeignet.

Zum festlegen des Optimierungsbereichs können zwei Elementkomponenten (topoelem und/oder frozen) mit dem Befehl cm,topoelem,elem bzw. cm,frozen,elem definiert werden. Die Komponente topoelem enthält die Finite Elemente, die den Optimierungsbereich bilden. Die Komponente frozen enthält die Finite Elemente, die während der Optimierung nicht geändert werden. Die zwei Elementmengen können, wie in Fig. 10.1 dargestellt, definiert werden:


Fig. 10.1 Mögliche Definitionen des Optimierungsbereiches

Bemerkung: Falls die zwei Elementkomponenten nicht definiert sind, werden zum Optimieren alle erlaubten Elemente herangezogen. Die erlaubten finiten Elemente sind alle Elemente, für die ein Volumen und eine Dehnungsenergie berechnet werden kann.

Im Allgemeinen sind quadratische Elemente (mit Zwischenknoten) für die Topologieoptimierung besser geeignet als die linearen Elemente, weil die Quadratischen den lokalen Spannungszustand besser annähern als die Linearen. Allerdings ist der Rechenaufwand insbesondere bei quadratischen Volumenelementen deutlich größer als bei den linearen Elementen.

Als Randbedingungen wird eine Volumenrestriktion verwendet, die so genannte „Volume Fraction“ oder auch „Mass Fraction“, bezeichnet mit VF. Die „Volume Fraction“ wird als prozentueller Anteil der aktuellen Masse an der Startmasse verstanden. Wenn die Startmasse mit M0 und die aktuelle Masse mit Mi bezeichnet werden, so gilt in jeder Iteration VF=100*Mi/M0. Der Benutzer gibt bspw. eine 50%ige „Volume Fraction“ als 50 ein. Programmintern wird jedoch mit 0.5 gerechnet.

Die Konvergenztoleranz kann mit Hilfe des Arguments arg3 eingestellt werden. Ein Wert von 1e-3 ist meistens ausreichend. Es kann aber vorkommen, dass dies nicht genügt und TOPOAD vorzeitig abbricht. In solchen Fällen kann eine kleinere Toleranz gewählt werden. Es wird aber darauf hingewiesen, dass je kleiner die Toleranz, desto mehr Iteration durchgeführt werden.

Der Penalty-Faktor kann mit Hilfe des Arguments arg4 eingestellt werden. Wenn arg4 größer gleich 1 ist, wird mit einem festen Penalty-Faktor gerechnet. Wenn arg4 null ist, wird der Wert des Penalty-Faktors automatisch und adaptiv ermittelt. Diese Einstellung liefert bessere Ergebnisse als ein konstanter Penalty-Faktor.

Mit TOPOAD ist die Optimierung mit mehreren Lastfällen möglich. Falls die Lösung mit Hilfe des Ansys®-Befehls lssolve erfolgen soll, muss dies vom Benutzer verlangt werden (arg5³1). Die Argumente arg5 und arg6 geben die Nummern des ersten bzw. des letzten Lastfalls an.

Der gewünschte Solver kann mit Hilfe des Arguments arg7 eingestellt werden. Die Schlüsselwörter können wie beim eqlsv-Befehl gewählt werden, sie müssen aber zwischen Hochkommas eingegeben werden. TOPOAD benutzt zum Lösen das Makro TOPOADSLV, welches in der Datei ad_TOPOAD.ans hinterlegt ist. Sie können den Inhalt dieses Makros ergänzen, um andere Optionen für den Solver einzustellen.

Der Output während einer Optimierung wird in die Datei TOPOAD_jobname.log geschrieben. Dort können das Konvergenzverhalten verfolgt und Informationen über die Laufzeit erhalten werden. Es ist zu beachten, dass TOPOAD alle Warnungen und Fehler in diese Datei schreibt.

Der Benutzer kann den vorzeitigen Abbruch der Optimierung auslösen und dazu „Stop“ im „Ansys Process Status“-Fenster anklicken.


Das Ergebnis der Optimierung wird in der Datei jobname.db gespeichert.

10.1   Optimierung mit Fertigungsrestriktionen

Mit TOPOAD ist die Optimierung mit Fertigungsrestriktionen möglich. Zurzeit sind  Symmetriebedingungen und Metaelemente als Fertigungsrestriktion vorhanden. Die Symmetriebedingungen werden bezüglich eines Koordinatensystems berechnet, welches mittels arg10 referenziert werden kann.

10.1.1                Symmetriebedingungen

Zwischen den Symmetriebedingungen kann zwischen 1-, 2-, 4- und 8-Symmetrie gewählt werden.

Die zyklische Symmetrie (arg8=1) kann bezüglich eines kartesischen oder zylindrischen Koordinatensystems definiert werden. Falls das Koordinatensystem kartesisch ist, wird die zyklische Symmetrie entlang der Y-Achse definiert. Falls das Koordinatensystem zylindrisch ist, wird die zyklische Symmetrie um die Z-Achse definiert.

Die zweifache Symmetrie (arg8=2) wird bezüglich der YZ-Ebene eines kartesischen Koordinatensystems definiert.

Die vierfache Symmetrie (arg8=4) wird bezüglich der YZ- und XZ-Ebene eines kartesischen Koordinatensystems definiert.

Die achtfache Symmetrie (arg8=8) wird bezüglich der YZ-, XZ- und XY-Ebene eines kartesischen Koordinatensystems definiert.

Bemerkung 1: Das FE-Netz des Optimierungsbereiches muss im Falle einer Optimierung mit Symmetriebedingungen nicht symmetrisch sein, obwohl dies empfehlenswert ist.

Bemerkung 2: Die Lastfälle müssen im Falle einer Symmetriebedingung nicht symmetrisch sein.

Bemerkung 2: Mit Hilfe der Symmetriebedingungen können oft Mehrlastfalloptimierungen mit Hilfe eines einzigen Lastfalles durchgeführt werden, was eine deutliche Reduktion der Rechenzeit bedeutet. Dazu wird im Folgenden ein Beispiel vorgestellt.

10.1.2                Beispiel zur Optimierung mit zwei symmetrischen Lastfällen in TOPOAD: Brücke

SymmetrieachseLastfall 2Lastfall 1

Fig. 10.2 FE-Modell „Brücke“ mit Lastfällen

Dieses Problem kann auf der klassischen Weise optimiert werden, indem die zwei Lastfälle (1: „linke Kraft“, 2: „rechte Kraft“) separat gelöst werden. Mit Hilfe einer Symmetriebedingung kann aber auf einen der zwei Lastfälle verzichtet werden, denn prinzipiell unterscheiden sie sich voneinander nicht: spiegelt man den Spannungszustand, der sich im ersten Lastfall ergibt, so erhält man den zweiten Spannungszustand, Fig. 10.3.


SymmetrieachseLastfall 1

Lastfall 2

Fig. 10.3  Spannungsverteilung bei den beiden Lastfällen: symmetrisch

Das Ergebnis der mit einem einzigen Lastfall und Symmetriebedingung durchgeführten Topologieoptimierung in TOPOAD ist in Fig. 10.4 zu sehen. Dieses Ergebnis ist identisch dem Ergebnis, das man mit beiden Lastfällen und ohne Symmetriebedingung erhalten würde. Der Rechenaufwand ist jedoch bei der Optimierung mit Symmetriebedingung halb so groß als ohne Symmetriebedingung.

Fig. 10.4 Ergebnis der Topologieoptimierung mit einem einzigen Lastfall aber mit Symmetriebedingung: 50% weniger Rechenaufwand als bei einer Optimierung ohne Symmetriebedingung und mit zwei Lastfällen

Beim Optimieren mit Symmetrie-Randbedingungen kann eine Symmetrie-Toleranz mit Hilfe des Arguments arg11 eingestellt werden. Wenn Sie einen Wert von Null eingeben, ermittelt der Algorithmus automatisch diesen Wert als die Hälfte des durchschnittlichen Elementradius aller Elemente aus dem Optimierungsbereich. Die Benutzerdefinierte Symmetrietoleranz ist empfehlenswert, weil die automatische Bestimmung dieser Toleranz zeitaufwendig sein kann. Allerdings kann eine zu groß gewählte Toleranz zu nicht erwarteten Ergebnissen führen. Eine zu klein gewählte Toleranz kann zu nicht symmetrischen Ergebnissen führen, wenn das Netz selbst nicht symmetrisch ist.

10.1.3                Metaelemente

Unter dem Begriff „Metaelemente“ werden Gruppen von Elementen, die als ein einziges Element betrachtet werden. Das heißt ein Metaelement besitzt eine Dichte, die an alle seine Unterelemente vererbt wird. Die Optimierung mit Metaelementen wird als Fertigungsrestriktion gesehen. Sie zwingt Gruppen von Elementen eine konstante Dichte oder Dicke zu besitzen.

Die Auswahl einer Optimierung mit Metaelementen wird über das Argument arg8=9 gewählt. Doch vor dem Starten der Optimierung müssen die Metaelemente definiert werden. Dies erfolgt durch Bilden von Elementkomponenten, deren Namen mit einem E anfangen und mit einer ganzen Zahl enden. Die Nummerierung der Komponenten sollte durchgehend erfolgen. Die Komponenten dürfen nicht leer sein. Für eine leichtere Definition der Metaelemente kann das Makro DefMetaElem verwendet werden. Dieses Makro definiert Metaelemente für alle selektierten Entitäten eines bestimmten Typs. Die unterstützten Typen sind Linien (arg1=2), Flächen (arg1=3) und Volumen (arg1=4). Diese Entitäten müssen vor dem Aufruf des Makros DefMetaElem vernetzt sein. Die folgenden Zeilen demonstrieren beispielhaft die Schritte bei der Definition der Metaelemente über Flächen.

Im Falle einer Topologieoptimierung einer Blechstruktur ist es oft erwünscht, dass nur die Dicke der  Bleche optimiert wird. Es dürfen keine Aussparungen entstehen. Mit Hilfe der Metaelemente kann dieses Ziel einfach und effizient erreicht werden. TOPOAD berechent für jedes Blech eine relative Dichte. Die Dicke des Bleches kann dann direkt ausgerechnet werden, indem die Ursprüngliche Blechdicke mit der relativen Dichte multipliziert wird.

10.2   Die graphische Benutzeroberfläche

TOPOAD kann mit Hilfe einer GUI gestartet werden. Die graphische Benutzeroberfläche ist intuitiv zu bedienen. Der Button „Start/Continue“ setzt eine schon abgeschlossene Optimierung mit denselben Parametern fort.

Fig. 10.5 Graphical User Interface of TOPOAD


10.3   Die APDL-Befehle

Syntax beim Aufrufen des Algorithmus TOPOAD (statisch):



Syntax beim Aufrufen des Algorithmus TOPOAD (modal):





Default Value




Prozentanteil (%) der aktuellen Masse Mi an der Startmasse M0 (Volume or Mass Fraction)



Maximale Anzahl von Optimierungsiterationen






Penalty-Faktor größer gleich 1 für eine konstante Penalisierung. Penalty-Faktor gleich 0 für eine adaptive Penalisierung.




Nummer des ersten bzw. letzten zu lösenden Lastfalls. Wenn LCMIN³1, wird durch den lssolve-Befehl gelöst: lssolve,lcmin,lcmax. Wenn LCMIN=0 oder leer, wird ein einziger Lastfall durch den solve-Befehl gelöst.



Maximale Anzahl der zu berechnenden Eigenfrequenzen





Frequenzbereich für die Modalanalyse



Solver, wie beim Befehl EQSLV



Wenn skey=0, keine Symmetrie.

Wenn skey=1, zyklische Symmetrie entlang der Y-Achse eines kartesischen KS oder um die z-Achse eines zylindrischen KS (angegeben durch ssys).

Wenn skey=2, kartesische Symmetrie bezüglich der yz-Ebene des kartesischen Koordinatensystems ssys.

Wenn SKEY=4, kartesische Symmetrie bezüglich der yz- und xz-Ebene des kartesischen Koordinatensystems SSYS.

Wenn SKEY=8, kartesische Symmetrie bezüglich der yz-, xz- und xy-Ebene des kartesischen Koordinatensystems SSYS.


SSYS=0, wenn SKEY1, und SSYS=1, wenn SKEY=1

Koordinatensystem (kartesisch oder zylindrisch), in welchem die Symmetriebedingung berechnet wird.


die Hälfte des durchschnittlichen Elementradius aller Elemente aus dem Optimierungsbereich




Schalter für Anzeige der relativen Dichten oder Videoaufnahme. Wenn ANIM=1, die relativen Dichten werden nur geplottet. Wenn ANIM=2, die relativen Dichten werden in einem avi gespeichert. Wenn ANIM=0, werden keine Plots durchgeführt.



Lower bound of relative density



Displacement scale for results plots (see Ansys® command /DSCALE)


10.4   Testfall – Biegebalken (statisch)

Der folgende APDL-Code eines Biegebalkens, Fig. 10.6, kann in Ansys eingelesen werden um die Funktionsweise des Algorithmus besser verstehen zu können. Es wird eine Topologieoptimierung mit 50% Volumenreduktion durchgeführt. Das Makroargument arg4 wird leer gelassen, wodurch der Penalty-Faktor automatisch und adaptiv ermittelt wird. Das Ergebnis der Topologieoptimierung mit TOPOAD ist in Fig. 10.7 zu sehen.

Fig. 10.6 FE-Modell eines Biegebalkens belastet mit einer Kraft am rechten Ende























Fig. 10.7 Ergebnis der statischen Optimierung mit TOPOAD und einer Volumenreduktion von 50%

Der Verlauf der Objektivfunktion wird in dem Vektor compl gespeichert. Der Vektor kann in Ansys® mit dem *vplot-Befehl angezeigt werden: *vplot,,compl(1)

Die relativen Dichten der finiten Elemente werden in der „Element Table“ topostif. Sie können mit dem pletab-Befehl angezeigt werden: pletab,topostif,noav

Elemente mit relativen Dichten in einem bestimmten Intervall können mit dem esel-Befehl selektiert werden: esel,s,etab,topostif,0.5,1

10.5   Testfall – Biegebalken (modal)

Fig. 10.8 FE-Modell eines Biegebalkens mit einer Punktmasse am rechten Ende































Fig. 10.9 Ergebnis der modalen Optimierung mit TOPOAD und einer Volumenreduktion von 50%

10.6   Tutorials

A good starting point with MESHPARTS TOPOAD are the online tutorial videos at MESHPARTS\Help\TOPOAD. The APDL scripts used in these videos are also available.




With MESHPARTS CT you can create linear controller directly in the environment of Ansys® Mechanical APDL. The functionality of MESHPARTS CT is available through a well arranged graphical user interface (GUI), Fig. 11.1, Fig. 11.2 and Fig. 11.4. The functions of MESHPARTS CT are grouped into three tabs:

§  Setup, see Fig. 11.1

§  Blocks, see Fig. 11.2

§  In/Out, see Fig. 11.4

11.1   The Setup tab

The Setup tab of the MESHPARTS GUI is depicted in Fig. 11.1. It is subdivided into four groups:

§  Database

§  Record File

§  Nodal Grid

§  Machine Data


Fig. 11.1 GUI of MESHPARTS CT – Setup tab

11.1.1                The Database group

The Database group contains two buttons: Clear and Reset.

The Clear button clears the Ansys® database and resets all MESHPARTS CT variables to their defaults.

The Reset button only resets MESHPARTS CT variables to their defaults.

11.1.2                The Record File group

The Record File group contains a text input field and three buttons: Record, Open and Run.

In the text input fields you can input the name of a macro file (without extension).

By pressing the Record button MESHPARTS CT records all following relevant user actions into the macro file. Repressing the same button will stop recording.

The button Open will open the macro file with your standard editor installed on your system. You can edit and save this file at any moment even during recording.

The button Run can be used to run a recorded macro file.

11.1.3                The Nodal Grid group

Prior to the definition of controller blocks you need to define a nodal grid. The nodal grid is characterized by four data fields: Coordinate System, Number of Rows, Number of Columns and Cell Width.

You can define more than one Nodal Grid, if prior to that you define different coordinate systems (see Ansys® command LOCAL). The coordinate systems must be Cartesian.

Nodal grids can also be deleted by pressing the button Delete in the Nodal Grid group. Only the nodal group represented by the coordinate system number input in the text field Coordinate System is deleted.

11.1.4                The Machine Data group

Industrial controller can have very sophisticated and large structure, with different filter, delay and selector blocks. At the same time the number of controller parameters can become very large. Furthermore machine tools usually have three or five axis and controller parameters are different for each axis. A machine tool typically needs round 500 different parameters.

In order to facilitate the transfer of controller parameters between machine tool and Finite Element model, MESHPARTS CT provides a function for reading machine data from an Excel file with a special structure. An example for this can be found in your installation directory at MESHPARTS\Help\CT\mdread.xlsm.

The Excel file containing machine data contains five sheets. The first sheet contains information about the number and names of the machine axes. Second sheet contains general machine data such as the basic system clock cycle (parameter SYSCLOCK_CYCLE_TIME).

The fourth and fifth sheet contains controller parameters for each of the available machine axes, which are define in the first sheet.

By pressing the Browse button in the Machine Data group of the MESHPARTS CT GUI you can select the Excel file containing machine data. In the text field Which Axis you must input at one of the axis names listed in the seventh row of the first sheet of the Excel file.

By pressing the Read button machine data from Excel is read in and corresponding APDL parameters are defined.

You can then use these parameters directly when defining controller blocks with MESHPARTS CT.


11.2   The Blocks tab

The Blocks tab of the MESHPARTS GUI is depicted in Fig. 11.1. It is subdivided into two groups:

§  Types

§  Parameters


Fig. 11.2 GUI of MESHPARTS CT – Blocks tab

11.2.1                The Types group

Here you can choose the type of controller block you wish to define. All controller block types are linear.

The DELAY block is actually a Padé approximation of the delay function. MESHPARTS CT uses a Padé function of order , which is a broken rational function with a 2nd order nominator and a third order denominator, in order to linearize delay.

The BANDSTOP block implements the band stop filter. Required parameters are:

§  BW_NUM: Bandwidth numerator of filter

§  SUPR_FREQ: Blocking frequency of filter

§  BS_FREQ: natural frequency of filter

§  BANDWIDTH: Bandwidth of filter

11.2.2                The Parameters group

When a specific controller block type is selected, required parameter names are highlighted in red. Here you can input appropriate values either as a number or as an APDL parameter name.

By pressing the Define button a small window for nodes picking appears, Fig. 11.3. The window title informs you about the minimum and maximum number of required grid nodes to be picked.

Fig. 11.3 Select window of MESHPARTS CT


11.3   The In/Out tab

The In/Out tab of the MESHPARTS GUI is depicted in Fig. 11.1. It is subdivided into two groups:

§  Types

§  Parameters


Fig. 11.4 GUI of MESHPARTS CT – In/Out tab

11.4   Tutorials

A good starting point with MESHPARTS CT is the tutorial video MESHPARTS\Help\CT\PPI. The APDL macro recorded during the tutorial is also available. You can find an example of using three cascade controllers in the FE-Modell Blechmodell_ctrl.cdb at MESHPARTS\AssembledComponents\Examples\Blechmodell.

12  Tutorials

Most actual video tutorials can be watched at


13  Contact


Alexandru Dadalau

Heiligenwiesen 8

70327 Stuttgart

Phone: 0049 711 1601 5433

Mobile: 0049 179 542 9849

Fax: 0049 711 1601 5434


14 License agreement for the software MESHPARTS


This MESHPARTS Add On for Ansys License Agreement ("Agreement") is a legal agreement between you (as a company, research institute or a person) and the intellectual owner or licensor of MESHPARTS, MESHPARTS GmbH. The product mentioned in the title of this Agreement, as well as the accompanying documentation (collectively the "Software") is protected by the copyright laws of the Federal Republic of Germany as well as the provisions of this Agreement.

The MESHPARTS Add On for Ansys is licensed only if you accept the terms of the "license agreement for the software MESHPARTS". If you select "Yes, I accept.", then you accept the license agreement. If you do not agree with this Agreement, then the software is not licensed. In this case, do not download, install or otherwise use the software. This software is licensed to you; you do not buy the software itself.


Subject of the license agreement is the MESHPARTS Add On for Ansys that represents the intellectual property of Mr. Alexandru Dadalau. This is according to the type of licensing a trial, commercial or academic software license. Licensing costs, if any, will be determined by an offer of the Licensor.


The software consists of program and accompanying documentation. The delivery of the software can be done by all popular data storage media. A right to receive the source code is not available. The installation of the software on the system environment of the customer is carried by the customer itself. Presentations in test programs as well as in product and project specifications, unless explicitly referred to as such, do not represent a guarantee of quality.

Note: Support for MESHPARTS will, if necessary, be provided under a separate agreement.


This MESHPARTS Add On for Ansys license can be a trial, commercial or academic software license, depending on the type of licensing. The nature of this license is specified in the installation and user interface of the software.

The software supplied by Licensor (program and any accompanying documentation) is the intellectual property of the licensor, Mr. Alexandru Dadalau. All rights to the software and to any other in the context of contract negotiations and execution provided documents are only entitled to the licensor.

The licensor grants the User a non-exclusive, timely and spatially limited right to use the software. The use of the MESHPARTS Add On for Ansys is limited in time. At the expiration of the license, this may be renewed by the publisher.

(1) The trial license

- is free,

- includes the full functionality of the software,

- has a shorter license term than a commercial or academic license,

- can be installed on more computers at the same time,

- may only be used for testing purposes,

- must not be used for commercial purposes,

(2) The commercial license

- is not free,

- includes the full functionality of the software,

- has a license term of one year,

- may only be installed on a single computer (per-computer license)

- may be used for commercial purposes.

(3) The academic license

- has a lower price than the commercial license

- includes the full functionality of the software,

- has a license term of one year,

- may only be installed on a single computer (per-computer license)

- must not be used for commercial purposes.

All other types of use of the software, especially the translation, editing, arrangement, any other alteration (other than the exceptions in §§ 69d, 69e Copyright Act) and any other distribution of the software (offline or online) and its leasing or rental require the licensor's written consent.

The licensor may revoke the rights for good cause. On revocation of the rights of the customer the original software and any copies are to delete. On request of the licensor the customer will insure the deletion in writing.


The Licensor reserves all rights that are not expressly granted to you. To the following, you are expressly not authorized:

(1) to increase by whatever means the number of software instances licensed for you;

(2) the reverse engineering, decompile or disassemble the Software;

(3) the modification, changing, rental, temporary transfer or lease and sublicense the software;

(4) the total or partial transfer of the software or your rights granted under this agreement to a third party.


No ownership rights to the software are transferred to you. The licensor of MESHPARTS owns all intellectual property rights relating to the Software and reserves these to himself. This is also valid to any adaptations or copies. You acquire only a license to use the software.


The software is provided in the form available without warranty.


(a) Damages: The licensor of MESHPARTS is not obliged  to compensation for any special, incidental, consequential or indirect damages, damages resulting from tortious acts or punitive damages obligation arising out of the use or inability to use the software, including profit and system failures and data loss, even if advised of the possibility of such damages.

(b) Direct damages: MESHPARTS total liability for direct damages to property or persons (both in individual cases and in repeated cases) never exceeds EUR 50, -.


Duration: This Agreement becomes effective on the date on which you legally acquire the Software and will automatically terminate on the date specified in the installation surface.

Law and Jurisdiction: This Agreement is governed by the laws of the Federal Republic of Germany. At any action relating to this agreement, the courts of the State of Baden-Württemberg are responsible.

Entire Agreement: This Agreement sets forth the entire understanding and agreement between you and the licensor of MESHPARTS and can be amended only in a writing signed by both parties.

Waiver: No waiver of the rights set out in this agreement will be effective unless in writing and signed by a duly authorized representative of the party to be bound. No waiver of any past or present right arising due to a breach or failure to perform will be deemed a waiver of any future right arising from this agreement.

Severability: If any provision of this agreement is invalid or unenforceable, that provision will be interpreted to the extent necessary, limited, modified or removed if necessary, to eliminate the invalidity or unenforceability of the provision and the remaining provisions of this agreement shall remain unaffected.

15 Lizenzvereinbarung für die Software MESHPARTS


Diese MESHPARTS Add On for Ansyslizenzvereinbarung ("Vereinbarung") ist eine rechtsgültige Vereinbarung zwischen Ihnen (als Unternehmen, Forschungsinstitut oder Einzelperson) und dem geistigen Eigentümer bzw. Lizenzgeber von MESHPARTS, MESHPARTS GmbH.  Das im Titel dieser Vereinbarung genannte Produkt, sowie die Begleitdokumentation (im Gesamten als "Software" bezeichnet) unterliegen den urheberrechtlichen Bestimmungen der Bundesrepublik Deutschland sowie den Bestimmungen dieser Vereinbarung.

Die Software MESHPARTS ist lizenziert nur dann, wenn Sie die Bedingungen aus der "Lizenzvereinbarung für die Software MESHPARTS" akzeptieren. Wenn Sie "Yes, I accept." auswählen, dann akzeptieren Sie die Lizenzvereinbarung. Falls Sie den Bestimmungen dieser Vereinbarung nicht zustimmen, dann ist die Software nicht lizenziert. In diesem Fall unterlassen Sie das Herunterladen, die Installation oder anderweitige Nutzung der Software. Diese Software wird für Sie lizenziert; Sie erwerben nicht die Software selbst.


Gegenstand der Lizenzvereinbarung ist die Software MESHPARTS, die geistiges Eigentum von Herrn Alexandru Dadalau darstellt.  Dabei handelt es sich je nach Lizenzierungsart um eine Test-, kommerzielle oder akademische Softwarelizenz.  Lizenzierungskosten, falls vorhanden, werden durch ein Angebot des Lizenzgebers festgelegt.


Die Software besteht aus Programm (und ggf. Begleitdokumentation). Die Lieferung der Software  kann über alle gängigen Datenspeicherungsmedien erfolgen. Ein Anspruch auf Herausgabe des Quellcodes besteht nicht. Die Installation der Software auf der Systemumgebung des Kunden nimmt dieser selbst vor. Darstellungen in Testprogrammen, Produkt- und Projektbeschreibungen stellen, sofern nicht ausdrücklich als solche bezeichnet, keine Beschaffenheitsgarantien dar.

Anmerkung: Support für MESHPARTS wird, falls erforderlich, im Rahmen einer separaten Vereinbarung zur Verfügung gestellt.


Die vorliegende MESHPARTS Add On for Ansyslizenz kann je nach Lizenzierungsart eine Test-, kommerzielle oder akademische Softwarelizenz sein. Die Art der vorliegenden Lizenz ist wird in der Installations- sowie Benutzeroberfläche der Software spezifiziert.

Die vom Lizenzgeber gelieferte Software (Programm und ggf. Begleitdokumentation) ist geistiges Eigentum des Lizenzgebers, Herrn Alexandru Dadalau. Alle Rechte an der Software sowie an sonstigen im Rahmen der Vertragsanbahnung und -durchführung überlassenen Unterlagen stehen im Verhältnis der Vertragspartner ausschließlich dem Lizenzgeber zu.

Der Lizenzgeber räumt dem Benutzer ein nicht-ausschließliches, zeitlich und räumlich beschränktes Recht ein, die Software zu nutzen. Die Nutzung der MESHPARTS-Software ist zeitlich beschränkt. Bei Ablauf der Lizenz kann diese vom Herausgeber erneuert werden.

(1) Die Testlizenz

- ist kostenlos,

- beinhaltet die volle Funktionalität der Software,

- hat eine kürzere Laufzeit als eine kommerzielle oder akademische Lizenz,

- darf auf beliebiege Computer gleichzeitig installiert werden,

- darf nur für Testzwecke benutzt werden,

- darf nicht für kommerzielle Zwecke benutzt werden,

(2) Die kommerzielle Lizenz

- ist nicht kostenlos,

- beinhaltet die volle Funktionalität der Software,

- hat eine Laufzeit von einem Jahr,

- darf nur auf einem einzigen Computer installiert werden (per-Computer-Lizenz),

- darf für kommerzielle Zwecke benutzt werden.

(3) Die akademische Lizenz

- hat einen niedrigeren Preis als die kommerziele Lizenz

- beinhaltet die volle Funktionalität der Software,

- hat eine Laufzeit von einem Jahr,

- darf nur auf einem einzigen Computer installiert werden (per-Computer-Lizenz),

- darf nicht für kommerzielle Zwecke benutzt werden.


Alle anderen Arten der Verwertung der Software, insbesondere die Übersetzung, Bearbeitung, das Arrangement, andere Umarbeitungen (ausgenommen die Ausnahmen nach §§ 69d, 69e UrhG) und die sonstige Verbreitung der Software (offline oder online) sowie deren Vermietung und Verleih bedürfen der schriftlichen Zustimmung des Lizenzgebers.

Der Lizenzgeber kann die Nutzungsrechte aus wichtigem Grund widerrufen. Bei Widerruf der Nutzungsrechte wird der Kunde die Originalsoftware und vorhandene Kopien löschen. Auf Anforderung des Lizenzgebers wird er die Löschung schriftlich versichern.


Der Lizenzgeber behält sich alle Rechte vor, die Ihnen nicht ausdrücklich gewährt werden. Zu Folgendem sind Sie ausdrücklich nicht berechtigt:

(1) die Anzahl der für Sie lizenzierten Softwareinstanzen mit welchen Mitteln auch immer zu erhöhen;

(2) das Rückentwickeln (Reverse Engineering), Dekompilieren oder Disassemblieren der Software ist nicht oder nur in dem vom anwendbaren Recht zugelassenen Ausmaß gestattet;

(3) die Software zu modifizieren, abändern, vermieten, zeitweise überlassen oder verleasen, und für Ihre im Rahmen der Vereinbarung gewährten Rechte eine Unterlizenz zu erteilen;

(4) die Software oder Ihre im Rahmen dieser Vereinbarung gewährten Rechte weder ganz noch teilweise an einen Dritten zu übertragen.


Ihnen werden keine Eigentumsrechte an der Software übertragen. Der Lizenzgeber von MESHPARTS besitzt alle Anrechte auf geistiges Eigentum an der Software und behält sich diese vor; dies gilt auch für Anpassungen oder Kopien. Sie erhalten lediglich eine Lizenz zur Nutzung der Software.


Die Software wird in der verfügbaren Form ohne Gewährleistung bereitgestellt.


(a) Folgeschäden: Der Lizenzgeber von MESHPARTS ist nicht zu Entschädigungen für besondere, zufällige, mittelbare oder indirekte Schäden, Schäden resultierend aus unerlaubter Handlung oder verschärftem Schadenersatz verpflichtet, die sich aus der Nutzung bzw. nicht möglichen Nutzung der Software ergeben, einschließlich Gewinn- und Betriebsausfällen sowie Datenverlust, selbst wenn auf die Möglichkeit solcher Schäden hingewiesen wurde.

(b) Direkte Schäden: Die Gesamthaftung von MESHPARTS für direkte Schäden an Eigentum oder Personen (sowohl im Einzelfall als auch in wiederholten Fällen) übersteigt in keinem Fall EUR 50,-.


Laufzeit: Diese Vereinbarung wird zu dem Zeitpunkt wirksam, zu dem Sie die Software rechtmäßig erwerben, und endet automatisch zu dem in der Installationsoberfläche spezifizierten Datum.

Gesetz und Rechtsprechung: Diese Vereinbarung unterliegt den Gesetzen der Bundesrepublik Deutschland.  Bei jedweder Klage, die sich auf diese Vereinbarung bezieht, sind die Gerichte des Landes Baden-Württemberg zuständig.


Ungeteilte Vereinbarung: Diese Vereinbarung legt die gesamte Vereinbarung und Lizenz zwischen Ihnen und dem Lizenzgeber der MESHPARTS fest und kann nur in einem von beiden Parteien unterschriebenen Schriftstück geändert werden.

Rechtsverzicht: Ein Verzicht auf eines der in dieser Vereinbarung festgehaltenen Rechte wird erst wirksam, wenn dieser schriftlich erfolgt und von einem ordnungsgemäß bevollmächtigten Vertreter der zu bindenden Partei unterschrieben ist. Ein Verzicht auf ein zuvor oder derzeit gültiges Recht, der auf einen Vertragsbruch oder eine Unterlassung zurückzuführen ist, kann nicht als Verzicht auf künftige Rechte erachtet werden, die sich aus dieser Vereinbarung ergeben.

Trennbarkeit: Ist eine Bestimmung dieser Vereinbarung ungültig oder nicht anwendbar, wird diese Bestimmung im notwendigen Umfang ausgelegt, beschränkt, geändert oder notfalls abgetrennt, um die Ungültigkeit oder Nichtdurchführbarkeit der Bestimmung zu beseitigen; die übrigen Bestimmungen dieser Vereinbarung bleiben unberührt.

[1] Not fully implemented