Download as pdf or txt
Download as pdf or txt
You are on page 1of 110

SOFiSTiK

Basics

SOFiSTiK | 2020
SOFiSTiK
Basics

SOFiSTiK Manual, Service Pack 2020-2 Build 131

Copyright © 2019 by SOFiSTiK AG, Oberschleissheim, Germany.

SOFiSTiK AG

HQ Oberschleissheim Office Nuremberg


Bruckmannring 38 Flataustraße 14
85764 Oberschleissheim 90411 Nuremberg
Germany Germany

T +49 (0)89 315878-0 T +49 (0)911 39901-0


F +49 (0)89 315878-23 F +49(0)911 397904
[email protected]
www.sofistik.com

This manual is protected by copyright laws. No part of it may be translated, copied or reproduced, in any form or by
any means, without written permission from SOFiSTiK AG. SOFiSTiK reserves the right to modify or to release
new editions of this manual.

The manual and the program have been thoroughly checked for errors. However, SOFiSTiK does not claim that
either one is completely error free. Errors and omissions are corrected as soon as they are detected.

The user of the program is solely responsible for the applications. We strongly encourage the user to test the
correctness of all calculations at least by random sampling.

Front Cover
Project: Queensferry Crossing | Photo: Bastian Kratzke
Contents | SOFiSTiK

Contents

Contents i

1 Introduction 1-1
1.1 SOFiSTiK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.2 Examples for the Use of the Software . . . . . . . . . . . . . . . . . . . . . . 1-1

2 How to use SOFiSTiK 2-1


2.1 Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.2 SOFiSTiK FEA Specifications and Limits . . . . . . . . . . . . . . . . . . . . 2-3
2.2.1 Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.2.2 Cross Sections and Materials . . . . . . . . . . . . . . . . . . . . . 2-3
2.2.3 Meshing and Modelling . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.2.4 Analysis and Design Limits . . . . . . . . . . . . . . . . . . . . . . 2-4
2.2.5 Load case numbering scheme defaults . . . . . . . . . . . . . . . 2-4
2.3 Program Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.3.1 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.3.2 Analysis Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.3.3 Design Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.3.4 Postprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.4 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
2.5 Input Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.6 Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.7 Interactive Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
2.8 News . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
2.9 Name Conventions of the SOFiSTiK Files . . . . . . . . . . . . . . . . . . . . 2-9
2.10 Backup of Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.11 SOFiSTiK Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.11.1 Language Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.11.2 Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12

3 Interfaces 3-1
3.1 CDB Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.2 Export to DAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.3 IFC Import and Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.4 Extensions for Autodesk® Revit® . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.5 SOFiSTiK Rhinoceros Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2

4 Conversion of Projects (Structural & FEA) 4-1


4.1 Preliminary note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.2 Conversion of Project files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.2.1 SSD Project files (.sofistik ) . . . . . . . . . . . . . . . . . . . . . . 4-1

SOFiSTiK 2020 i
SOFiSTiK | Contents

4.2.2 SOFiPLUS(-X) Project files (.dwg ) . . . . . . . . . . . . . . . . . 4-1


4.2.3 Database (.cdb ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.2.4 CADINP Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2

5 SSD - SOFiSTiK Structural Desktop 5-1


5.1 User Interface SSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.2 Basic Work Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.2.1 Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.2.2 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.2.3 Template Files name.sofistix . . . . . . . . . . . . . . . . . . . . . 5-1
5.3 Structure and Function Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
5.3.1 Calculation Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
5.4 Special Features for Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

6 Graphical Input SOFiPLUS(-X) 6-1


6.1 General Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
6.2 Way of working . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1

7 Input with TEDDY 7-1


7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
7.2 Starting the Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
7.3 Important Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
7.3.1 Combinations with the Alt key (selection) . . . . . . . . . . . . . 7-2
7.3.2 Combinations with the Ctrl key (selection) . . . . . . . . . . . . . 7-2
7.3.3 Overview of all Ctrl- / Alt-Commands . . . . . . . . . . . . . . . . 7-3
7.3.4 Example with Column Block . . . . . . . . . . . . . . . . . . . . . . 7-3
7.4 Input of Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
7.5 Help and Interactive Manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
7.5.1 Activating the Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
7.6 TEDDY the SOFiSTiK - Commander . . . . . . . . . . . . . . . . . . . . . . . 7-4
7.7 TEDDY - Chapter and TEDDY - Label . . . . . . . . . . . . . . . . . . . . . . 7-5
7.8 CADINP customer defined templates . . . . . . . . . . . . . . . . . . . . . . . 7-6

8 CADINP - Input Language 8-1


8.1 Definitions and Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
8.1.1 Lines (physical sentences) . . . . . . . . . . . . . . . . . . . . . . . 8-1
8.1.2 Records (logical structure) . . . . . . . . . . . . . . . . . . . . . . . 8-1
8.1.3 Separation Characters . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
8.1.4 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
8.2 Input Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
8.2.1 Basic Input Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
8.2.2 Default Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
8.2.3 Repetition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
8.2.4 Increments/Decrements . . . . . . . . . . . . . . . . . . . . . . . . 8-3
8.2.5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
8.2.6 Record Continuation . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
8.2.7 Record Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
8.2.8 Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
8.2.9 Defining Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
8.2.10 Help-Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5

ii SOFiSTiK 2020
Contents | SOFiSTiK

8.2.11 Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5


8.2.12 List of Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
8.2.13 Conversion of Units . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
8.2.14 LET - and STO - Variables . . . . . . . . . . . . . . . . . . . . . . . 8-7
8.2.15 Arithmetic Expressions . . . . . . . . . . . . . . . . . . . . . . . . . 8-9
8.2.16 FUN - Definition of functions . . . . . . . . . . . . . . . . . . . . . . 8-11
8.2.17 LOOP, ENDLOOP - Loops and Jumps . . . . . . . . . . . . . . . 8-12
8.2.18 IF - Logical Conditions . . . . . . . . . . . . . . . . . . . . . . . . . 8-13
8.2.19 @CDB - Selection of a CDBASE . . . . . . . . . . . . . . . . . . . 8-15
8.2.20 @KEY - Access to the CDBASE . . . . . . . . . . . . . . . . . . . 8-16
8.2.21 @() - Access to the CDBASE . . . . . . . . . . . . . . . . . . . . . 8-16
8.3 General Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18
8.3.1 HEAD – Title Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19
8.3.2 END – End of an Input Block . . . . . . . . . . . . . . . . . . . . . 8-19
8.3.3 TXB – Introducing Text . . . . . . . . . . . . . . . . . . . . . . . . . 8-19
8.3.4 TXE – Concluding Text . . . . . . . . . . . . . . . . . . . . . . . . . 8-20
8.3.5 <TEXT> – Text block . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20
8.3.6 </TEXT> – End of a text block . . . . . . . . . . . . . . . . . . . . 8-21
8.3.7 ECHO – Output Control . . . . . . . . . . . . . . . . . . . . . . . . . 8-21
8.3.8 UNIT – Units for Input/Output . . . . . . . . . . . . . . . . . . . . . 8-22
8.3.9 PAGE – Control of Input/Output . . . . . . . . . . . . . . . . . . . . 8-23
8.3.10 SIZE – Graphic Format . . . . . . . . . . . . . . . . . . . . . . . . . 8-26
8.4 Generation of Pictures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29
8.4.1 <PICT> – Start of a picture . . . . . . . . . . . . . . . . . . . . . . 8-29
8.4.2 GNT – Scale of a picture . . . . . . . . . . . . . . . . . . . . . . . . 8-29
8.4.3 GPL – Polyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29
8.4.4 GPM – Polymarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-30
8.4.5 GFA – Fill Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-30
8.4.6 GGDP – Generalized Drawing Primitive . . . . . . . . . . . . . . 8-31
8.4.7 GTXT – Text Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-32
8.4.8 GSCA – Dimensioning . . . . . . . . . . . . . . . . . . . . . . . . . 8-32
8.5 Attributes of Graphic Representations . . . . . . . . . . . . . . . . . . . . . . 8-33
8.5.1 GCOL – Colour Selection . . . . . . . . . . . . . . . . . . . . . . . 8-33
8.5.2 GPLI – Polyline Attributes . . . . . . . . . . . . . . . . . . . . . . . 8-33
8.5.3 GPMI – Polymarker Attributes . . . . . . . . . . . . . . . . . . . . . 8-35
8.5.4 GTXI – Text Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35
8.5.5 GFAI – Fill Area Attributes . . . . . . . . . . . . . . . . . . . . . . . 8-36
8.6 Insertion of a Picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-37
8.6.1 <LINK> – Insertion of a Picture . . . . . . . . . . . . . . . . . . . 8-37
8.7 Parametric Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-38
8.8 Compatibility of Data files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39

9 DEF - Environment Variables 9-1

10 Starting an Analysis 10-1


10.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
10.2 #DEFINE - Parameter Substitution . . . . . . . . . . . . . . . . . . . . . . . . 10-2
10.3 #INCLUDE - Block Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3
10.4 APPLY - Integration of data during the calculation . . . . . . . . . . . . . . . 10-4
10.5 #IF - Conditional Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4

SOFiSTiK 2020 iii


SOFiSTiK | Contents

10.6 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5


10.7 Iterative Analysis with Multiple Modules . . . . . . . . . . . . . . . . . . . . . 10-6
10.8 Operating System Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7
10.9 Job History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7
10.10 Start of a Single Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8
10.11 Special Features for Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9

11 Output 11-1
11.1 Result Output with the Report Browser . . . . . . . . . . . . . . . . . . . . . 11-1
11.1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
11.1.2 Activation of Report Browser . . . . . . . . . . . . . . . . . . . . . 11-1
11.1.3 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
11.1.4 Output in table format . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
11.1.5 Individual settings in the Report Browser . . . . . . . . . . . . . . 11-3
11.1.6 Printing Dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
11.1.7 Advanced Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
11.1.8 Functions in control tree . . . . . . . . . . . . . . . . . . . . . . . . 11-4
11.1.9 Special Features for Start . . . . . . . . . . . . . . . . . . . . . . . 11-5
11.2 Protocol File (.prt ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7
11.3 Graphical Output Result Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7
11.3.1 General Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7

12 Troubleshooting 12-1
12.1 General Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
12.2 Standard Warnings and Error Messages . . . . . . . . . . . . . . . . . . . . 12-1
12.3 Troubleshooting Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2
12.3.1 Problems with Database (*.cdb) . . . . . . . . . . . . . . . . . . . 12-2
12.3.2 Input Error in TEDDY Datafile . . . . . . . . . . . . . . . . . . . . . 12-2
12.3.3 Error in System Generation with SOFiPLUS . . . . . . . . . . . 12-2
12.3.4 Error during Calculation . . . . . . . . . . . . . . . . . . . . . . . . 12-2
12.3.5 Problems with Results . . . . . . . . . . . . . . . . . . . . . . . . . 12-3
12.4 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-4
12.4.1 Support Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . 12-4
12.4.2 Customer’s Obligation to Cooperate . . . . . . . . . . . . . . . . . 12-4
12.4.3 Support Request via SOFiSTiK Online Portal . . . . . . . . . . . 12-5
12.4.4 Support Request out of SSD / TEDDY . . . . . . . . . . . . . . . 12-5

13 Additional Information and Help 13-1


13.1 Administration Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
13.2 VERiFiCATiON Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
13.3 Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
13.4 Infoportal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
13.5 YouTube - Training and Presentation Movies . . . . . . . . . . . . . . . . . . 13-1
13.6 CADINP Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
13.7 Forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2

iv SOFiSTiK 2020
Introduction | SOFiSTiK

1 Introduction

1.1 SOFiSTiK
The SOFiSTiK AG develops and distributes engineering software with particular emphasis on
civil and structural engineering.

The software has been developed following a sophisticated concept, allowing the standard
user to reach a quick and efficient solution to a given task. Despite this the possibilities for a
specialist with experience in numerical methods are not restricted.

The software is made up of a modular structure and provides general available open interfaces.
The modules‘ numerical kernels are classic batch programs, these in turn are getting their input
from small text files and a database.

For each program module there is an own manual. The manuals contain information about the
theoretical backgrounds and descriptions for the input and output of the programs. We rec-
ommend to inform about the respective program module in the corresponding manual before
using the program.

1.2 Examples for the Use of the Software


For each program there are introducing examples. The input files for these examples are to be
found in the installation directory SOFiSTiK in the respective subdirectories programmname ⇒
english.

Furthermore the users have the possibility to get information about many features of
http://www.sofistik.com/Infoportal

Detailed examples do not only show the power of these programs but may be used as tem-
plates for your own solutions.

You can find further information about examples and help for the programs in this manual
chapter: 13 Additional Information and Help..

SOFiSTiK 2020 1-1


SOFiSTiK | Introduction

1-2 SOFiSTiK 2020


How to use SOFiSTiK | SOFiSTiK

2 How to use SOFiSTiK

2.1 Principles
The core of the SOFiSTiK analysis programs is a database (CDB). A set of programs, which are
addressed by standard text files or by graphical user interfaces, interchange all their information
through this database.

SOFiSTiK-Software consists of numerous different modules. For all beginners the ”SOFiSTiK-
Structural-Desktop” SSD is the best choice because it will handle many of the complex inter-
actions between the modules. There is a separate tutorial available, a short introduction may
be found in chapter 5 : SSD - SOFiSTiK Structural Desktop.

To exploit the full power of the software it is useful to know the modular structure and the
CADINP-command language as this is the most powerful and the most basic access method.
An experienced user will never disaccustom himself from the flexibility of applying CADINP
macros, especially for large complex systems. Especially the possibility to keep all secondary
information in comments and formulas is a very valuable feature.

There is the following organisation and operating structure:

• Input file or database creation manually or using a generation program


• Performing the Analysis
• Output of results and graphics

The process is not ruled by any rigid system, which means that the software is very flexible.
The user can always choose the most effective form of input for his purposes and is only
constrained by minimal obligations in sequences of analysis. Moreover it is possible to transfer
data between different computers and operating systems without difficulty.

SOFiSTiK 2020 2-1


2-2
PRE-PROCESSING PROCESSING / SOLVER
SOFiPLUS(-X) for Autodesk® AutoCAD®: AQUA: Materials and cross sections
Graphical system-, load- and cross section input SOFiLOAD(-V): Loads and loadfunctions (traffic loads)
(incl. AutoCAD OEM)
TENDON: Pre- and Post-tensioning for beams and shells
FEA Extension for Autodesk® Revit®:
CSM: Construction stages and time dependent effects
3D FE models and 2D subsystems for buildings
ASE: Finite element solver
Rhinoceros® Interface:
TALPA: 2D finite elemente in geotechnics
3D FE models for complex geometries
SOFiSTiK | How to use SOFiSTiK

HASE: Soil-structure interaction


Teddy / Text Editor:
Parametric text input language CADINP HYDRA: Seepage and thermal simulation
ELLA: Influence line evaluation
DYNA: Earthquake and dynamics for finite elements

Central Data Base


DESIGN / POST-PROCESSING CDB INTERFACES / BIM
MAXIMA: Enveloping VBA / Excel®: CDB export to Excel
SIR: Integration of slab- and shell results C++, C#, FORTRAN: Programming interfaces to CDB

Figure 2.1: Program Structure


BEMESS: Design of slabs, shear-walls and shell elements
IFC: Structural Analysis View (2x3)
AQB(S): Design for beams (P/T and composite)
AutoCAD / SOFiCAD: .dwg/.dxf and 2D FE rebar results
BDK: Eurocode stability checks for beam members
Revit / Reinforcement Generation: 3D reinforcement from FEA
COLUMN(-FD): Eurocode design of R/C columns (fire design)
FOOTiNG: Eurocode design of R/C footings

ANIMATOR: System- and deformation visualization


WinGRAF / WING: FE results and plots
RESULT VIEWER / RESULTS: Tabular and cross section results
REPORT BROWSER: Documentation

SOFiSTiK 2020
How to use SOFiSTiK | SOFiSTiK

2.2 SOFiSTiK FEA Specifications and Limits


This section gives an overview of some general software limits and specifications. Please note,
that this compilation is not meant to be exhaustive; more detailed or alternative limits may be
provided in the specific manuals of the respective program modules.

2.2.1 Database

Short description Max. size


Database file size limit CDBASEVER=501 (see chapter 9) (Default) 256 GB
Database file size limit CDBASEVER=503 (see chapter 9) 1024 GB

Table 2.1: Database size limits

2.2.2 Cross Sections and Materials

Short description Max. number of ID range


Materials 999 1 - 999
Materials per cross section 31
Cross-sections 9 999 1 - 9 999
Longitudinal reinforcement layers per cross-section 9
Number of shear cuts per cross section 255
Polygon vertices per polygon 255
Shear reinforcement layers per cross-section 15
Cross-sectional construction stages 10 1 - 9 999
Cross-sectional construction stages including prestressing 99
stages
Bore profiles 999 1 - 999

Table 2.2: Cross-section and material limits

2.2.3 Meshing and Modelling

Short description Max. number of ID range


Structural points 99 999 1 - 99 999
Structural lines 99 999 1 - 99 999
Number of structural regions 99 999 1 - 99 999
Number of structural volumes 99 999 1 - 99 999
Number of primary element groups 1 000 0 - 999

Table 2.3: Meshing and modelling limits

SOFiSTiK 2020 2-3


SOFiSTiK | How to use SOFiSTiK

2.2.4 Analysis and Design Limits

Short description Max. number of ID range


Processable load cases 999 999 1 - 999 999
Number of construction stages 9 999 1 - 9 999
Combination rules 999 1 - 999

Table 2.4: Analysis and design limits

Hint
Though there is no strict limit on, e.g., a maximum permissible element ID for process-
ing, it should be noted that program generated output is generally formatted to properly
support up to seven digits for all ID’s.

2.2.5 Load case numbering scheme defaults

Load cases Short description


LC 1 - 999 Single load cases
LC 1 000 - 1099 Load combinations (2nd Order Theory, Nonlinear LC,...)
LC 1 100 - 1 899 Results LC for SLS Design
LC 1 900 - 1 999 results LC for characteristic combination
LC 2 100 - 2 399 results LC for ULS Design
LC 3 970 - 3 999 CSM: Comparison loadcases - cast in one (CTRL cast)
LC 4 000 - 4 999 CSM: Total CS displacements and forces
LC 5 000 - 5 999 CSM: Difference displacements and forces
LC 6 000 - 6 999 CSM: AQB inner stresses from creep and shrinkage
LC 7 000 - 7 999 CSM: Stress results of the AQB-LCST-evaluation
LC 10 001 - 10 999 Eigenvalues

Table 2.5: Default ID ranges adopted for load case numbering

2-4 SOFiSTiK 2020


How to use SOFiSTiK | SOFiSTiK

2.3 Program Modules


2.3.1 Preprocessing
Interactive programs:
SOFiPLUS(-X) Graphical input based on AutoCAD (-X: Incl. ACAD OEM)
Cross Section Editor Graphical input of cross sections with AutoCAD®
(part of SOFiPLUS(-X))

Batch-programs:
AQUA Materials and Cross Sections
SOFiMSHA Import and Export of Finite Elements and Beam Structures
SOFiMSHC Geometric Modelling
SOFiLOAD Loads and Load Functions
TENDON Geometry of Prestressing Tendons
CSM Construction Stage Manager

2.3.2 Analysis Programs


ASE General Static Analysis of Finite Element Structures
HASE Half-Space Analysis for Static Soil-Structure Interaction
TALPA 2D Finite Elements in Geotechnical Engineering
DYNA Dynamic Analysis
ELLA Extended Live Load Analysis
HYDRA Seepage and Thermal Analysis
STAR2 Statics of Beam Structures 2nd Order Theory
RELY Structural Reliability powered by Strurel
DOLFYN Fluid Dynamics powered by Cyclone Fluid Dynamics BV

2.3.3 Design Programs


MAXIMA Superposition
AQB Design of Cross Sections
BEMESS Design of Plates and Shells
BDK Buckling Resistance of Steel Members

2.3.4 Postprocessing
interactive programs:
Result Viewer Graphical and Tabular Finite Element Postprocessing
WiNGRAF Graphical Representation of Finite Elements and Beam Struc-
tures

Batch-programs:
WING Graphical Representation of Finite Elements and Beam Struc-
tures

SOFiSTiK 2020 2-5


SOFiSTiK | How to use SOFiSTiK

RESULTS Graphical and Tabular Finite Element Postprocessing


DBPRIN Print Results from the Database
SIR Sectional Results
DYNR Transient Results and Response Spectra
TEXTILE Cutting Pattern Membrane Structures

2.4 User Interface


After the installation of the software the explorer has linked several file extension types to
SOFiSTiK programs and allows a direct start.

These file types recognized by the explorer have the following contents:

The extensions .SOFISTIK are the project files of the SSD (SOFiSTiK Structural Desk-
top).

The extensions .DAT are input files. A double click will open the program TEDDY, with
the right mouse button you have access to WPS (run).

The extensions .CDB are database files. A double click will open the program Animator,
with the right button mouse you have access to:
Database Clean Locks Remove data base locks
Database Information Programmers diagnose tool
Export to DAT SOFiSTiK Export
Graphical Output (WinGRAF) Graphical presentation of data WinGRAF
Post-Processing Numerical presentation of data
(Result Viewer) Result Viewer

The extensions .plb are output files containing text and graphics. A double click will
invoke Report Browser.

The extensions .prt contain the log of the total analysis. They contain information about
error messages and warnings, statistics, parameters of the equation system, memory
usage and analysis time.

The extensions .erg are classical output files in text format. They have the similar content
as the .plb, but do not contain pictures.

The extensions .lst are the components making the ERG file. The LST file always
contains the result of the last module and may be helpful for fast error tracking.

GRA The extensions .gra are CADINP input files of the program WiNGRAF and can be
opened and modified with TEDDY.

The extensions .results are CADINP input files of the program Result Viewer and can
be opened and modified with TEDDY.

2-6 SOFiSTiK 2020


How to use SOFiSTiK | SOFiSTiK

2.5 Input Files


The input files are in a free input form in the so-called CADINP-format (see chapter 8: CADINP
- Input Language). This is a programmable macro-language which makes very efficient input
handling possible. For a static position there are multiple, even nested files possible.

The extensions .sir are input files which are generated by the program SIR. They can be
opened and modified with TEDDY.

The extensions .sofistix are special presentation files of the SSD (SOFiSTiK Structural Desk-
top). Using these files you can get default inputs in the SSD for selected systems for a further
processing.

2.6 Database
For each position of an analysis system one database with a project name and one or more
data files are created. The database can be valuable in large projects and therefore it should
be saved via backup.

In this context the term system is defined as the sum of all parts of a structure or substructure,
which interact statically during their lifetime. The programs SOFIMESH or SOFiPLUS generate
the analysis system for the structure being analysed. The total number and the type of the
elements are thus definitely defined. However for the analysis a partial system can be used.
This is defined by the group number. The user should keep this structuring in mind from the
earliest stages of the design.

Boundary conditions and material constants can be modified as desired. Load cases can be
analysed or superimposed by the use of certain modules. Design can be carried out and results
can be presented graphically. All results are saved as the most recent values. The analysis
of a load case with modified loads overwrites the previous results. When cross-sections are
modified, all the results that depend on them (reinforcement, stresses, etc.) are deleted if not
specified otherwise.

The database is managed by the system CDBASE. Its index sequential structure allows an ef-
fective access via a double key. The description of the data is given via the file CDBASE.CHM,
the subroutines can be obtained by users for programming purposes.

A database can be transferred in both ways to and from the AutoCAD based system SOFi-
PLUS.

A fully interactive program named DBINFO is available for handling the database. It not only
prepares statistical information but also allows for various output and editing possibilities and
has a powerful copy function.

The program DBINFO can be called with one of the following possibilities:

• from the SSD or TEDDY


- SOFiSTiK → Database Tools → Database Information
• from the Explorer
- Marking the database (name.cdb)

SOFiSTiK 2020 2-7


SOFiSTiK | How to use SOFiSTiK

- right mouse button → Database Information


• from the command shell

- open Command Shell in TEDDY via icon , call DBINFO and input the database name

After calling the program DBINFO the following menu appears:

a - Access history o - Output medium


s - Structure (Eements)
l - Loadcases
m - Merge 2nd database b - create a backup

d - Dump of records g - output with 8 Digits ON

e - Edit records ** on your own risk only !


z - Clear the error flag
(Clear all locks if called via DBINFO project Z)
q - quit

Please press the desired key

Option a prints a log file of all the programs that accessed the database. Options s and l give
information about the load cases and the elements stored in it.

Option m allows the import of load cases from another database. Although, this only makes
sense when both databases contain the same analysis system. Such a need exists mainly for
very large systems when several colleagues analyse different scenarios for the same system.

Option d displays content of the database. Option e allows the user to change the content of
the database. You only should do so on explicit order by a SOFiSTiK supporter. A description
of the content of the data base would be advantageous for this purpose.

When running DBINFO project,Z all error flags and all the record locks will be removed. These
result from a program crash for example. The removing of the locks is also possible in the SSD,
TEDDY or in the Explorer:

• from the SSD or TEDDY


- SOFiSTiK → Database Tools → Clean Locks
• from the Explorer
- Marking the database (name.cdb)
- RMB → Database Clean Locks

Hint
In the SOFiSTiK environment (see chapter 9: DEF -Environment Variables) you can

2-8 SOFiSTiK 2020


How to use SOFiSTiK | SOFiSTiK

(Hint continued...)

change the parameter CDACCESS=SINGLE. This will deactivate the multitasking pos-
sibilities and no record logs are created.

2.7 Interactive Modules


The modular structure reflects itself in the conception of the interactive modules. Instead of
a single window which changes between input and output views, the user can open several
programs with different windows which exchange messages and have access to the same
database. To change between the windows there are function keys and icons in the tool bar
within TEDDY, WPS, Report Browser and other programs:

The program WPS (wps.exe) to perform the analysis.

The program ANIMATOR for animated views of structures and results.

The program Report Browser to view and manipulate the print-out including graphics.

With TASKS it is possible to insert different analysis or design tasks (in analog mode to
the tasks SSD - SOFiSTiK Structural Desktop).

The program Result Viewer to generate sofisticated true scale graphics of the cross
sections and to create tables with numerical contents of the database.

The program WinRAF to generate sofisticated true scale graphics of the system, loading
and results.

2.8 News
SOFiSTiK programs are under continuous development. The manuals are constantly being
updated and they are packed together with the programs as PDF files. The changes in the
programs are gathered in HTML-LOG files, and are available for the user in several ways:

• SOFiSTiK publishes these files via the Internet.


• SSD and TEDDY provides an option for the LOG files under → Help.
• The files can be subscribed as RSS-Feeds by the SOFiSTiK Homepage.

2.9 Name Conventions of the SOFiSTiK Files


The most important files of SOFiSTiK software are the input files (.sofistik and .dat ) and the
database (.cdb ). The other types of files are:

The files of the SOFiSTiK programs have various extensions which have the following mean-
ings:

.exe Execution program (MS-DOS/Windows)


.dll Shared dynamic link library (Windows)
.cmd Batch file
.err Error file of a program module containing all error messages,
input records and output text in German and English

SOFiSTiK 2020 2-9


SOFiSTiK | How to use SOFiSTiK

.tab Contains other external data for programs (Tables)


.tax Contains user specific attitudes
.tbb Contains compiled data of the .TAB files.
.htm Latest changes file
These files contain the changes to each program since the
last manual, as well as the corrected errors.
.pdf Adobe portable document format (Manuals)
.chm Compressed HTML help files
.wtm Windows macro file for TEDDY
.def Definition file for parameters
.ini Parameter file for design codes

The following files result from an analysis:

.dat Input file, (not mandatory)


.dwg Input file for plan from SOFiPLUS, in which the analysis system and the
load are entered
.sofistik project files of the SSD (SOFiSTiK Structural Desktop)
.sofistix template file of the SSD (SOFiSTiK Structural Desktop)
.gra Input file from WINGRAF generated
.results Input file from Result Viewer generated

.lst Output file of the individual programs


.erg Output file of the entire analysis
.prt Protocol file of the entire analysis
.plb Result file with text and graphics
.cdb Database, should not normally be deleted.
.cde Eigenforms of dynamic analysis

.$dn As well as other files with $ (Windows) or z (Linux) and


.zdn a letter and number.
Restart files (e.g. stiffness matrix) may be deleted; however, these files may
have to be regenerated later, which can demand significant computing time.

.$0n As well as other files with $ (Windows) or z (Linux) and two


.z0n numbers.
Temporary work files can always be deleted. Usually these files are deleted
by the program itself if it finishes properly. Files with wild number combina-
tions in their names are auxiliary files of the operating system, which can
no longer be deleted due to a warm start of the computer.

.$$$ Auxiliary files under Windows which can be deleted.


.zzz Auxiliary files under Linux which can be deleted.

2-10 SOFiSTiK 2020


How to use SOFiSTiK | SOFiSTiK

.#nn Auxiliary files under Windows which can be deleted.


.ynn Auxiliary files under Linux which can be deleted.

.### These are error-log files under Windows which can be deleted.
.yyy These are error-log files under Linux which can be deleted.

.sdb Shadow database: This file is usually deleted by closing of all involved pro-
grams.

2.10 Backup of Data


Last but not least it must be mentioned that all valuable data can be destroyed under certain
circumstances. Beside clumsiness of the user, information on the hard disk can be destroyed
due to faulty hardware, operating system faults or program errors.

Therefore, a regular backup of relevant data is highly recommended. The basic rule is that
valuable information should always be stored in three independent medias, because an error
during a Backup may destroy both the copy and the original. Input data should be backuped
daily. In the case of larger projects the entire database, which is often the result of several
weeks of analysis, should be backuped in regular intervals.

Important files are the automatically created DAT-files as well as the .sofistik files, the project
file .dwg and the input files for the graphical postprocessing .gra . and .results . If your CDB
contains important information you may create a condensed Backup-version via the program
DBINFO. Within TEDDY there is a function to delete unimportant files in your project directories
( Clean Up ).

2.11 SOFiSTiK Options


For the SOFiSTiK programs there are three setting menus available for the specific SOFiSTiK
settings.

Menu Storage location


FILE Ribbon → User Options Options for the individual PC
These settings are stored in the Registry database.
FILE Ribbon → Project Options Options belonging to the project
These settings are stored in a file sofistik.def in the current
project directory.*

* The settings of the file sofistik.def in the project directory overwrite the default settings
of the parent directory.

2.11.1 Language Settings


There is a difference between the language of the dialogues and the input and output language
of the files.

SOFiSTiK 2020 2-11


SOFiSTiK | How to use SOFiSTiK

The language of the dialogues is stored within the Registry database on the local computer and
is adjustable under FILE RIbbon → User Options → SOFiSTiK General → General . The program
must be restarted to activate this change.

The input or output language of the files is saved in a file sofistik.def .

2.11.2 Units
The SOFiSTiK programs allow the input and output in the most suitable engineering units. The
units used in the database are expressed in SI-units kN, m, sec. However, other units can also
be used for input and output (e.g. N, mm or cm2 ) as well as a different number of decimals.

Three categories of units are distinguished:

mm Fixed unit. Input is always required in the specified unit.

[mm] Explicit unit. Input defaults to the specified unit. Alternatively, an explicit as-
signment of a related unit is possible (eg. 2.5[m] ).

[mm] 1011 Implicit unit. Implicit units are categorised semantically and denoted by a cor-
responding identity number (shown in green). Valid categories referring to the
unit ”length” are, for example, geodetic elevation, section length and thickness.
The default unit for each category is defined by the currently active (design code
specific) unit set. This input default can be overridden as described above. The
specified unit in square brackets corresponds to the default for unit set 5 (Eu-
rocodes, NORM UNIT 5).

Implicit units incorporate a semantic differentiation, e.g., ”system dimension”, ”cross-sectional


dimension” or ”geodetic height”. They are coupled to a (code specific) unit set, which is
defined in the corresponding INI-file. Alternatively, the unit set can be specified explicitly in the
System-dialog or via CADINP NORM. The unit set then assigns the actual explicit units, e.g.,
[ m] for ”system dimension”, [ mm] for ”cross-sectional dimension” and [ m] for ”geodetic
height”. The choice of a unit set determines the corresponding units for input and output
(which is a change of version 2012 in comparison to earlier versions). For each module run,
however, it is still possible to define possibly deviating temporary valid unit sets or single units
via CADINP command UNIT. The currently active input unit can be seen from the dialog context
or - for script based CADINP input - is provided in the TEDDY status bar via dynamic help
(Alternative: Enquiry of active units with CADINP command HELP.). A direct unit assignment
is always possible (see section 8.2.13 Conversion of Units).

Explicit units, on the contrary, are not controled by an underlying unit set. In analogy to im-
plicit units, however, they provide for an optional unit conversion at input (see section 8.2.13
Conversion of Units).

Fixed units are deprecated and have been removed for the most part.

The following unit sets are provided:

0 = Standard units (m, kN, sec with some historic deviations)


1 = German buildings (sections in cm, system in m)
2 = German steel construction, (sections mm,cm2 ,dm4 , system in m)
3 = Bridge construction (like 0 but internal forces in MN instead of kN)

2-12 SOFiSTiK 2020


How to use SOFiSTiK | SOFiSTiK

4 = Soil Mechanics (m, kN, sec)


5 = Structural Engineering (sections in mm, system in m)
6 = Metric system (All dimensions in mm, loads in kN)
7 = Mechanical (All dimensions in mm, loads in N)
8 = imperial (US-Units, inch, foot, lbs, kip)
8 = US customary (Imperial) Units (AASHTO: foot, lbs, kip)
9 = US customary (Imperial) Units (ACI/AISC: inch, lbs, kip)

The conversion to imperial units follows a convention from 1 July 1959 which has unified Amer-
ican and British definitions:

1 inch = 0.0254 m (precisely!)


1 yard = 0.9144 m
1 lb = 0.45359237 kg
(avoirdupois)
1 lbforce = 4.4482216 N

If the unit ton is used, it is always equal to the short ton (2000 lb).

SOFiSTiK 2020 2-13


SOFiSTiK | How to use SOFiSTiK

2-14 SOFiSTiK 2020


Interfaces | SOFiSTiK

3 Interfaces

3.1 CDB Interfaces


By using the CDB Interface you can extract the data from the SOFiSTiK Database CDB by
using Microsoft Excel (VBA), Python, C++, C#, Fortran or VB.NET.

Hint
More information about "SOFiSTiK Interface for VBA, Visual Basic .NET, C#, C++, Python,
Fortran and CADINP @KEY" can be found in the CDB_INTERFACES Manual.

The interfaces examples can be found by following:


C: <sofistik_installation> 2020 SOFiSTiK 2020 interfaces

Online Manual ”CDB Interfaces”:


www.sofistik.de/documentation/2020/en/cdb_interfaces.

3.2 Export to DAT


With the Export to DAT it is possible to convert information from the cdbase to a CADINP
input for a further use with the text editor TEDDY. Thus CADINP inputs can be generated from
graphical and interactive inputs via the cdbase. An input of the program SOFiMSHC can be
produced for example from a system generation with SOFiPLUS. The materials, the cross
sections and the loads can be selected material-, cross-section- and load-case-wise if desired.

The file call is done via the button from the SSD or TEDDY via

HOME Ribbon → Database tools → Export to DAT.

3.3 IFC Import and Export


SOFiSTiK allows to read and write data defined in the open standard of the Industry Foundation
Classes (IFC). Materials, sections, structural elements and loads can be exported from within
the SSD using the menue entry File → IFC Import/Export... . Thereby SOFiSTiK supports the
so-called ”Structural Analysis View” of the IFC, version 2x3 (see e.g. www.buildingsmart.de/
bim-know-how/ifc). In the same manner, an IFC-file of the respective version can be read in
and converted to a SOFiSTiK database. The IFC-import generates a textfile in the SOFiSTiK
input language CADINP which can be integrated within the SSD or a Teddy project.

However, most of the IFC-compatible software packages support only the ”Coordination View”,
which primarily consists of architectural building information and which is not directly applicable
for a structural analysis. IFC-files containing the ”Coordination View” can be read in using
Autodesk Revit or Autodesk Architectural Desktop. An export of an IFC-file in this format is not
possible, since the necessary (volumetric) information is not contained within the SOFiSTiK
model.

The following webpage provides a good overview about the different IFC-formats: www.
buildingsmart.de/bim-know-how/ifc.

After setting the conversion direction and the filename (*.cdb or *.ifc ) to be read in the Im-

SOFiSTiK 2020 3-1


SOFiSTiK | Interfaces

port/Export dialog, the conversion can be started using the command Apply .

3.4 Extensions for Autodesk® Revit®


The SOFiSTiK Interface for Autodesk® Revit® Structure provides a seamless integration of FE
analysis with all features of the SOFiSTiK software package. Automatic FE meshing, using
one of the most powerful 3D meshgenerators, can be started directly from Revit Structure to
allow quick system changes of the calculation model.

The current version of the Interface also offers many functions which made easier both the
communications between Revit Structure and the SOFiSTiK Software as well as the input in
Revit Structure.

The following features simplify the workflow:

• material mapping
• cross section mapping
• assign the SOFiSTiK group numbers directly in Revit Structure
• SOFiSTiK load distribution area for area loads acting on girders
• divide of area load for checkerboard-like load distribution in the case of flat slabs
• calculation of subsystems: export of a subsystem (e.g. plate with beams), where con-
nected members (e.g. walls, columns a.s.o.) are used as elastic or fixed supports

Immediate review of the structural model is possible starting ANIMATOR and WinGRAF directly
from Revit. The system can then be integrated into a SOFiSTiK Structural Desktop (SSD)
project to perform further analysis and design steps. The modification of the model is also
possible using SOFiSTiK’s AutoCAD add on SOFiPLUS.

3.5 SOFiSTiK Rhinoceros Interface


The SOFiSTiK Rhinoceros Interface extends the functionality of Rhino by the possibility to
define and generate a finite element model for a structural analysis with SOFiSTiK. Geometric
objects in Rhino like Points, Curves or Surfaces can be extended by structural information, like
cross-section or material properties. The generation of the finite element mesh, consisting of
beam and shell elements, can then be carried out from within the program.

A number of additional utilities, which will be combined in a SOFiSTiK toolbox, offer the possibil-
ity to visualize cross-sections (e.g. for renderings), to show structural properties as annotations
or to select objects by specific attributes.

With the installation of the SOFiSTiK Rhinoceros Interface, Rhino will be integrated into
the SOFiSTiK calculation environment (SOFiSTiK Structural Desktop), providing a seamless
change between modeling, meshing and further calculation steps without having to manually
convert data between different programs.

Similar as with nearly all other data in Rhino, also the structural information can be further
edited and changed using RhinoScript or user defined program extensions. This allows to
extend the functionality of the SOFiSTiK Rhinoceros Interface and customize it to company or
project specific needs.

3-2 SOFiSTiK 2020


Interfaces | SOFiSTiK

More information are available in the online ”Rhinoceros Interface” manual.

www.sofistik.de/documentation/2020/en/rhino_interface.

SOFiSTiK 2020 3-3


SOFiSTiK | Interfaces

3-4 SOFiSTiK 2020


Conversion of Projects (Structural & FEA) | SOFiSTiK

4 Conversion of Projects (Structural & FEA)

4.1 Preliminary note


This document compiles information and hints regarding the conversion of existing SOFiSTiK
projects (version 2018) for processing with the new version SOFiSTiK 2020.

Hint
We recommend not to switch the major release during one running project, please contact
[email protected] for individual support if you have to do so.

4.2 Conversion of Project files


4.2.1 SSD Project files (.sofistik )
When opening a project file into SSD SOFiSTiK 2020, the user is prompted to authorize an
automatic conversion process. During this process, all SSD related data formats are up-
graded.

Hint
After conversion, the project file can no longer be processed by earlier versions than
SOFiSTiK 2020 SSD version.

In addition, one automatic upgrade of the database (.cdb ) is being performed (see chapter
subsection 4.2.3).

If tasks are no longer existing in the new version their respective input will be converted in a
simple Text-Task.

4.2.2 SOFiPLUS(-X) Project files (.dwg )


When opening a project file into SOFiPLUS(-X) SOFiSTiK 2020, the user is prompted to autho-
rize an automatic conversion process. During this process, all SOFiPLUS related data formats
are upgraded.

Hint
After conversion, the project file can no longer be processed by earlier versions than
SOFiSTiK 2020 SOFiPLUS(-X) version.

In addition, one automatic upgrade of the database (.cdb ) is being performed (cf. subsec-
tion 4.2.3).

4.2.3 Database (.cdb )


The data formats in databases of version 2018 and 2020 are compatible to a large extent, but
not identical.

SOFiSTiK 2020 4-1


SOFiSTiK | Conversion of Projects (Structural & FEA)

Hint
Merging of data from different database versions is strongly discouraged; in this case,
quality and accuracy of data cannot be assured.

There is an automatic mechanism for the conversion of the data formats from version 2018 to
version 2020. This conversion is possible through:

• Conversion of the SSD project files (.sofistik) or


• Conversion of the SOFiPLUS project files (.dwg).

The conversion is also possible when opening directly the database into SSD
2020.

Hint
After conversion, the project file can no longer be processed by earlier versions than
SOFiSTiK 2020 version.

4.2.4 CADINP Commands


Due to the generic symbols of the CADiNP language, an automatic conversion is not possible
and is not supported (cf. subsection 4.2.3). SOFiSTiK’s strategy, regarding this issue, is shortly
outlined here.

Some CADINP commands may be labeled as deprecated. For these commands, the following
holds:

• They are (and remain) fully functional for the actual Major Release (Version 2020).
• Support of these commands will be discontinued at some point in the future (usually as
with the next major release).
• In most cases, documentation or input description for these commands is no longer avail-
able for the actual Major Release (Version 2020).
• Deprecated input commands are marked with a warning. Generally, this warning also is-
sues a specific hint regarding the recommended replacement.

Hint
It is recommended to avoid deprecated input commands and adopt the advised replace-
ment instead.

4-2 SOFiSTiK 2020


SSD - SOFiSTiK Structural Desktop | SOFiSTiK

5 SSD - SOFiSTiK Structural Desktop

5.1 User Interface SSD


The SOFiSTiK Structural Desktop (SSD) represents a uniform user interface for the total range
of SOFiSTiK software. The module controls pre-processing, processing and post-processing.

A double click on the program icon or on a file .sofistik will start the program SSD.

The system can be entered graphically with SOFiPLUS(-X) or as parameterized text input using
TEDDY. The control of the calculation and design process takes place using dialogue boxes,
which are accessed via the task tree.

The screen is divided into the three main areas: task tree, table area and work.

5.2 Basic Work Flow


The SSD is task oriented. The tasks are arranged in groups (e.g. the group ”System” contains
the tasks for materials, cross sections, geometry, loads and combination rules). When creating
a new project, the necessary groups and tasks are set by default depending on the chosen
problem.

5.2.1 Groups
The computational groups are organized in a tree-structure. This structure can be changed
by the user at any time, as the individual tasks can be dragged to the desired place with the
mouse. The user can remove or insert additional groups at any time with associated tasks.

5.2.2 Tasks
The tasks available are accessed via the right-click-menu in the task tree. They can be normally
inserted at any place within the tree. When you select the command Insert Task with the right
mouse-button RMB , the following dialogue with all available tasks appears.

Task Tree
In the task tree the options are accessed via the right-click-menu which automatically adjusts
itself to show only those available.

Work Area
The work area displays the ANIMATOR visualisation of the system by default. The work area
changes to WinPS during processing to show calculation status and the TEDDY for further text
input prior to analysis. The graphical input with SOFiPLUS(-X) operates within its own separate
window making the best possible use of dual monitors.

5.2.3 Template Files name.sofistix


For processing of frequently recurrent standard tasks, the Template files of the type
name.sofistix are provided. General templates are saved in a subdirectory of the SOFiSTiK
directory, for example C: <sofistik_installation> 2020 SOFiSTiK 2020 ssd-templates

SOFiSTiK 2020 5-1


SOFiSTiK | SSD - SOFiSTiK Structural Desktop

Adding User- defined Template Directories


For own Templates, the user can define further template directories.

SOFiSTiK → User Options → SSD-Template Path → File → Open → Add

In this directory, further subdirectories can be created. These subdirectories appear as tabs
and template icons. There is only one level of subdirectories available.

User Defined Template Files


Any file name.sofistik can be stored into the desired template directory as template
name.sofistix .

All current project settings can be saved as templates including the arrangement and sequence
of the tasks. The materials and cross sections are dependent on the chosen design code. A
fixed design code cannot be changed within the project. File → Save Project As Template ...

A later changing of the code is possible if the template is stored with ”Save tasks without
Design Code dependant information”.

The existing template directories are shown under directories. The saved file name.sofistix is
now available as a further template.

Usage of Template Files name.sofistix

File → New Project from Template...

The existing templates from the template path are offered.

Root directory:
- ”General”

The desired file name.sofistix is selected and stored under a new data file name with the
button ”Save As ...” into a project directory.

The new file contains all tasks of the template. In addition, the data (for example cross sec-
tions, geometry... etc.) from the template are transferred into the new file. The data is then
immediately ready for calculation.

With ”Templates without Design Code”, the design code can be altered. The materials, cross
sections, actions and if necessary other information which depends on the design code must
be checked and amended.

5-2 SOFiSTiK 2020


SSD - SOFiSTiK Structural Desktop | SOFiSTiK

5.3 Structure and Function Mode


5.3.1 Calculation Status
Every task has its own symbol to show the actual calculation status.

Without calculation Input is written directly into the database

green check mark no calculation required


blue cross old data → calculation required
red cross error message → calculation required
green cross warning message → calculation possible necessary

5.4 Special Features for Start


For special cases the user may start the program from a command shell by using the following
command lines:

SOFiSTiK 2020 5-3


SOFiSTiK | SSD - SOFiSTiK Structural Desktop

Parameter Description
+ or ++ Opens the last file or the last but one. Is used without a switch
- or / .
-nosingle Starts the application as a separate instance (no single appli-
cation).
-test A general test flag is set. This is only of interest for the devel-
opers. Depending on the level of development, an individual
message window is activated.
-noani When starting the SSD the automatical opening of the Anima-
torView is suppressed.
-dat:name When starting the SSD a complete DAT-file is created and the
SSD window is closed again immediately.

5-4 SOFiSTiK 2020


Graphical Input SOFiPLUS(-X) | SOFiSTiK

6 Graphical Input SOFiPLUS(-X)

6.1 General Hints


SOFiPLUS(-X) is a CAD-based preprocessor to define structures and loads for analysis with
SOFiSTiK programs. SOFiPLUS can be purchased as a pure add-on to AutoCAD or included
with an integrated AutoCAD OEM engine as SOFiPLUS-X.

For the structural analysis SSD and SOFiSTiK structural programs are needed.

The general workflow is described in the manual SOFiPLUS(-X). Additionally you can find
examples and tutorial movies for the individual features at the link Tutorials at the homepage
of the SOFiSTiK AG:

https://www.sofistik.de/documentation/2020/en/sofiplus/index.html
https://www.sofistik.de/documentation/2020/en/tutorials/index.html

or via our YouTube channel:

https://www.youtube.com/user/SOFiSTiKAG/videos

6.2 Way of working


The program SSD is started via the Program Manager or from the link on the desktop. Starting
a new project the dialog box ”SOFiSTiK: System Information” start appears on the screen,
because working without a database is not possible. The kind of preprocessing is set to
”SOFiPLUS(-X) - graphical Preprocessing”.

After closing the dialog box with OK several tasks are inserted in the project tree to the left. By
double-clicking the task ”GUI for Model Generation (SOFiPLUS(-X))” the program SOFiPLUS(-
X) is started. Now the structural system and the loads could be defined. Via the command
Export the elements forthe system generation and the loads are written into the SOFiSTiK
database (.cdb ) and so are available for further analysis.

To set the default kind of preprocessing to ”SOFiPLUS(-X) - graphical Preprocessing” use the
user options.

To enter the system for analysis, especially the sidebar is used. Warnings and/or errors during
writing into the database are also logged in the sidebar.

To become acquainted with the program SOFiPLUS(-X) you can retrieve an example project
from the Infoportal or do an online training out of our YouTube channel. Training courses - for
SOFiPLUS(-X) as well as for the program SSD - are offered regularly.

SOFiSTiK 2020 6-1


SOFiSTiK | Graphical Input SOFiPLUS(-X)

6-2 SOFiSTiK 2020


Input with TEDDY | SOFiSTiK

7 Input with TEDDY

7.1 Overview
TEDDY is a powerful control centre as well as an editor, which fully supports and utilises the
CADINP language (chapter 8 : CADINP - Input Language).

TEDDY provides you with an integrated help system listing all the possible commands at the
status line. By pressing F1 you will get the corresponding manual to a specific command
(PDF file) on your screen, without interfering with your editor. The ESC key will close the help
window.

Detailed explanations can be found at Help → Teddy Help .

7.2 Starting the Editor


TEDDY is a windows application and can be started by the standard methods.

A double click on the program icon or a DAT-file will start the program TEDDY

For special cases the user may start the program from a command shell by using the following
command lines:

ted [ /options] [ filename] [ line column]

filename:

As a filename you may also enter a + or ++ this will load the last or second last file
respectively. By using abc*.dat the open file dialogue will be started with the given
pattern match. The following command *.* will select the whole directory.

options:

/sSofistik-Pfad Path for the SOFiSTiK-executables (Change or set the environ-


ment variable SOFiSTiK=...)
/1 to /4 will create additional instances of TEDDY. The number will select
the colour of the TEDDY-icon.

Overview of the possible input commands:

Parameter Description
+ or ++ Opens the last file or the last but one. Is used without a switch
- or / .
-0 -1 -2 -3 -4 Allows the start of up to 5 instances
-nosingle Starts the application as a separate instance (no single appli-
cation).
-test A general test flag is set. This is only of interest for the devel-
opers. Depending on the level of development, an individual
message window is activated.

SOFiSTiK 2020 7-1


SOFiSTiK | Input with TEDDY

Parameter Description
Line No. The cursor is placed directly into the given line. The line num-
ber must be the last transferred parameter.

7.3 Important Commands


The most important functions are accessible via the function keys:

Key Description
F1 help to the current input record (quit with ESC key)
F2 search
F3 search again
F4 search and replace
F5 mark Block start or end
F6 copy marked block
F7 move marked block
F8 duplicate current line
F9 change window
F12 start analysis

Moreover there are a lot of special keys. These are combinations of the k ey or Ctrl key
and another key pressed simultaneously. These combinations are a very useful feature for
an experienced typist used to the touch typing method. Some of the combinations are given
below:

7.3.1 Combinations with the Alt key (selection)

Key Description
Alt + L marks several lines (block of lines)
Alt + B marks several columns (column block)
Alt + H remove block markers
Alt + R read file as block
Alt + W write (marked) block to a file
Alt + Z copy marked block

7.3.2 Combinations with the Ctrl key (selection)

Key Description
Ctrl + A marks all
Ctrl + C copy marked block

7-2 SOFiSTiK 2020


Input with TEDDY | SOFiSTiK

Key Description
Ctrl + V paste marked block
Ctrl + X cut marked block
Ctrl + S save file
Ctrl + Y delete Line
Ctrl + Z undo

7.3.3 Overview of all Ctrl- / Alt-Commands

A complete arrangement of all Ctrl commands, you will find in the TEDDY-help menu Help →
Ctrl commands.

7.3.4 Example with Column Block


An empty column block will be created:

• Alt + B -key for block start


• drag the block
• Alt + B - key for block start

The block is now marked with a certain colour.

• Alt + Z - key

The column number dialogue is now active. Now you can do a lot of things with the values in
the column, like generating sequences or calculating the sum of the values, just to mention a
few.

7.4 Input of Data


Every SOFiSTiK-program expects input data. The data is supplied in text files. The data is
stored in a certain sequence, so that each program knows where to get its data. An input
segment thus starts with the reserved identifier PROG and the name of the program for which
the data is to be used. A file may contain input to as many modules as desired or needed, e.g.

+PROG AQUA
//For the AQUA program

+PROG TENDON
//For the TENDON program

+PROG SOFIMSHA
//For the SOFIMSHA program

TEDDY is able to recognize a file as an input file by the structure of the very first line. It can for
example look as follows:

SOFiSTiK 2020 7-3


SOFiSTiK | Input with TEDDY

PROG AQUA

+PROG AQUA

-PROG AQUA

Further TEDDY assumes every file having the extension .dat to be a SOFiSTiK input file. You
may specify other extensions via the option Extras → File type .

Provided that the file progname.err exists, TEDDY can recognize all record names and their
corresponding commands. The status-line of the window displays the current record name and
its commands as well as the name of the module used and the current input language.

7.5 Help and Interactive Manuals


7.5.1 Activating the Help

Help is activated with the F1 key. The page of the manual, matching the current input com-
mand of the current program will be shown. The names of the manuals, which are in PDF
format, are composed with the progname and a special character sequence (_0 German or _1
English) indicating the language. They have to be available of course.

In a navigation window you will see the table of contents, which allows you to jump to the
theoretical- or the example sections in the manuals. But as soon as TEDDY becomes the
active window again, the help will automatically switch to the current manual page.

You may quit help with the Esc key, but only if TEDDY is the active window. As an alternate
method you can use the close X button.

It is possible to print out the complete manual or just a couple of pages. The layout of the
manual is optimised for a double sided print out.

F1

Close Help Esc

7.6 TEDDY the SOFiSTiK - Commander


Besides the editing features of TEDDY, it is used as a control centre of the total analysis. From
TEDDY you can start the calculations and call up the pre- and post-processing modules. To
execute these features a tool bar is supplied in TEDDY, which consists of the following icons:

Program start WPS F12

Quick start WPS (without prompt)

Quick start WPS only current module of the input

+/-PROG (Change of module selection)

7-4 SOFiSTiK 2020


Input with TEDDY | SOFiSTiK

+PROG (activate all modules)

-PROG (deactivate all modules)

+/-PROG from to Cursor

SOFiSTiK data files

Input file *.dat

Result file *.erg

List file *.lst

Protocol file *.prt

Animator (structure and results animated)

WinGRAF (graphical results)

Result Viewer (graphical results and output in lists)

Tasks (see also SSD)

Export to DAT

Archive

Clean up

Explorer

Command-Shell

7.7 TEDDY - Chapter and TEDDY - Label


A TEDDY input file can be structured by chapter entries and by label entries.

The chapters and labels are shown in the Teddy module tree and both are used as jump labels.

Chapter

Label

In the result file PLB single chapters can be opened and can be closed with Report Browser
by mouse click. The labels are designed as jump labels only.

Chapter entries can be placed only outside of the data blocks PROG/END

+PROG
...
END

!#!Chapter User's text


+PROG

SOFiSTiK 2020 7-5


SOFiSTiK | Input with TEDDY

...
END

With !+!Chapter in TEDDY a chapter is marked as open, with !-!Chapter it is marked as closed
(!#!Chapter is identical with !+!Chapter).

Label entries also can be placed within a data block PROG/END

+PROG
HEAD
!*!Label User's text
...
END

7.8 CADINP customer defined templates


Within TEDDY you can manage a custom template collection with your own examples, i.e.
you can save your templates in a separate TEMPLATES folder and access them directly with
TEDDY ( File → Examples/Templates in TEDDY).

This template directory can contain subdirectories that now can contain additional files. Thus,
own examples can be stored structured.

The path for the template folder can be set in the Windows environment with:

SOFiSTiK_TEMPLATES= ....

You can specify multiple template folders (separated by semicolon ";"). If the environment
variable SOFiSTiK_TEMPLATES is not set, the TEMPLATES folder is searched for in the SOFiSTiK
program directory (default).

Hint
If some !#!Info lines are inserted at the beginning of the template file, they are displayed
in the file tree as a tool tip, when you move the mouse over the file name.

!#!Info Example: Steel construction section


!#!Info Keyword: Stress
!#!Info Author: Max Miller
!#!Info Version: SOFiSTiK 2020
!#!Info Date: 2019-11-20

7-6 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

8 CADINP - Input Language

The input language CADINP for free input format of data is the result of a further development
of a project CADINT, which originated from the Federal Ministry of Research and Technology
for the study in the CAD area (M.Ahn, K.H.Böckeler, W.Haas / Eingabe Konventionen für CAD-
Programme, CAD-Bericht Kfk-CAD 39, Kernforschungszentrum Karlsruhe, 1976).

The variation of this format, which was developed by SOFiSTiK, includes several additional ca-
pabilities. In certain points it therefore has some deviations from the above mentioned CADINT
standard.

The full capability of the language can be achieved in combination with SPS and/or WPS, when
functions for block building and parameter substitution are used. CADINP and SPS represent
a full programming language for the calculation of problems in structural engineering, which
will outdo any guided GUI. The processing occurs in two stages.

• SPS or WPS use a single file or a set of sub-files to create an input file for every program
being used. This is called parsing. During this process globally defined text elements are
inserted and larger blocks are inserted or skipped. Strings are addressed with $(name).
The strings can be defined or undefined in the input file or the SOFiSTiK-environment. At
this stage no calculations have take place, that is why there is a difference, whether the
string A = ”2+2” is inserted at $(A)*3 or ($(A))*3.
• Each computational program starts its own CADINP processor, which then starts the arith-
metic calculations. The variables used within CADINP are marked with a # at the beginning.
They do not need any brackets and represent numbers. They can be converted to text input
data where needed, especially within comments. However they can only be used within the
local scope of the single program.

The combination of these two stages allows the description of a complete analysis systems by
means of manual calculations and documentation of the analysis assumptions and the resulting
computer calculations. This in turn produces a complete analysis document in the computer.

8.1 Definitions and Descriptions


8.1.1 Lines (physical sentences)
The input consists of lines. Each line contains up to 255 characters and corresponds to one
line on the screen.

8.1.2 Records (logical structure)


Similar or logical connected data are put together in records. Each record has a name. The
records do not have to conform with the line separation.

8.1.3 Separation Characters


The individual values within a record are separated by the separation character. One or more
blank characters (space bar) serve as separation characters.

SOFiSTiK 2020 8-1


SOFiSTiK | CADINP - Input Language

8.1.4 Data
Data can be numbers or text (=Literals). Numbers may have a sign and an exponent. If an
integer number is expected, the given number will be rounded to the nearest integer, e.g.

2 0.04 -.5 3.7E8 -0.5E-3

Texts are arbitrary strings of characters. Only the first four characters are significant. Text
should be delimited by apostrophes if there is danger of confusion with numbers, record names
or items, or if it includes blank spaces or the characters ’,’ or ’;’ or ’$’, e.g.

ALFA NODE 1S45 'A B' '1.45' 'A;B' "Ab"

With Version 2010 all international characters (UTF8) may be used, previous versions allowed
only the local code-page characters. However the short ident keys with exactly 4 characters
allow only for pure ANSI-characters (i.e. no Umlauts or accents).

Lower case characters are automatically converted to uppercase characters, as long as they
are not between apostrophes. However a few exceptions are enforced to upper case (e.g.
names of actions) to avoid ambiguites, these will be marked as LITnn instead of Litnn in the
column ”unit”.

If a literal contains a variable (see ) there are three cases to be distinguished:

• The literal has been defined with apostrophes and starts with an equal sign (=). In that
case the literal is passed unchanged but without the leading = to the program allowing to
define formulas. This if course only useful if the program can handle the literal in that form
as intended.
• If the variable has been defined with a literal, this content will be inserted instead of the
variable.
• If the variable has been defined with a value, this value will be formatted and inserted
instead of the variable in the literal.

For an optional literal i.e. instead of a number and for variables containing literals only the form
#name without any arithmetics or indices is allowed (e.g. A#1 with #1=25 yields ”A25”). If a
number with arithmetics is required an equal sign has to be added at the beginning. Thus #X/2
will yield the literal "‘25/2"’, while =#X/5 will yield the number 12.5.

Within a real pure Literal however the #() function with the format as a second parameter i.e.
#(#ALPHA,8.3) has to be used. The integer part of the format selects the number of total
characters (8), while the decimal part selects the numbers of decimal digits (3). The first
argument may be any complex arithmetic expression.

8.2 Input Syntax


8.2.1 Basic Input Format
• The input consists of records.
• The input record consists of the record name followed by data in the order specified in the
input description.
• Each record occupies one input line.

8-2 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

• The record name can be omitted when the record is of the same type as the preceding one.
• A record can start at any position in a line.
• The data is separated from each other by one or several separation characters.

8.2.2 Default Value


If the minus sign (-) is given instead of a data value, the program uses the corresponding
default value as specified in the programs description. This has been used in the past also to
skip unwanted items. As this is strongly dependant on the sequence of the items which may
change sometimes, it shouldn’t be used any more.

If less data is entered for some record than its description demands, the corresponding default
values will be used in the place of the missing data.

The minus sign must be embedded between separation characters.

Default values can be redefined inside a header record that defines a table.

8.2.3 Repetition
If the equal sign (=) is entered in the place of a data value, the program will use the corre-
sponding value of the preceding record. However this is only possible if the record name has
not been changed.

If two equal signs (==) (with no blank spaces in between!) are entered, all of the values in the
following records will be the same. Positioning of the preceding record is not considered.

If the value of the previous record is a generation instruction or a list of values, the generation
or the complete list will be repeated.

The repetition characters must be enclosed in separation characters.

8.2.4 Increments/Decrements
If a double plus or minus (++ or --) is entered in the place of a data value, the program will use
the corresponding value of the preceding record incremented or decremented by 1. This will
also work with Literals, Lists and Generation sequences. However this is only possible if the
record name has not been changed.

The increment/decrement characters must be enclosed in separation characters.

8.2.5 Comments
The comment characters $ , ! or // turns the rest of a line into a comment, which will be ignored
by the program. All this comment operators should be separated from the comment itself and
the input data in the same line with a separation character.

Within a +PROG-line (see SPS) only the $-character is allowed as a comment and it must be
separated by blancs. Within a +SYS-command line no comments are allowed at all.

8.2.6 Record Continuation


A double dollar sign $$ means that the input record is continued in the next line.

SOFiSTiK 2020 8-3


SOFiSTiK | CADINP - Input Language

The characters following $$ are considered as a comment.

A separation character must be entered right before $$. Thus it is not possible to write expres-
sions or a list of values extending more than one line.

8.2.7 Record Partition


More than one record can be in the same line. The records must be separated by a semicolon
(;). The semicolon needs not to be between separation characters. This feature is not valid for
the input of text lines (e.g. HEAD).

8.2.8 Positioning
By entering a name of an item inside a record, you can provide the value for that item regardless
of its position.

Example:
A record is defined by the items K1 K2 K3 K4 K5. The following input is then equivalent:

RECORD 1.00 - - 2.00 3.00


RECORD 1.00 K4 2.00 3.00
RECORD K1 1.00 K4 2.00 K5 3.00
RECORD K4 2.00 K1 1.00 K5 3.00

8.2.9 Defining Tables


The predefined order of the input data can be altered by entering a record consisting only of
the names of the items. In this case the following records must not contain a record name, as
this would reinitialize the sequence of items.

The last example could have also been given as:

RECORD K1 K4 K5
1.00 2.00 3.00

A table definition remains valid until a new record name is entered or the same record name is
repeated. Inside a table the positioning is still possible even for those items not defined in the
table definition.

The default values can be modified inside the header of a table by following the item with an
equal sign (=) and the new default value without any separation characters.

RECORD K1 K2 K5=4
1 2 6
2 5
3 6 -

is equivalent to

RECORD K1 K2 K5
1 2 6
2 5 4
3 6 4

8-4 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

Such a construct is also a nice suitable solution to the problem of ambiguous literals. If a literal
value exists (e.g. GRP) for the first item position which is also a valid record name, a change
of the sequence and perhaps a default assignment may solve this problem without the need to
use quotes:

BEAM TO TYPE PA FROM=GRP


1 TEMP 30
2 TEMP 25

8.2.10 Help-Record
A list of the possible record names can be obtained by entering HELP. HELP followed by a
record name prints a list of the items of the record. HELP followed by a record name and an
item name will print the allowable input values and parameters for the corresponding position.

This option is meaningful especially during interactive error finding.

8.2.11 Generation
An instruction for automatic record generation can be given instead of a data value. In this way
a series of records can be created automatically.

When generating a record the command must be enclosed within parentheses. Its elements
must be separated by separation or underline characters.

There are two types of generation instructions:

primary automatic generation instruction

(Start_value End_value Increment)

secondary generation instruction

(Start_value Increment)

The primary generation instruction specifies the number of the individual records to be gener-
ated. It can be used only once per record, yet in any position inside the record. The corre-
sponding secondary generation instruction can be defined for every parameter.

The generation of literals is also possible. The increment is then also considered as a literal
but may contain only numbers.

The increment can also be negative.

Long sequences of generated data may accumulate numerical round off errors. Thus if the
specified end value of a primary generation instruction is not reached with an accuracy of
0.0001 of the increment, or more than 9999 values would be created an error message will be
issued and the generation will not start.

Example:

NODE (1 5 1) 0 (0.5 -0.1)

generates the input records:

SOFiSTiK 2020 8-5


SOFiSTiK | CADINP - Input Language

NODE 1 0 0.5
NODE 2 0 0.4
NODE 3 0 0.3
NODE 4 0 0.2
NODE 5 0 0.1

Example:

REIN (A0.1 D0.4 10.1)

generates the input records:

REIN A0.1
REIN B0.2
REIN C0.3
REIN D0.4

8.2.12 List of Values


A list of values can be given instead of a generation loop . This is a series of values separated
by commas or underline characters.

Value,Value,Value,Value e.g. 1,2,7,9

A list of values may not contain any separation characters and can not be spread across
multiple lines.

When several lists of values are defined within a single record, their number of values must
agree not only with each other, but also with any other defined primary generation.

The maximum number of values per list is limited by an internal amount of memory. A list of 25
values is usually possible.

A list of values can also be built up by fixed literals (LIT). Combinations of numbers and literals
or a list of freely defined literals are however not allowed.

8.2.13 Conversion of Units


For every numerical value, list of values or generation it is possible in general to append the
input unit explicitly in square brackets. So instead of definig a length in the default unit m as
0.3048 it is also possible to specify 304.8[ mm] or 12[ in] . This option is available for explicit
and implicit units (see section Units). CADINP will check if the specified unit is permitted, i.e.,
belongs to the family of related units.

If a unit is defined in a table header, this unit identifies the default unit for all data in the re-
spective column; it may be overwritten with an explict definition of course. If only a default unit
should be selected but no default value, the default value may be omitted, e.g.,

NODE X=[m] Y=5.0[m] Z=[mm]

8-6 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

8.2.14 LET - and STO - Variables


One can define variables to be used in the following records. After the leadin LET# (only valid
within current program) or STO# (value will be saved to database) the name of the variable is
appended directly (up to 16 characters of an alpha-numerical text, 1st character has to be a
letter) and an optional index. For temporary variables a simple numerical positive value may
be also used as name. The variables can be used then instead of numbers. This item is
followed a separation character and the value to be assigned to the variable. The value may be
either numeric or a literal inclosed in quotes. LET# or STO# do not alter the currently defined
record name and thus must be given in each assignment. Names of variables must not contain
special characters or collide with a reserved sequence of characters like (SIN, COS or SQR).
Instead of one numerical value a list of values or a primary generation instruction or a literal
may be entered. In this case the rest of the values is assigned to the variables following the
input variable. This defines an array if a named variable is used.

The unit of a variable is depending on the context, where this variable is used. Thus it is not
possible in general to use the same variable for a section definition in [ mm] ] and a system
definition in [ m] . But it is possible to assign a unit to a variable, then the given value will be
converted immediately and the value can be used everywhere. If a variable has been assigned
a unit, it will be inherited to all other variables and expressions. However this will also trigger a
check if the obtained unit is allowed for the current use.

If for example a stress is expected and defined as #P/#A, both variables may have no unit,
#P may be a force and #A an area, or #P may be a load per length while #A is a width. If
a constant is added or subtracted to a variable, the constant will be taken as specified in the
same unit.

An array has for all members the unit which has been defined for the item with index 0.

A variable is used if a leading # sign allows the clear identification as a variable name. If the
expression starts with an additional leading = character, all unidentified characters will be taken
as variable names.

For local usage the legacy convention to use scalar variables with pure number between 1 and
9999 instead of a name is still supported.

LET#TXT 'My Text' ! Assigning a literal


LET#11 4,5,6 ! Assigned to legacy variables 11,12,13
LET#A 4,5,6 7,8,9 ! 4,5,6 and 7,8,9 are assigned to A[0:5]
LET#A(2) 5.1 ! Assignment to a single array element
LET#1 #A ! Using first element of array
LET#1 =A(1) ! Using second element of array
LET#A(3) 7,8 ! Assignment to consecutive elements (3) and (4)
LET#1 #A(#i) ! Access to the element with index #i
LET#1 #A(2) ! Using third element of array
LET#B #A(:) ! Copy all elements of array A to array B
LET#B #A(3:) ! Copy all elements starting at 3 of array A to array B
LET#B #A(2:4) ! Copy 3 elements starting at 2 of array A to array B
LET#B #A(2:3) #A(5:6) ! Create a new array with different sequence
// (but lists of sub-arrays are not allowed)
LET#C #A(#11) ! Value of the variable, whose number is

SOFiSTiK 2020 8-7


SOFiSTiK | CADINP - Input Language

// stored in legacy variable 11


// is assigned to variable 4
LET#B 20[mm] ! Assignment with unit
LET#D 1.5[m] ! Assignment with unit
LET#A #B*#D ! Assignment with unit: A is 0.3[m2]
LET#X #B*#D[-] ! Assignment without unit: A is 0.3[-]

If a variable is assigned to an expression, the expression is calculated first and then its value
is assigned to the variable.

To print variables for debugging purpose you may use the construct PRT# with a similar syntax
for addressing the variable name. The name of the variable is expected without separation
characters immediately behind the #. For more comfort one should use TXB / TXE or <TEXT>
within literal text.

Variables with a name may be saved permanently in the database. The command STO#name
will save the current or specified value of this variable in the database, which then can be used
by all other programs accessing the database from that. E.g.

STO#C 30 ! Assignment and storage of the variable in the database

If a save variable should be removed from the database there is the command DEL#name.
For this case it is also allowed to specify wild card characters. The commands DEL#OPT* or
DEL#A?00 will delete all variables with that pattern. The use of DEL# within a control construct
like a loop or an IF-block may yield unexpected results.

For special cases it is possible to reinitialize a variable with the last saved value with the follow-
ing commands:

RCL#ALL Read all named variables


RCL#name Read one named variable/array
RCL#name(3) Read one entry of an array
RCL#name cdbfile Read variable from another CDB data base

Reserved Variable-Names
There are some reserved Names, which are automatically created by a programm run. The
user may use and redefine those names however within his CADINP-data block with new
values.

• Variables VERSION(0) and VERSION(1) will be preset with the version number of the Re-
lease (dll) and the program itself, allowing to define common input data for multiple versions.
• Variable PI will be preset to 3.141593.
• The arrays of variables GRP_MASS, SCT_MASS and MAT_MASS as well as GRP_REIN
and SCT_REIN are redefined after a print or evaluation of system statistics. They contain
the masses (MASS) and reinforcements (REIN) of all groups (GRP_) and section numbers
(SCT_) or Materials (MAT_), where the index 0 contains the total sum.

All other variables start with the first three characters of the program creating them followed by

8-8 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

an underline:

• ASE uses the array ASE_ITER as follows


ASE_ITER(0) = first load case number
ASE_ITER(1) = last load case number
ASE_ITER(2) = last achieved load factor
• Variables of Array AQB_USAGE will be set by AQB with the usage factors of the design
tasks of the last input block.
• All Variables starting with OPT_ are reserved for OPTIMA.

To trace the assignment of values, there is a command DBG#. This will toggle test prints
and an interactive debug mode. DBG# uses the variable #0, which can not be used for other
purpose therefore

DBG#0 No output of intermediate values


DBG#1 Output of the generated input records
DBG#2 Additional output of all value
assignments
DBG#3 Additional output of selected
structures (CDB access)
DBG#4 Printout to console stream/window
DBG#8 Input from console stream/window
(interactive mode)
DBG# Switch between option 15 and option 0
(=break and continue)
and
DBG# -2 Immediate STOP of total program run,
although all outstanding
TXE-Lines will be printed after the
error message

8.2.15 Arithmetic Expressions


In place of a numerical value any desired arithmetic expression may be used. The expression
may contain parentheses, but no separation characters.

The allowable operators are:

+ - Addition, Subtraction
* / Multiplication, Division
** or ^ Exponentiation

== <> Condition of equality/inequality


>= <= Relational condition
> < Relational condition
result: true (1.) or false (0.)
& | Bitwise logical operation on the
integer part with AND or OR

If no operator is given, a multiplication will be performed. The bindings of the operators are

SOFiSTiK 2020 8-9


SOFiSTiK | CADINP - Input Language

according to the mathematical rules. The logical operators have the same weight, thus it is
strongly recommended to use parentheses for combined expressions.

The following functions are allowed inside an expression:

SIN(x),COS(x),TAN(x) Trigonometric functions


ASIN(x),ACOS(x) Arc sine, arc cosine
ATN(x),ATN(y,x) Arc of tangent x or y/x
ARC(x) Convert angles to arcus
SQR(x) Square root
ABS(x) Absolute value
EXP(x) Exponents of e
LOG(x) Natural logarithm
LGT(x) Base 10 logarithm
DIV(x,y),xDIVy,DIV(x/y) Integer part of x/y
MOD(x,y),xMODy Division remainder of x/y
MOD(x) Division remainder of x/y
MIN(x,y,..),MAX(x,y,..) Minimum or Maximum numbers
RANDOM(x) random value between 0 and 1
(x=0 reinitialises the seed)
IIF(expr,val1,val2) returns val1 if expr is not
equal zero and val2 if expr
equals to zero.

Arithmetic expressions may also appear within a list of values or generation instructions. The
functions DEG, GON and RAD may be placed before any argument, but separated from it by
a comma. Their definition is kept if an assignement contains only one of those names (e.g.
LET#0 RAD).

Examples:

SIN(30.)+3*COS(45.) oder SIN30+3COS45


SIN(RAD,2.435)

100.+MOD(354,32) oder 100+354MOD32

120.+12.
3(5.0+4.0)

COS(#1) SIN(#1)
345*#11+##12

Interpolation and Tables:

A special feature is available when accessing arrays of variables. If the index is not integer, but
rational, an interpolation between the values of the array will take place:

LET#A(0) 10.0
LET#A(1) 14.0
LET#A(2) 16.0

8-10 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

LET#A(3) 17.0

LET#B =A(1.3) => #B = 14.6

The same procedure is also available for higher interpolation schemes. Then we need two
arrays of the X and Y values with the same length. These variables are then connected by a
special assignement of a literal as a table definition:

LET#X 0.0,2.0,3.5
LET#Y 0.0,100.0,100.0
LET#SIG 'TAB(X,Y)'

The expression #SIG(1.73) interpolates for this X-value betwen the given Y-values linearly. If
higher functions are requested, a third array is needed, giving the derivatives of the function:

LET#DY -,0,-
LET#SIG 'TAB(X,Y,DY)'

For the example above only the derivative at the middle point has been specified. Thus we
have quadratic parabulas for the interpolation function. If derivatives are specified at both ends
of an interval we have cubic splines as interpolation functions.

Variables and Literals:

In case it is required to store text in a variable this may be done with the LET/STO command
in the same way (The use of apostrophes is manadatory):

LET#TEXT 'ABCDEFGHIJK'

The text will be saved in blocks with 8 characters each in the name of the variable, #TEXT(1)
would thus be equivalent to ”IJK ” in the above example and it is possible to change that item
only, but there is no storage of single characters. However when using a text variable it is
possible to use sub strings with the format #TEXT(3:7) selecting the third to seventh charac-
ter. (Instead of the numbers any arithmetic expresssionas are also valid of course). A text
variable may be read from the CDB and it is possible to convert with a LET/STO command a
text to numbers. The following example will save the two numbers in variables #VALT(0) and
#VALT(1):

LET#TEXT '1.23,1.48'
LET#VALT VAL(#TEXT)

8.2.16 FUN - Definition of functions


If an arithmetic expression is needed more often or the meaning of a variable should be
changed during the run, it is possible to define a function. Such definition is done as a lit-
eral according to:

LET#F '=FUN(var,formulaexpression)'
! e.g.

SOFiSTiK 2020 8-11


SOFiSTiK | CADINP - Input Language

LET#F '=FUN(x,3*#x**3-2*#x**2+5*#x)'
LET#1 #F(1.234)

The Literal has to start with the character sequence ”=FUN(” , followed by a formal parameter
name, followed by an expression containing any variables defined so far. If the formal param-
eters name has been defined already, it will not be changed by the call. Recursive calls are
allowed.

8.2.17 LOOP, ENDLOOP - Loops and Jumps


The most powerful form of generation is achieved through loops. This form corresponds to
the FORTRAN DO-Loops or to the FOR NEXT loops of BASIC. The loop is initiated by the
record LOOP and terminated by the record ENDLOOP. A loop is executed as many times as
determined by the number following LOOP (Default 9999). It may also be terminated if the
expression following ENDLOOP becomes zero or negative. If the name of a variable is given
instead of the number after the LOOP, then the number of elements contained in that variable
will be used.

Loops can be nested up to 32 levels, containing any number of input elements. If LOOP is not
followed by a number, it will be performed at most 9999 times.

Each loop construction must not exceed 255 lines. Multiple records, however, can be entered
at the same line (separated by ;). If you still need more than 256 lines you have to specify
before the first LOOP

LET#LOOPSIZE number_of_lines

It is possible to store the index of the loop in a variable, if the name is appended to the LOOP
keyword. The index starts counting at zero. The variable may be changed within the loop, but it
will be restored after evaluation of the terminating condition in each cycle. Generation of nodes
and springs on a semicircle at a distance of 30 degrees.

LET#1 1 , LET#2 0.
LOOP 7
NODE #1 COS(#2) SIN(#2)
SPRI #1 #1 DX COS(#2) DY SIN(#2) CP 1.E5
LET#1 #1+1
LET#2 #2+30.
ENDLOOP

Instead of LOOP 7 / ENDLOOP you could use LOOP / ENDLOOP #2 < =180. With an endloop
condition one can leave a loop prematurely.

Example for two-level generation:

LOOP#1 3
TXB ADEF #1+1
LOOP 2
TXB BDIV 0.5 #1+1
TXB 0.2 1

8-12 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

ENDLOOP
ENDLOOP

creates:

ADEF 1
BDIV 0.5 1
0.2 1
0.5 1
0.2 1
ADEF 2
BDIV 0.5 2
0.2 1
0.5 2
0.2 1
ADEF 3
BDIV 0.5 3
0.2 1
0.5 3
0.2 1

If you want to run a loop over all elements of an array, this may be done by giving only the
name of the array (without the # ):

LET#A 10,22,34,55,76,83
LOOP#1 A ! Only the name, #A would be the value 10!
NODE #1+1 X #A(#1)
ENDLOOP

With a small extension it is also possible to store the number of elements in a variable, where
the value of 0 is obtained if the variable does not exist:

LOOP#NUM DEF(A)
ENDLOOP

8.2.18 IF - Logical Conditions


Conditional blocks are an important element of every programming language. The execution
of jumps (go to) is not possible within CADINP as it is proven to be able to solve any problem
without this feature. The conditional block is executed if the expression following the IF is
greater than zero. You might want to use the logical expressions for this. Texts may be only
compared with == and != operators, the comparison is case sensitive. As the complete string
on both sides of the operator is considered, no parentheses are allowed, they are part of the
strings.

! #1 is the control variable with possible values +1/-1


IF #1
! These lines are input when #1 > 0
! ...
ELSE

SOFiSTiK 2020 8-13


SOFiSTiK | CADINP - Input Language

! These lines are input when #1 < 0 or = 0


! ...
ENDIF

IF #1==12
! These lines are input when #1 equals 12
! ...
ELSE
! These lines are input when #1 does not equal 12
! ...
ENDIF

The generation of a CASE construction is available by using a series of additional ELSEIF


statements:

if (Condition_1)
....
elseif (Condition_2)
....
elseif (Condition_3)
....
else
....
endif

Example:

IF (#A < 0.3) ! condition 1


LET#VALUE 0.50
ELSEIF (#A>1.0) ! or condition 2
LET#VALUE 0.70
ELSE
LET#VALUE 0.50+0.20*(#A-0.3) ! else this value
ENDIF

VALUE

0.7

0.5

A
0.3 1.0
Figure 8.1: VALUE depending on A

8-14 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

That means that only one possibility is chosen for VALUE depending on A.

In special cases it is possible to create the following input which can be used in different
SOFiSTiK environments with various versions:

IF (#VERSION>=2012)
!....
ELSEIF (#VERSION==2010)
!....
ELSE // older SOFiSTiK Releases
!....
ENDIF

8.2.19 @CDB - Selection of a CDBASE


CADINP allows the access to data of any SOFiSTiK-Database. Of course you need a descrip-
tion of the contents of the database (cdbase.chm ). The syntax has three parts. The @CDB
selects the file name of the data base:

@CDB filename

Selects an arbitrary database filename.cdb . Default is the actual project database. An


explicit definition of this database is however not allowed.
All data within the CDB consists of multiple records with identical structures organised
within different 64-Bit indices KWH/KWL. In general each data record has a part containing
integer numbers and a second one containing the floating point data. The description of all
structures is given for the user within the file cdbase.chm and for the programs within the
file cdbase.cdb .

Materials, sections, load cases or other elements are organized to have a separate key for
every instance. With the given example of a definition like:

LET#mat KWL(MAT)
LOOP#M mat
TXB #mat(#M)
ENDLOOP

Other examples:

LET#sect KWL(SECT) !cross-section numbers


LET#sect KWL(9)

LET#sect KWL(LC_CTRL) !loadcases


LET#sect KWL(12)

LET#sect KWL(GPT) !structural points


LET#sect KWL(30)

LET#sect KWL(GLN) !structural sub-lines

SOFiSTiK 2020 8-15


SOFiSTiK | CADINP - Input Language

LET#sect KWL(31)

LET#sect KWL(GAR) !structural sub-areas


LET#sect KWL(32)

LET#sect KWL(SLVL_DEF) !storey levels


LET#sect KWL(34)

LET#sect KWL(DSLN_DEF) !design elements


LET#sect KWL(35)

the variable #mat will contain a list of defined material numbers which will be printed in the
following loop.

Instead of the argument MAT the name of any key defined in the (cdbase.chm ) or a direct
number may be given.

8.2.20 @KEY - Access to the CDBASE


@KEY KWH KWL [ SEL1 SEL2 SEL3 SEL4 SEL5 SEL6 IERR ]

Selects an access index KWH/KWL according to the CDBASE description. KWH is a 8


character identifier while KWL is an optional number (e.g. load case or section number).
Values KWL and SEL1 to SEL6 are preset automatically.
For special purpose an optional filtering rule given by up to 6 integer or 4 character key
values SEL1 to SEL6 may be specified. Key values which are not important or will be
defined with the access-function have to be specified as -1. The keys correspond to the
integer positions of the database.
The record index has to exist in the database. You will get an error otherwise. The read
position is set to the beginning of the index. If you specify for IERR a number of a variable
(for example 999), its value will be set to a positive value if the given key exists. If the
variable #CDB_IER has been defined, it will contain the same value.

8.2.21 @() - Access to the CDBASE


A record is accessed by the use of an arithmetic function @() as special case of an arithmetic
expression:

@(position+offset) or @(no,position+offset)

Reads from the database the next record, which passes the @KEY-filter which is modified
for the second case by ”no” at the position of the last defined KEY. The value of the ex-
pression is the stored data with the name ”position” or if position is a number the value at
the position relative to the last selection value of the filter. The value 0 and negative values
will therefore yield the integer values within the selection keys. An access to the index of
an array can be done via ”offset”.
The access function will start at the current position. If you access a value with the same or
a lower position, CDBASE will read the next record. If the end-of-file condition is encoun-

8-16 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

tered an error will occur if you have used the form @(position), while for @(nr,position) a
loop is used once and the function jumps to the beginning.
You may also specify two state variables. If these variables have been defined non negative,
the result values will be saved there and error messages will not appear:

• CDB_LEN for the actual length of the record


• CDB_IER for the error-flag
(0=ok, 1=record to short, 2=end_of_file, 3=key_not_defined).

This is required to prevent the program to enter an infinite loop.

To get the effective Iy -value of cross section 5 from the actual project-database, you enter:

@KEY SECT_EFF 5
LET#5 @(IY)

To use shell forces of the nodes 101 and 102 of group 2 of load case 12 you enter:

@CDB PROJECT1
@KEY QUAD_NFO 12 2 ! Selector Group 2
LET#101 @(101,MXX) ! moment m-xx
LET#102 @(102,MYY) ! moment m-yy

To get all support forces of nodes with last digit 0 as loads you may enter:

LET#CDB_IER 0
@CDB PROJECT1
@KEY N_DISP 12
LOOP ! All records
LET#10 @NR,@PX,@PY,@PZ
IF (#CDB_IER < 2)&(#10 <> 0) ! End or header
IF 0==MOD(#10,10) ! Last digit 0
LOAD #10 PX #11 #12 #13
ENDIF
ENDIF
ENDLOOP #CDB_IER < 2 ! To terminate the loop

To get the section number of the beam 101 (As we have to read two different cases alternate,
we can not use the predefined literals):

LET#CDB_IER 0
@CDB PROJECT1
! 4 Integer-Keys
@KEY 100 0 -1 -1 -1 -1
LET#NR 0

! ALL records
LOOP

SOFiSTiK 2020 8-17


SOFiSTiK | CADINP - Input Language

! 1. and 2. Integer
LET#10 @(-3),@(-2)
IF #10
! New BEAM
LET#NR #10
ELSE
IF #NR==101
LET#Q #11
ENDIF
ENDIF
ENDLOOP #CDB_IER < 2 ! To terminate the loop

For text elements saved in the database, a proper treatment is only possible if the data structure
is known. Respective by using the names defined in the cdbase.chm :

@KEY LC_CTRL 101 ! Action and designation of load case 101


LET#ACT LIT(@ITYP)
LET#TXT LIT(@RTEX)

! Designation of material 1
@KEY MAT 1
LET#MATTXT LIT(@TITLE)

8.3 General Records


The input consists of blocks. Each input block usually begins with the HEAD lines and ends
with an END record. Some programs allow the input of more than one block. The analysis is
ended in those cases when an empty block (END/END) is found.

The same layout is used in all manuals for the input description of all records. Apart from the
record name, which is written in a special box at the upper right, there are four columns in each
table.

• The first column contains the names of the items of the record.
• Explanations and allowable literals are given in the second column.
• The dimension of the input parameter can be found in the third column. The ”-” character
stands for a dimensionless parameter, a ”*” stands for values with different possibilities,
that are selected via PAGE UNII. LIT is given for items allowing only preddefined literals.
LITnn defines input, which can accept free text of up to nn characters. LITnn defines literals
which are enforced to upper case.
• The last column shows the default values. Here, the ”-” character means that no default
value exists, and that the parameter itself is not necessary. On the contrary, a ”!” means
that a value must definitely be specified. Finally, a ”*” means that the default values depend
on various conditions which are explained in the text.

8-18 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

8.3.1 HEAD – Title Lines

HEAD

Item Description Unit Default

Title line LT72 -

Up to 10 title lines can be defined. The first one is reserved for the structure description and
can only be defined in the programs AQUA, SOFiMSHA/B/C and in templates of the SOFiSTiK
series. This line is imported by all other modules from the database, thus it can not be changed.
The rest of the lines can freely be defined by entering the record HEAD followed by a separation
character and any desired text up to 72 characters. If no title lines are defined inside a data
block, the previous ones remain in use. See PAGE about specifying a page headline. Title
lines must not be delimited by apostrophes. Defaults of the Heading lines may be specified in
SOFiSTiK.DEF via the variables KOPF1, KOPF2 and KOPF3.

8.3.2 END – End of an Input Block

END

Item Description Unit Default

End of input or of an input block − -

The record END closes each input block. Inside a data block for instance, each single load case
of the analysis can be defined. The end of the entire input is defined by a double END record.
If this record is missing and the input file is at its physical end, this record is automatically
generated by CADINP.

8.3.3 TXB – Introducing Text

TXB

Item Description Unit Default

Introductory text LT72 -


Table continued on next page.

SOFiSTiK 2020 8-19


SOFiSTiK | CADINP - Input Language

Item Description Unit Default

8.3.4 TXE – Concluding Text

TXE

Item Description Unit Default

Closing text LT72 -

Any desired explanatory text can be added to an input block by TXB and TXE, either before
the analysis (TXB) or after it (TXE). The number of lines is unlimited. For each of those two
kinds of text, one may specify larger text blocks between <TEXT> ... </TEXT> and pictures
between the items <PICT> and </PICT>. However a picture is not allowed within a <TEXT>
... </TEXT> block.

The TXB/TXE - lines should not be entered between apostrophes. Within the text variables in
the form of #(variable,dd) will be replaced by their current value using the format dd.

HTML components may be used within the text. A component starts with a < not followed
by a blank or another < . Known components will be interpreted, unknown will be discarded.
SOFiSTiK programs know about (others will be discarded):

<FF> New Page


<LF> Blank Line
<b> .... </b> Bold
<i> .... </i> Italic
<u> .... </u> Underlining

8.3.5 <TEXT> – Text block

<TEXT>

Item Description Unit Default

Header of a text block LT72 -

8-20 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

8.3.6 </TEXT> – End of a text block

</TEXT>

Item Description Unit Default

End of a text block LT72 -

You may define a continuous block of text within the special record names <TEXT> and
</TEXT> without the need of specifying record names. The text will be appended to the
region selected by the last TXB or TXE command. The Text following the <TEXT> name will
become part of the table of contents in Report Browser.

The text block may be written to a file, by defining:

<TEXT,FILE=foobar.txt>

If a further text block should be added to the file, a + has to be input:

<TEXT,FILE=+foobar.txt>

For the definition of templates one can specify editable fields via special HTML-Tags:

<EDIT:name>$(name) </EDIT>
Editable Reference on Parameter value

<EDIT:name,Format=6.2>$(name) </EDIT>
Editable Reference on Parameter value
with a format of ”###.##”
(total width.decimal digits)
Format=6 reserves 6 characters wide
Format=-6 places left adjusted

<EDIT:name,List=str1,str2,str3>$(name) </EDIT>
Editable Reference on Parameter value
with a list box of allowed values

<EDIT:name,List=str1,str2,str3,Update=Yes>$(name) </EDIT>
Enforces an update of the template
immediately after input of data

8.3.7 ECHO – Output Control

SOFiSTiK 2020 8-21


SOFiSTiK | CADINP - Input Language

ECHO

Item Description Unit Default

OPT Echo option LT FULL


This parameter defines a set of output or computing
options, to which the record ECHO applies. The ac-
tual list of the possible options can be found in the
corresponding manual.
FULL stands for all output options.

VAL -1 or OFF no computation LT FULL


0 or NO no output
1 or YES normal output
2 or FULL extended output
3 or EXTR extreme output

At the beginning of the program all options for new results are preset to 1. The output pa-
rameter for already computed values (e.g. nodal coordinates in analysis programs) is set to
0. By entering ECHO NODE you can for example assign the value FULL to the option NODE.
Therefore the default value for VAL will only be activated if an ECHO record for this option is
given. The exact effect of all options can be found in the output description of the individual
manuals. You should generally note that the shortest possible output is achieved by YES, while
a rich output is obtained by FULL. By EXTR one achieves the output of values, which are ei-
ther useful in further computational steps or can use up a lot of paper. Thus, use of this value
should be made with care.

If the user wants to prevent the output of certain results, he must deactivate them explicitly by
NO. If for example one only wants the option REAC set, one must enter:

ECHO OPT FULL VAL NO


ECHO REAC

8.3.8 UNIT – Units for Input/Output

UNIT

Item Description Unit Default

TYPE No of a complete unit set (0-8) or Lt16 !


No or designation of an implicit unit item
USE The unit to be used for that item Lt16 *
Table continued on next page.

8-22 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

Item Description Unit Default

DIG Number of decimal digits − *


or E1 to E7 for exponential formats
SET Effectiveness LT INOU
OUT Output
IN Input
INOU Input and Output

The SOFiSTiK programs allow the input and output in the most suitable engineering units. The
units used in the database are stored based on SI-units kN, m, sec. The Units for input and
output will be preselected with the definition of the design code with a global set. However,
other units can also be used for input and output (e.g. N, mm or cm2 ) as well as a different
number of decimals. The record UNIT allows to specify within a current program run different
units to be used for input or output. It is possible either to select a complete unit set with TYPE:

0 = Standard units (m, kN, sec with some historic deviations)


1 = German buildings (sections in cm, system in m)
2 = German steel construction, (sections mm,cm2 ,dm4 , system in m)
3 = Bridge construction (like 0 but internal forces in MN instead of kN)
4 = Soil Mechanics (m, kN, sec)
5 = Structural Engineering (sections in mm, system in m)
6 = Metric system (All dimensions in mm, loads in kN)
7 = Mechanical (All dimensions in mm, loads in N)
8 = US customary (Imperial) Units (AASHTO: foot, lbs, kip)
9 = US customary (Imperial) Units (ACI/AISC: inch, lbs, kip)

It is also possible to select a specific object form the list of implicit units, specified in the CD-
BASE.CHM see 2.6 Database description (e.g. 1001 or GEO_LENGTH, see cdbase.chm).
Then a matching unit has to be specified at USE and optionally the number of decimal digits
just for this item may be selected.

8.3.9 PAGE – Control of Input/Output

PAGE

Item Description Unit Default

FIRS Number of the first page of the output − *


Negative entries turn page numbering off
LINE Number of lines per page − *
MARG Column number for left margin − *

Table continued on next page.

SOFiSTiK 2020 8-23


SOFiSTiK | CADINP - Input Language

Item Description Unit Default


LANO Output language, if implemented − *
0 German
1 English
2 French
3 Spanish
LANI Input language, if implemented − *
0 German
1 English

UNIO obsoleted: System of units for output − *


UNII obsoleted: System of units for input − *

FORM Format of page header − *


0 single line header
1 multiline header
2 ZTVK with graphic char.
3 ZTVK without graphic char.
4 short header

PRIL Printout level in the output file − 0


-2 error messages only
-1 warnings as well
0 additional information
1 computing times as well
PAG Identification of page LT12 *
(e.g. ”page II/”)

The record PAGE is somehow obsolete, because its parameters are derived from the operating
system or should be defined in the sofistik.def file. All parameters except the languages and
units may be defined in Report Browser at the time of printing.

Standard
SOFiSTiK AG * Bruckmannring 38 * 85764 Oberschleißheim Page 1
SOFiSTiK 2018 AQUA - GENERAL CROSS SECTIONS 2017-12-05
#HEAD1
#HEAD2
#HEAD3
#HEAD4
#HEAD5
#HEAD6

No Frame

8-24 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

SOFiSTiK AG * Bruckmannring 38 * 85764 Oberschleißheim Page 1


SOFiSTiK 2018 AQUA - GENERAL CROSS SECTIONS 2017-12-05
Materials and Cross-Section
Default design code is EuroNorm EN 1993-1-1:2005 Steel Structures (Europe) V 2018
Structure: A (Buildings)
Snow load zone : 1

With Frame
SOFiSTiK AG * Bruckmannring 38 * 85764 Oberschleißheim Page 1
SOFiSTiK 2018 AQUA - GENERAL CROSS SECTIONS 2017-12-05
#HEAD1
#HEAD2
#HEAD3
#HEAD4
#HEAD5
#HEAD6
Materials and Cross-Section

German ZTF-K Frame


In the ZTVK Version only the first 48 characters of header lines are used. The persistent name
of the company can be changed only by SOFiSTiK. However it is possible to change the name
for a specific project within the SOFiSTiK-Environment.

Author : SOFiSTiK AG * Bruckmannring 38 * 85764 Oberschleißheim


Program : SOFiSTiK 2018 AQUA - GENERAL CROSS SECTIONS
Structure : #HEAD1 ASB No.: Date:
#HEAD2 2017-12-05

Part : #HEAD3 Archiv No.:


Block : #HEAD4 Page 1
Record : #HEAD5
#HEAD6

German ZTV-ING Frame


In the sofistik.def few attributes should be manually inputted (Baumassnahme, Strassen-
bauverwaltung Aufsteller). Every HEAD input will fill the next free space in the Page Frame
options.

KOPF1 Baumassnahme
KOPF2 Strassenbauverwaltung
KOPF3 Aufsteller
KOPF4 Bauteil
KOPF5 Kapitel 1
KOPF6 Kapitel 2

SOFiSTiK 2020 8-25


SOFiSTiK | CADINP - Input Language

Baumaßnahme: #HEAD1 Bauwerksnummer (ASB):


Straßenbauverwaltung: #HEAD2
Aufsteller: #HEAD3 Date: 2017-12-05
Materials and Cross-Section

Default design code is EuroNorm EN 1993-1-1:2005 Steel Structures (Europe) V 2018


Structure: A (Buildings)
Snow load zone : 1

Materials
Mat Classification γ-M
1 S 275 (EN 1993) 1.00

Bauteil: #HEAD4 Page: 1

Kapitel / Vorgang: #HEAD5 Archiv No.:


#HEAD6

8.3.10 SIZE – Graphic Format

SIZE

Item Description Unit Default

TYPE Paper size − -URS


Positive value landscape format
Negative value portrait format
SC Scale − *
0 format filling
* engineering scale, best pos-
sible for filling the page
W Paper width cm *
H Paper height cm *

MARG Draws a border LT FULL


NO
draws an inner border + scale
here W and H define the size
of the area to be drawn at
(for single sheet plotters and
laser printers)
YES
draws a free border around
the drawing W and H define
Table continued on next page.

8-26 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

Item Description Unit Default

the size of the paper (2cm


margin, otherwise .5cm)
FULL
an additional border to cut the
drawing at the outer paper
limits is drawn (for drum
plotters)

FORM Form of the border LT *


STAN standard frame
ZTVK ZTVK-88 frame
URS Report Browser definition

This record appears within all programs having a graphical output. It defines the output format.
In general, there are two variations of the task.

• The user selects the paper format either implicitly using TYPE or explicitly by the width W
and the height H. The program can set the scale itself by picking the largest possible scale
with the common values of 1:1, 1:2 and 1:5 or their multiples. An explicit setting of the
scale SC will be used, if technically feasible. Setting SC to 0 results in the largest possible
drawing regardless of the scale.
• The user specifies the scale and by setting W and/or H to zero the appropriate paper size
is automatically chosen. If only one of the two values is set to zero, then the drawing size
will be automatically calculated to fit in the second direction, the scale does not need to be
defined in this case.

When using TYPE you can also specify the American formats or the special format for Hewlett-
Packard Plotters instead of the DIN sizes. In this case a frame is created around the picture
using the inputs of FORM and MARG. This picture will printed with program Report Browser in
exactly this form. In the case of URS or FORM URS a picture without a frame is created. Then
the frame is drawing from program Report Browser before printing. DINA URS correspond to
a DIN-A4 paper, in this case W and H change the picture size. FORM URS calculates the
pictures size from the given paper size, e.g. ”SIZE 3 FORM URS”; in this case W and H set
the paper size. A preceding minus sign selects the portrait orientation:

URS,-URS The maximum picture size usable within Report Browser

A,-A ANSI Paper A (11 x 8.5 inch)


B,-B ANSI Paper B (17 x 11 inch)
C,-C ANSI Paper C (22 x 17 inch)
D,-D ANSI Paper D (34 x 22 inch)

SOFiSTiK 2020 8-27


SOFiSTiK | CADINP - Input Language

HPA,-HPA Hewlett Packard Paper A (259 x 199 mm)


HPB,-HPB Hewlett Packard Paper B (416 x 259 mm)
HPC,-HPC Hewlett Packard Paper C (529 x 378 mm)
HPD,-HPD Hewlett Packard Paper D (809 x 528 mm)

HP4,-HP4 Hewlett Packard Paper 4 (276 x 193 mm)


HP3,-HP3 Hewlett Packard Paper 3 (404 x 276 mm)
HP2,-HP2 Hewlett Packard Paper 2 (564 x 366 mm)
HP1,-HP1 Hewlett Packard Paper 1 (787 x 564 mm)

WIN,-WIN Paper size of current WINDOWS printer


MP,-MP Matrix printers with 8 x 12 inch (200 x 287 mm)
LP,-LP Laser printers with A4 paper (198.4 x 280 mm)
MPW Wider Matrix-printers 14 x 12 inch paper
For these formats the default is MARG NO.

8-28 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

8.4 Generation of Pictures


With the following records true scale sketches may be inserted within the comments before or
after the analysis. The classical GKS-primitives Polyline, Polymarker, fill area and text are avail-
able. Further there are the generalized Drawing primitive and a special command to measure
distances which provides extended labelling possibilities.

8.4.1 <PICT> – Start of a picture

<PICT>

Item Description Unit Default

XCM Horizontal size cm *


YCM Vertical size cm *
TEXT Heading of picture Lt64 -

Every picture starts with the record <PICT> . It contains all elements up to the next </PICT>.
A transformation No 1 will be preset in cm as dimension.

8.4.2 GNT – Scale of a picture

GNT

Item Description Unit Default

NO Number of transformation − *
SC Desired Scale − -
XMIN Window of user-coordinates ∗ -
YMIN ∗ -
XMAX ∗ -
YMAX ∗ -
WXMI Window of workstation (paper space) cm 0
WYMI cm *
WXMA cm 0
WYMA cm *

A transformation is selected (only NO given) or defined with this record. The program will
automatically select an uniform scaling in all directions. If the user wishes different scalings
in X and Y-direction. he has to specify SC < 0 and all four coordinates of the window. GKS
supports three different transformations.

8.4.3 GPL – Polyline

SOFiSTiK 2020 8-29


SOFiSTiK | CADINP - Input Language

GPL

Item Description Unit Default

X1 Coordinates of Polygon ∗ !
Y1 ∗ !
X2 (Alternate definition of polygons is via multiple ∗ X1
records each containing only one single vertex X1,Y1.
This allows the definition of up to 255 vertices)
Y2 ∗ Y1
.... ... ...
X16 ∗ X15
Y16 ∗ Y15

8.4.4 GPM – Polymarker

GPM

Item Description Unit Default

X1 Coordinates of Polymarker locations ∗ !


Y1 ∗ !
X2 ∗ X1
Y2 ∗ Y1
.... ... ...
X16 ∗ X15
Y16 ∗ Y15

8.4.5 GFA – Fill Area

GFA

Item Description Unit Default

X1 Coordinates of Fill area ∗ !


Y1 ∗ !
X2 (Alternate definition of polygons is via multiple ∗ X1
records each containing only one single vertex X1,Y1.
This allows the definition of up to 255 vertices)
Table continued on next page.

8-30 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

Item Description Unit Default

Y2 ∗ Y1
.... ... ...
X16 ∗ X15
Y16 ∗ Y15

8.4.6 GGDP – Generalized Drawing Primitive

GGDP

Item Description Unit Default

TYPE Type of element LT CIRC


CIRC Full circle
BUTT Filled circle
ARC circular arc
VECT centred vectors
VEC1 starting vectors
VEC2 ending vectors

X1 Coordinates or ∗ !
Y1 Increments of coordinates of element ∗ !
X2 ∗ !
Y2 ∗ !
.... .... ....
X15 ∗ -
Y15 ∗ -

The GGDP is a method provided by GKS to create more complex primitives. With SOFiSTiK
these are:

CIRC A full circle with centre at (X1,Y1) and a point on the periphery (X2,Y2). OPT is not
used.
BUTT A filled circle with centre at (X1,Y1) and a point on the periphery (X2,Y2). OPT is
not used.
ARC A circular arc with centre at (X1,Y1) and a periphery from point (X2,Y2) to (X3,Y3).
OPT is not used.
VECT A single vector at point (X1,Y1) with the directional components (X2,Y2) or an array
of vectors extending along the base line from P1 to P3 to P5 etc in the direction P2,

SOFiSTiK 2020 8-31


SOFiSTiK | CADINP - Input Language

P4 P6 etc. VECT will draw the vectors with its centre at the baseline, while VEC1
will put the starting point and VEC2 will use the end point with the arrow head at the
baseline.

8.4.7 GTXT – Text Label

GTXT

Item Description Unit Default

X Coordinates of insertion point ∗ !


Y ∗ !
TEXT Text − -
VAL numeric value ∗ -
DIM Dimension − 1
ND Number of digits − *

Text may be positioned in several ways. The displayed text itself may be composed from a
given text and an numerical value. For the latter you may select a conversion and format
according to the cdbase.chm see 2.6 Database.

8.4.8 GSCA – Dimensioning

GSCA

Item Description Unit Default

X1 Coordinates of first point ∗ !


Y1 ∗ !
X2 Coordinates of second point ∗ -
Y2 ∗ -
TEXT Text − 1
VAL Numeric value ∗ *
DIM Dimension −
ND Number of digits −

GSCA is a special form of labelling. A dimensioning line will be drawn and a text will be written
at the line. The default of the text is the distance between the two points, but it may be specified
as explicit number and/or a given text. The combination of the default distance with a given text
requires the text to end with an equal ”=” sign. For the shown value a conversion and format
according to the cdbase.chm see 2.6 Database may be selected.

8-32 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

8.5 Attributes of Graphic Representations


The drawing elements Line, Mark, Text and Area can have various attributes. The user usu-
ally specifies all the attributes within the programs with graphical output by entering bundled
numbers. These are constructed according to the following expression:

nd = 1000 · co + 100 · br + typ

For Windows programs different palettes are foreseen for screens with bright or dark back-
ground as well as monochrome or coloured printers. You can change these definitions via
Report Browser Options in the Registry for all programs.

The following CADINP-records are only available within the picture definitions <PICT> ...
</PICT>. The comments and descriptions of the parameters are valid however for all other
graphical programs as well.

8.5.1 GCOL – Colour Selection

GCOL

Item Description Unit Default

COL Pen number or colour name − 1


R Red component − -
G Green component − -
B Blue component − -

GCOL selects the colour for all primitives. For COL you have the choice between one of the
numbers from 1 to 15 or the literals for the standard colours from below. If your device allows
it, you may specify a colour (recommended 9 to 15) by its RGB-components.

col = Colour Index 0 = background


STAN 1 = black or white (Pen 1)
RED 2 = red (Pen 2)
GREE 3 = green (Pen 3)
BLUE 4 = blue (Pen 4)
YELL 5 = yellow (Pen 5)
MAGE 6 = magenta (Pen 6)
CYAN 7 = cyan (Pen 7)
BROW 8 = brown (Pen 8)

8.5.2 GPLI – Polyline Attributes

SOFiSTiK 2020 8-33


SOFiSTiK | CADINP - Input Language

GPLI

Item Description Unit Default

IND Bundled SOFiSTiK-Index − 1


COL Colour (as with GCOL) −/ LT -
TYPE Line type LT -
SOLI solid
DASH dashed
DOT dotted
DDOT dash-dotted
NDAS narrow dashed
NDOT narrow dotted
NDDO narrow dash dotted
WDAS wide dashed
WDOT wide dotted
WDDO wide dash-dotted
WIDT Width factor of line − -
SCAT Style of dimensioning GSCA − 2
1 inclined small lines
2 small circles
3 arrow heads

For Polylines holds for the bundled index:

nd = 1000 · co + 100 · dt + type

widt = Line thickness factor 0 = normal thickness


1 = thickness times 1.4
2 = thickness times 2.0
3 = thickness times 2.8
4 = thickness times 4.0
5 = thickness times 5.6
etc.

type = line style 1 = continuous


2 = medium dashed
3 = medium dotted
4 = medium dotted dashed

8-34 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

5 = tightly dashed
6 = tightly dotted
7 = tightly dotted dashed
8 = sparsely dashed
9 = sparsely dotted
10 = sparsely dotted dash

8.5.3 GPMI – Polymarker Attributes

GPMI

Item Description Unit Default

IND Bundled SOFiSTiK-Index − 1


COL Colour (as with GCOL) −/ LT -
TYPE Marker type (Number or Literal) LT -
.+*oX
SIZE Scale factor − -

For Polymarkers hold:

nd = 1000 · co + 100 · sze + type

size = marker size 0 = normal size


1 = size times 1.4
2 = size times 2.0
3 = size times 2.8
4 = size times 4.0
5 = size times 5.6
etc.

type = Mark type 1 = . Point


2 = + Plus
3 = * Star
4 = o Circle
5 = x Cross

8.5.4 GTXI – Text Attributes

GTXI

SOFiSTiK 2020 8-35


SOFiSTiK | CADINP - Input Language

Item Description Unit Default

IND Bundled SOFiSTiK-Index − 1


COL Colour (as with GCOL) −/ LT -
H Text height cm -
BX Writing direction − 1
BY − 0
HALI Horizontal alignment LT NORM
NORM default of PATH
LEFT aligned to the left
CENT centred
RIGH aligned to the right
VALI Vertical alignment LT NORM
NORM default of PATH
TOP top of cell
CAP top of characters
HALF centre line
BASE writing line
BOTT lower bottom line
PATH Writing direction LT RIGH
RIGH to the right
LEFT to the left
UP upwards
DOWN downwards
EXPA Expansion factor − 1.0
SPAC Additional spacing − 0.0
FONT Font number − -

For text the following hold for the bundled index:

nd = 1000 · co + ƒ ont

font = Character style installation dependent

8.5.5 GFAI – Fill Area Attributes

GFAI

8-36 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

Item Description Unit Default

IND Bundled SOFiSTiK-Index − 1


COL Colour (as with GCOL) −/ LT -
STYL Fill area Style LT -
HOLL Hollow
SOLI Solid
PATT Pattern
HATC Hatch
BPAT Pattern with boundary
BHAT Hatch with boundary
TYPE Style index − -

For areas (Fill Area) for the bundled index holds:

nd = 1000 · co + 100 · sty + type

ibr = Fill Area Style 0 = hollow (only boundary drawn)


1 = solid (entire area filled)
2 = pattern
3 = hatch
type = Fill Area Style Index (only styl =2/3)

The effect of the parameter type is device dependent. Classical vector plotters for example
cannot represent any bit patterns. Pattern 1 corresponds to completely blank, whereas pattern
2 usually corresponds to a uniform sparse shading, which gets more dense by increasing
numbers. Special patterns are reserved from type=11 and above. Adding a 32 to a pattern will
make it opaque.

Different variations exist for opaque hatch lines, in one or two directions.

type 1/2/3 = vertical / horizontal / vertical+horizontal


4/5/6 = diagonal +45 deg / -45 deg / +45 and -45 deg
7-12 = as 1 to 6 dashed
13-24 = as 1 to 12 with larger scale
25,26 = reinforced concrete
27 = earth

8.6 Insertion of a Picture


8.6.1 <LINK> – Insertion of a Picture

SOFiSTiK 2020 8-37


SOFiSTiK | CADINP - Input Language

<LINK>

Item Description Unit Default

filename.bmp LT72 -

Pictures with BMP-format can be inserted with <Link> in input files and templates.

The insertion of pictures is not possible in a block for texts with <Text> ... </Text> or for
pictures which should be generated with <Pict> ... </Pict>.

8.7 Parametric Input


The current version of the input language CADINP allows the definition of standard input with
free parameters.

For example, a simple truss of the following type can be defined by:

Figure 8.2: Truss

The parameters here are the span width, the height as well as the cross-sectional area of the
bars. An input for SOFIMSHA could be defined as follows:

+PROG SOFIMSHA
HEAD TRUSS

LET#1 12.40 ! SPAN WIDTH


LET#2 2.30 ! HEIGHT

NODE 1 0 0 PP
(2 4 1) (#1/4 #1/4) 0
5 #1 0 PP
NODE 6 #1/4 -#2/2
7 #1/2 -#2
8 3*#1/4 -#2/2
TRUS (1 4 1) (1 1) (2 1) NCS 1
TRUS 5 1 6 NCS 1
6 6 7 ==

8-38 SOFiSTiK 2020


CADINP - Input Language | SOFiSTiK

7 7 8 ==
8 8 5 ==
TRUS (11 13 1) (2 1) (6 1) NCS 2
TRUS (14 15 1) (6 2) 3 NCS 2
END

More powerful data generation is available using loops. For example, the following input allows
the generation of a series of nodes on a hyperbolic arc:

+PROG SOFIMSHA
HEAD COOLING TOWER
! MERIDIAN HYPERBOLIC EQUATION (R/R0)**2-((Z-Z0)/ZZ)**2 = 1
! (R1/R0)**2-(-Z0/ZZ)**2 = 1 => (1/ZZ)**2
! (R2/R0)**2-((H-Z0)/ZZ)**2 = 1
! PARAMETER:
STO#H 160.0 ! TOTAL HEIGHT
STO#R0 30.0 ! SMALLEST RADIUS
STO#R1 55.0 ! RADIUS AT BOTTOM
STO#R2 35.0 ! RADIUS AT TOP
LET#1 SQR(#R1**2-#R0**2)
LET#Z0 #H*#1*(SQR(#R2**2-#R0**2)-#1)/(#R2**2-#R1**2)
LET#ZZ #Z0/SQR((#R1/#R0)**2-1.0)
LET#M 16 ! SUBDIVISION IN HEIGHT

TXB GENERATION OF A HYPERBOLIC COOLING TOWER


TXB HEIGHT RADIUS
TXB 0.0 #(R1,9.1)
TXB #(Z0,9.1) #(R0,9.1)
TXB #(H,8.1) #(R2,9.1)
TXB
TXB PARAMETER ZZ OF HYPERBOLIC EQUATION = #(ZZ,9.3)

LET#2 #H/#M ! DELTA-Z


LOOP#1 #M+1
LET#Z #1*#2
NODE #1*50+1 #R0*SQR(1.+((#Z-#Z0)/#ZZ)**2) 0.0 #Z
ENDLOOP
END

For the beginner these inputs are likely to be confusing, however, this is a very powerful pos-
sibility which allows to automize frequently happening calculations. Many macros have devel-
oped from simple beginnings.

8.8 Compatibility of Data files


Text based input data is suited to be used for long term storage of data, better than any propri-
etary binary format. Unfortunately the input syntax is changed some times,

SOFiSTiK 2020 8-39


SOFiSTiK | CADINP - Input Language

SOFiSTiK has to trade the readability of the manual, the catch of data errors and the compati-
bility of the data records.

Thus we have established the following guidelines:

• Input records will be extended most likely at the end of the structure, but if an entry fits
in better at an other position (e.g. third coordinate added) it will be inserted. Especially
designations will remain the last entry in most cases. Thus the user should use the names
of the item as a prefix for all extended data, eg.:

NODE 100 10.25 20.00 24.00 FIX PZ

For larger data volumes the use of a table is always favourable, the use of explicit standard
items ’-’ should be avoided. For exported data the deletion of ”unnecessary” data may help
to reuse elder data records.
• It is also possible that the names of a record or the items will be changed. This is a strong
indication for a changed syntax or data format. The general procedure is that there will be
a warning about an obsolete feature to be removed in a future release. We recommend to
change data records to be intented to be used in upcoming versions rather soon. Althouh
we try to keep the obsoleted input as long as possible, it will be removed from the manuals
for the next major release.
• The most critical issue is the change of the format for an unchanged item name. We try to
catch old data definitions (eg. mm instead of m) or to issue a warning about possible old
data (If a warning is issued, an explicit unit definition might clearify the subject.) But the
user should control his data after a switch to a new major release thoroughly.
• However a rather common case is that the defaults have to be changed. This may be
triggered by change of the design codes, a better programming logic or the demands of our
customers. There is no golden way. If one specifies only the minimum range of values, one
may reuse the data more easily, but it may happen that a new release will produce different
results. The default to select national dependant parameters depending on the settings
of the operating system is a nice feature, but it may create different results on different
computers and should be avoided therefore.

8-40 SOFiSTiK 2020


DEF - Environment Variables | SOFiSTiK

9 DEF - Environment Variables

Some parameters of the SOFiSTiK programs can be influenced by means of environment


variables. The supported set of environment variables is listed at the end of this section.
Primarily, environment variables can be used to affect:

• Settings for layout (paper size, output language etc)


• Parameters for the database CDBASE (buffer, multitasking etc.)
• Standard input records

The environment variables may be set using classical commands of the respective operating
system, e.g.:

Windows Desktop My Computer→Properties→Extended


Windows CMD SET parameter=value
Linux Bash eport parameter=value

It is recommended, however, to gather these parameters in one configuration file named


sofistik.def., which can also be provided project-specific. In this file all variables for SOFiSTiK-
Environment as well as any definitions of input blocks can be stored (see chapter 9: DEF
-Environment Variables):

e.g.
SOFISTIK_C=49
GRAFSIZE=SIZE -HP 0
HEAD1=New HQ of Xyz-Insurance-Company
STDMAT=CONC 1 B 35 ; STEE 2 BST 500

The definition of the input file has priority. Then comes the definition in the environment of
the operating system, and at last a definition in SOFISTIK.DEF. If for different projects different
properties are requested, it is recommended to save the SOFiSTiK.DEF file in the project
directory. This should be done when editing with TEDDY via SOFiSTiK → Options.

The following table contains the currently used values:

Variable Parameters possible values


(separated by comma)
SOFISTIK_NAME alternate user name
SOFISTIK_C nation 00 = Generic Europe
(International Telefon code) 01 = United states
49 = Germany
43 = Austria
41 = Switzerland
44 = Great Britain
81 = Nippon
86 = China

SOFiSTiK 2020 9-1


SOFiSTiK | DEF - Environment Variables

Variable Parameters possible values


(separated by comma)
91 = India
30 = Greece
31 = Netherlands
32 = Belgium
33 = France
34 = Spain
45 = Danmark
46 = Sweden
47 = Norway
39 = Italy
351 = Portugal
352 = Luxembourg
353 = Ireland
358 = Suomi/Finland

ch_set -2 = utf8
(character set of computer)
Input language 0 = German
1 = English
SOFISTIK_A Headder type in printout 0 = one line
1 = multiple lines
2 = ZTVK grafical
3 = ZTVK standard
chars

language of output 0 = deutsch


1 = englisch
2 = französisch
3 = spanisch
level of messages -3 = nothing at all
-2 = only error messages
-1 = errors and warnings
0 = statistics
1 = computing times
Units of output see cdbase.chm 2.6
SOFISTIK_P Parameters for LST/ERG files

9-2 SOFiSTiK 2020


DEF - Environment Variables | SOFiSTiK

Variable Parameters possible values


(separated by comma)

number of lines per page 68


No of columns left margin 6
No of lines bottom margin 0
No of lines top margin 0

Type of formfeed 0 = blank lines only


1 = form-feed character

Type of linefeed 0 = default


1 = convert UNIX to WIN

Total of printable columns 82

Pagenumber 0 = default
-1 = omit numbers
KOPF1 First Headder Line
KOPF2 Second Headder Line
KOPF3 Third Headder Line
SOFISTIK_PRODIR alternate directory for the Saves all project files without
database and project files explicit pathname
SOFISTIK_TMPDIR alternate directory for all tempo- Defaults to
rary project files SOFISTIK_PRODIR
PSJOBPAR Default Values for WPS/SPS see Chapter 10.11.
PSJOBINFO Time & File stamping for WP- see Chapter 10.11.
S/SPS
CDBASEMEM Size of Memory for CDBASE in default: 1MB
Bytes or MBytes
CDACCESS CDBASE multitasking feature SINGLE = deactivate
NOWAIT = do not wait
if locked
(useful for
remote analysis)
CDBASETEMP Directoryname for temporary Using TEMP or TMP if not
scratch files defined
CDBASEVER Version of CDBASE format CDBASEVER=501
maximum 256 GB (Default)

SOFiSTiK 2020 9-3


SOFiSTiK | DEF - Environment Variables

Variable Parameters possible values


(separated by comma)
CDBASEVER=503
maximum 1024 GB
SOF_NUM_THREADS Default number of threads to be NUMBER_OF_PROCESSORS
used or OMP_NUM_THREADS

The variables which are described in the above table have to be set in the SOFISTIK.DEF at
beginning before the first expression in parentheses:

SOFISTIK_C=...
SOFISTIK_A=...
SOFISTIK_P=...
[Layout-1]
....

9-4 SOFiSTiK 2020


Starting an Analysis | SOFiSTiK

10 Starting an Analysis

10.1 General
Each program expects its input data in a file. The input consists of records, which have a name
and are constructed in free format according to the CADINP rules.

Generally several individual modules are executed while working on a project. The interaction
of these modules is necessary for a complete analysis. In this case the normal procedure is to
gather the entire data in one or a few files, and through the appropriate records within the data
make calls to the respective programs.

In principle, an input file may be structured as follows:

PROG AQUA
HEAD
! Material and cross-section definition
END

PROG SOFIMSHA
HEAD
! Input data for FE-system
END

PROG ASE
HEAD
! Input data for analysis of 1st load case
END

PROG ASE
HEAD
! Input data for analysis of 2nd load case
END

! Copy the report file somewhere else ...


+SYS COPY "*.plb" d:

PROG WING
HEAD
! System and result plots
END

The first line should be a PROG line. Each module can be called as often as desired. The
order of execution of the programs corresponds to the order of the PROG lines in the file. If
-PROG is entered instead of PROG or +PROG, the associated module will be omitted. Single
modules can also be selected directly.

SOFiSTiK 2020 10-1


SOFiSTiK | Starting an Analysis

Hint
Processing a complete SOFiSTiK input file can be done either interactively using WPS or
alternatively as a batch-job using SPS.

10.2 #DEFINE - Parameter Substitution


SPS is further capable of making global replacements in the input file. The declaration of text
blocks must take place before they are used. This is done via a line #define text=name. The
name of a text block consists of up to 10 characters without $. The first character of a name of a
text block has to be a letter. The value of the text block is a text of arbitrary length. Parameters
within an assignment are not evaluated until the replacement. A redefinition of an assignment
is possible.

A parameter in the input data or in a block can be referred to by using the syntax $(name).
Blank spaces are not allowed between $ and (. Upper/lower case letters have no influence.
The replacement can be recursive. Definitions like $(A$(INDEX)) are allowed.

Example:

$PROG (extension for TEDDY)


#define LENGTH=3.70
#define WIDTH=30
#define HEIGHT=50
#define PLATE=50 20 10 80

PROG AQUA
CONC 1 B 25
STEE 1 BST 500
SREC 1 $(HEIGHT) $(WIDTH)
SREC 2 $(PLATE) ASU 2.3
END

PROG SOFIMSHA
SYST GIRD
NODE 1 0.0 0.0 FIX PP
NODE 2 $(LENGTH)/2 0.0
NODE 3 $(LENGTH)
BEAM 1 1 2 1
BEAM 2 2 3 1
END

Unlike the CADINP variables #() the $() variables are replaced by strings, so we can insert
literals or generation macros.

There are two default parameters, namely $(NAME) containing the primary name of the output
file and $(PROJECT) containing the name of the project. These can be helpful especially for
SYS commands.

Text blocks which are not defined in the input file can be set with a SET-record. When the

10-2 SOFiSTiK 2020


Starting an Analysis | SOFiSTiK

command (e.g. in the environment) is given:

SET SIZE=LP O FORM ZTVK

SPS can insert in all the files the relevant format:

SIZE $(SIZE)

Moreover it is possible to describe global parameters for SPS in a SOFISTIK.DEF file. This
results in a hierarchy of three layers:

Firstly a definition in the input data


Secondly the definition with SET (to be avoided!)
Lastly a definition in SOFISTIK.DEF

10.3 #INCLUDE - Block Definitions


By the use of block building several lines of the data can be used more than once at any point
in the dataset. A maximum of 256 internal blocks and an unlimited number of data blocks in an
arbitrary order are allowed. Blocks can be recursively built in a depth of up to 32 levels.

#DEFINE name Beginning of block name (up to 8 characters)


#ENDDEF End of block
#UNDEF name Delete a defined block
#INCLUDE name Insertion of block name from memory or file name

Using blocks does not only free the user from copying re-occurring input lines, but also enables
the use of sub-programs.

Example:

#define SECT
$PROG AQUA
$ TRAPEZOIDAL CROSS-SECTION PARAMETER BO,BU,H
POLY UPZ
VERT 1 #1/2 -#3/2
2 #2/2 #3/2
CURF 3
#enddef

PROG AQUA
STEE 1 ST 37
SECT 1 ; LET#1 0.60,0.20,0.60
#include sect
SECT 2 ; LET#1 0.60,0.30,0.60
#include sect
SECT 3 ; LET#1 0.60,0.30,0.70
#include sect
END

SOFiSTiK 2020 10-3


SOFiSTiK | Starting an Analysis

When inserting files in UNIX it is important to consider the lower/uppercase letters used for
the filenames! The old formats $BLOCK BEG/END/SET are still supported, but should not be
used anymore.

10.4 APPLY - Integration of data during the calculation


With the APPLY command a file can be included anywhere between two blocks in the input
data set, but not inside a module. This file should contain one or more module calls +PROG.

While with #INCLUDE (see Section 10.3: #INCLUDE - Block Definitions) the data are inserted
before the calculation into the data set, the APPLY command is executed during the computa-
tion, i.e. the data can be generated during a calculation and thereafter be inserted at the right
place.

Additionally APPLY is controlled with a sign +/- , that means with +APPLY the command is
executed, with -APPLY it will be skipped.

A typical example for the use of APPLY is the program CSM (Construction Stage Manager).
With the CSM a file $(NAME)_csm.dat is created. This file is inserted with APPLY into the
calculation.

+PROG CSM
...
END
+APPLY "$(NAME)_csm.dat" $ contains at least one +PROG
+PROG ASE
...
END

10.5 #IF - Conditional Input


IF THEN ELSE constructions can be defined. This means that larger input blocks can be
inserted and removed, which is more difficult using the IF constructions in CADINP, and that
several program calls can be grouped in one block.

The relevant control lines are familiar to all C-Programmers. In the first column the following
possibilities can be used:

#if expression
any line, also PROG and SYS
#else
any line, also PROG and SYS
#endif

”expression” may be just the name of a block or a variable which is evaluated to be true if it is
defined and not empty and not equal to zero. But it might be also a comparison $(MODE)==EC
or $(MODE) < >EC or $(MEMBERS)>3. Be aware however that the comparisons are purely
lexically based on strings, adjusted to the right for numbers, and to the left for all other cases.
Therefore we have A < B, AA < BA, 10 < 18 but unfortunately also 10.0 > 12.

If ”expression” is not true, the first block will be skipped and the block after #else will be used.

10-4 SOFiSTiK 2020


Starting an Analysis | SOFiSTiK

Naturally the second block can be omitted if not needed.

These constructions can be nested in up to 32 levels. An unmotivated #else or #endif will lead
to errors, as well as an unfinished construction.

Example:

#define DOAQB=0

#if DOAQB
PROG AQB
HEAD .....
LC .....
DESI .....
END
#endif

PROG STAR2
HEAD .....
#if DOAQB
$ Design with AQB
#else
DESI .....
#endif
.....
END

The indentation is only used for readability. In the above example STAR2 is used for the design.
If DOAQB=1, AQB is used for the design task.

10.6 Templates
A special form of input files is called a template. The structure of these files is given as follows:

#DEFINE L1=10.0
#DEFINE L2=20.0
#DEFINE L3=30.0
#DEFINE P=12.0

PROG TEMPLATE (or any other program name)


LET#L1 $(L1)
LET#L2 $(L2)
LET#L3 $(L3)
LET#L #L1+#L2+#L3
TXA Introduction
<TEXT>
This is the analysis of a continuous beam with 3 spans:
L1 = <EDIT:L1>$(L1)</EDIT>
L2 = <EDIT:L2>$(L2)</EDIT>
L3 = <EDIT:L3>$(L3)</EDIT>

SOFiSTiK 2020 10-5


SOFiSTiK | Starting an Analysis

SUM = #(L,10.2)
</TEXT>
<PICT>
....
</PICT>

PROG AQUA
following al the data

In many cases this is like a normal dataset, which only includes the preface of the total analysis.
It is summarised under a special program name called TEMPLATE. The input consists only of
text and picture elements combined with arithmetic expressions. But the mechanism is general
available for all programs.

Now within Report Browser you may change the selected parameters and re-analyse this given
module. This allows other users to benefit from these macros which may contain rather com-
plicated treatment, but need only a few problem dependant parameters .

10.7 Iterative Analysis with Multiple Modules


2nd Order Theory for nonlinear materials is contained in the programs STAR2/AQB. However,
only one method of computation of the reinforcement can be considered by STAR2. A com-
putation with different methods can be implemented by an iteration between AQB and STAR2.
The iteration is controlled by the parameter ITER of the record PROG.

PROG STAR2 1st Step for 1st Order Theory


CTRL I Definition of loading cases
LC ....
END
PROG AQB ITER parm parm separated by blank spaces
BEAM ....; LC.... 1st selection and design definition
ULTI ....; NSTR....
END
BEAM ....; LC.... 2nd selection and design definition
ULTI ....; NSTR....
END
PROG STAR2 ITER parm
HEAD ....
CTRL II 1
END

The maximum number of iterations to be made is regulated by ITER (e.g. ITER 30), default is
20 iterations.

This mechanism has been extended with Release 23 for other combinations of general mod-
ules. To terminate the iteration it is required to specify within the CADINP-definition explicitly
EXIT_ITERATION.

PROG TEMPLATE
STO#TARGET 0 ; STO#PARAM 1.0
PROG AQUA ITER

10-6 SOFiSTiK 2020


Starting an Analysis | SOFiSTiK

RCL#PARAM
QNR .... Definition of sectuion using #PARAM
PROG AQB ITER
BEME .... Design and save results
ENDE
@KEY / LET# TARGET ... Calculate a target function to
become zero
IF ABS(#TARGET) < 0.001
EXIT_ITERATION
ELSE
STO#PARAM new_target_value
ENDIF

10.8 Operating System Commands


Any desired shell commands can be integrated in an analysis. Parameter substitution is also
active for these lines, for example the character string $(NAME) is replaced by the primary
name of the input or the output file, while $(PROJECT) is replaced by the name of the project.

*SYS command command will be executed as in any


batch file, if the last PROG
line was active.
+SYS command command will be executed as in any
batch file.
-SYS command command will not be executed, all
following *SYS lines
deactivated.
e.g:
+SYS del "$(PROJECT).$D1" deletes the stiffness matrix
+SYS wait "name.exe" parameter WPS is initiated to wait with the process-
ing of the further modules until the ac-
tive process is finished with ”+SYS -wait
name.exe”.

10.9 Job History


In an analysis with many individual programs it can become of importance to make a recon-
struction for the time-history of a problem. Therefore SPS adds some auxiliary information to
the generated input files. The information is controlled by an environment variable:

SET PSJOBINFO=n

n = 0 no information
n = 1 filename and date (only in data echo)
n = 2 like 1, including job number (only in data echo)
n = 3 like 2, yet in an additionally generated header

SOFiSTiK 2020 10-7


SOFiSTiK | Starting an Analysis

The default is 2. The job number consists of an 8-letter description of the computer and a
varying number, which is stored in a PSJOBNR file. In a multiuser environment PSJOBNR
should be put in the current directory, if access conflicts have occurred.

Examples for PSJOBINFO:

PROG AQUA
$ Datafile: D:\STATIC\P00\DAT0.DAT (.#01) 14:48:48 25/05/95
HEAD .....

PROG AQUA
$ Datafile: D:\STATIC\P00\DAT0.DAT (.#01) 25/05/95
$ Jobnumber: PC-Nr:17/8700063 14:48:48
HEAD .....

The file PSJOBNR is needed for cases with PSJOBINFO=2 or higher. The first 8 columns
contain any desired text. They are not printed, if they are blank. If SPS does not find a
PSJOBNR file, it will create one in the local directory.

10.10 Start of a Single Program


Sometimes it can occur that one would like to start a program directly. This is generally possible
if the input file already contains all parameter replacements. If you want to create a parsed file
from a normal input file, you can do this by using WPS with

File > Save Parsed File ...

if you want to save the complete parsed file or alternatively with

File > Save Parsed Module: name ...

if only a single module is required to be parsed. The module selection is done in the WPS-tree.

The start of the single programs occurs then with

program filename [ -parm] [ projekt]

”filename ” is the name of the input file; it indicates also the basic name of the output files. If
the name contains blanks, it must be enclosed with ”. project is the name of the data base. In
general the same parameters as for SPS are used in parameter. Some extra parameters are
added though. For example in controlling, what type of metafile is to be created and whether
an existing metafile is appended or deleted.

If one starts an analysis program without using any parameters, the program will start up by
showing its name, version number and the list of the possible parameters. The user is asked
for the name of an input file. An empty input file (or Return key) ends the program immediately.
This procedure is helpful in order to test the integrity of the program. The license and the
version of the ERR-file are checked.

10-8 SOFiSTiK 2020


Starting an Analysis | SOFiSTiK

10.11 Special Features for Start


For special cases the user may start the program from a command shell by using the following
command lines:

Parameter Description
+ or ++ Opens the last file or the last but one. Is used without a switch
- or / .
-0 -1 -2 -3 -4 Allows the start of up to 5 instances
-nosingle Starts the application as a separate instance (no single appli-
cation).
-test A general test flag is set. This is only of interest for the devel-
opers. Depending on the level of development, an individual
message window is activated.
-b WPS starts in batch mode. The calculation is started immedi-
ately and at the end the window is closed automatically.
-e Generates a message window at the end of the calculation if
an error occurs. Makes sense only in connection with -b or
-run. If the parameter -e is not set and the calculation ends
with an error, no message window is indicated. Nevertheless,
WPS does not end, so that the error can be read in the error
protocol.
-close Closes the window after calculating regardless of whether an
error has occurred or not. Makes sense only in connection
with -b or -run and without -e.
-noclose After a calculation the window does not close. Makes sense
only in connection with -b or -run.
-z Attaches the result file (name.plb or name.erg) to a perhaps
available result file.
-run The calculation starts immediately (e.g. when calling from
Teddy with ”quick start”).
-run:xx The calculation starts immediately (e.g. when calling from
Teddy with ”quick start”). xx is the number of the PROG line,
which is the only active module to be calculated.
-urs:xx Sets the module ”PROG module urs: xx” active and all other
inactive.
-cdb:name Name of the CDB (if the name differs from DAT name).

SOFiSTiK 2020 10-9


SOFiSTiK | Starting an Analysis

10-10 SOFiSTiK 2020


Output | SOFiSTiK

11 Output

During calculation with WPS / SPS in general three output files are generated:

- the Report Browser output and graphic representations (.plb )


- the protocol file (.prt )
- the result file (.lst and .erg )

Hint
The recommended and officially tested Printer Fonts are Consolas 9 pt and Courier New
8 pt.

11.1 Result Output with the Report Browser


11.1.1 General
With the Report Browser the printout from all SOFiSTiK programs conveniently and easily is
accumulated and sent to the printing device.

The Report Browser has a similar layout as the Windows-Explorer and provides the user with
various options for designing individual printout. e.g. in the selective choice of the output
volume (text / graphics) or in the layout design (company logo, footer, etc.).

General settings, such as font or the maximum file size that can be fully loaded, are
defined in the menu FILE Ribbon → User Option .

Project related settings can be set globally with FILE Ribbon → Global Options if they apply for
multiple projects, or with FILE Ribbon → Project Options , if they only apply to one project (for
further explanations, see also chapter 2.11 (see SOFiSTiK Options).

11.1.2 Activation of Report Browser

After an analysis the printout (with the extension .plb ) can be opened via the Report
Browser icon.

The output can be modified according to user preferences. The user-specified settings are
stored in a corresponding .urs file and are usually available after a recalculation.

11.1.3 Features
Selecting the volume of the printout: The output volume can be configured by the user to
his requirements. With the bulb- icon in the Report Browser - tree, the printout of the modules
is activated or deactivated. With the book- icons you can switch on and off the sections.
The settings for the output volume are saved in the corresponding .urs file and are normally
available again after a recalculation. Individual sections can be temporarily moved in the Report
Browser - tree and the changes are considered when you print the file. However the changed
sequence is no longer available after a recalculation. Therefore the requested module- order
should be defined already in the input file.

SOFiSTiK 2020 11-1


SOFiSTiK | Output

Insert table of contents

With Insert → ”Insert Table of Contents” there is generated automatically a table of contents of the
complete printout. For the module- headings in the table of contents, the module text from
the Report Browser - tree is inserted, or the module name if no text is defined. Disabled
sections are not included. Furthermore, the page number of the printout is added. The setting
Insert Table of Contents is saved in the .urs file.

11-2 SOFiSTiK 2020


Output | SOFiSTiK

11.1.4 Output in table format


Starting with version SOFiSTiK 2020, the output in tabular form is increasingly supported by
the Report Browser. The readability of the output result has been significantly improved.

Legend: If necessary, a legend to explain the output table is complemented. It can be printed
with a reduced font height and is also available in colored font. Experienced users can hide the
legend, but this is not generally recommended SOFiSTiK menu → User Options → Report Browser .

Footnotes: A further improvement of the readability of the result output is achieved by ex-
planatory footnotes. In contrast to the legend a footnote cannot be hidden because it completes
the printout results.

11.1.5 Individual settings in the Report Browser


In SOFiSTiK User Options menu for the Report Browser the required output extent of the calcu-
lation result can be preset. It is recommended that errors and warnings always are displayed.
This default applies to all projects.

Hint
When the echo of the input is not displayed, then chapters are forced to activate, contain-
ing errors and warnings. If this behavior is not desired, the echo output so despite the
warnings or error messages is to be closed, it can be suppressed by setting ” Priority
for chapter settings” in the Options dialog.

11.1.6 Printing Dialogue


Preview- Window: In the Print dialogue a preview window is added. Furthermore, the type
and location of the selected printer is displayed.

Output to File: A printing output to a file is also possible. When selecting ”Generate PDF
file”, a PDF file created in the current directory with the associated filename ”name.pdf”. No
additional Software from Adobe is required.

Special Print Options: There can be printed several smaller pages on one sheet. Temporar-
ily the design of the page number or the date can be changed for printing.

11.1.7 Advanced Features


Zoom handling: Besides the usual zoom functions, a slider is available, and so a fast and
continuous zooming in the current window is possible. With Ctrl + MW (mouse wheel) a
systematic-al zoom in or out is possible and with Ctrl + mouse drag, a specific zoom window
can be opened.

Options of Selection: By Report Browser following selection options are supported:

• Line Block
• Column Block
• Table columns

SOFiSTiK 2020 11-3


SOFiSTiK | Output

• Individual words

With Edit → Copy , the selected area can be saved in the clipboard. A save in Excel format
also is possible Edit → Copy to Excel , and in Excel Edit → Insert Contents .

The drawing of a line block with the mouse takes place outside of the margin.

The drawing of a column block with the mouse takes place within the margin. Alternatively first
highlight a field in the header, now in connection with right-click menu → Select → Select Column
a full column block can be selected.

11.1.8 Functions in control tree


Selection in the control tree: Similar as in the Explorer, several sections can be selected
with the Ctrl or - key in connection with the mouse and can be edited parallel in the right-
click- menu.

Support of the chapters: If a result file is structured by chapter entries (→ Input with TEDDY
!#!Chapter), these chapters are supported by Report Browser. The individual chapters can be
activated or deactivated (at the disabled chapters the icon is rotated by 90◦ ) and completely
pushed together (in the right-click-menu).

Assistance in troubleshooting: In case of warnings the affected modules and the relevant
sections of the printout are marked in the navigation tree by a green cross.

Advanced editing capabilities of the .plb printout: Custom changes to the result file (page
breaks, blank lines, ...) are saved in the corresponding .urs file. They are still available when
the .plb is opened again. After a recalculation, they will only be available in exceptional cases,
because a unique assignment is no longer possible.

11-4 SOFiSTiK 2020


Output | SOFiSTiK

11.1.9 Special Features for Start


For special cases the user may start the program from a command shell by using the following
command lines:

• Start/access with filename

Request: ursula [/options] [filename]

filename Instead of using the filename it is possible to use + or ++. Therewith the last,
respectively the next to the last file will be loaded. With abc*.plb the File-Open-
Dialog with the search screen will show up. The input ”.” is interpreted as ”*.*” for
the search screen.

• Special access/start features

Options Explanation
-t Forces a text view.
-g Forces a graphical-view.
-r Forces an automatic refresh (without additional demand), if the PLB
has changed.
-stli:AutoCad-Version Supports steel schedule.
-txt:name.txt Generates a text file.
-gkx Only meaningful with -txt:name.txt, generates a text file, inclusive a
graphic-dump.
-urs:name.urs Explicit input of an URS-file.
-ssd:_xxx _xxx = list of pseudo-extensions for an overall file.
Example: ursula name.plb -ssd:_002;_003;_006.
Creates from name_002.plb, name_003.plb and name_006.plb an
overall -PLB.
-plbs:name1.plb;... Joins multiple PLBs into one final file.
Example: ursula name.plb -plbs:name1.plb;name2.plb
Generates from name.plb, name1.plb and name2.plb an overall -
PLB.
-hidden:urs1;urs2;... Doesn’t show the Urs-Id enumerated modules.
Example: ursula name.plb -hidden:3.2;3.3
-m A possibility to work with large files.
First the modules for generating the module tree are loaded.
-close Report Browser will close.
e.g.: ursula -stli:191 -close /mdb=mdb_name stl_name

SOFiSTiK 2020 11-5


SOFiSTiK | Output

• Request for a direct printing

Options Explanation
-print File will be printed directly.
-printto:”Druckername” File will be printed directly on the already defined printer. The
instruction "PDF", defined as a printer name will generate a PDF
file, "name.pdf ".
-page:all All pages are printed. Alternatively only one page or specific
range of pages can be printed as well.
Example: ursula name.plb -print -page:3-5
-picture:all All pictures are printed. Alternatively only one picture or specific
range of pictures can be printed as well.
Example: ursula name.plb -print -picture:3-5
-size:Ax Sets the page size for the printer (possible is: A4, A3, A2, A1 or
A0).

• General calling parameters

Options Explanation
-s:Sofistik-Pfad Path to the SOFiSTiK-EXE files (sets the environment variable
SOFiSTiK=...)
-1 bis -4 with this flags it is possible to run multiple Report Browser instances.

-nosingle Starts Report Browser (past Ursula) as independent instance (no single
application).
-test:nr Sets a general test-flag. Only for the developer of interest. Depending on
the level of development, single message windows are activated.

• Special keyboard commands

Some special commands can be activated via the keyboard:

Command Short description


Ctrl + E Copies the marked text in Excel format into clipboard.
Ctrl + G Go to page
Ctrl + L Search further
Ctrl + D Generates a PLB-dump (only for developers)
Ctrl + U Show the URS files (only for developers)
Ctrl + N Insert a blank line
Ctrl + Y Remove a line

• Assignment of the Ctrl key button (Windows Standard)

Next Standard commands are supported:

11-6 SOFiSTiK 2020


Output | SOFiSTiK

Command Short description


Ctrl + O Open file
Ctrl + S Save file
Ctrl + P Print
Ctrl + A Select all
Ctrl + C Copy the marked text/graphics into clipboard.
Ctrl + V Insert the graphics from the clipboard into module tree.
Ctrl + F Search

11.2 Protocol File (.prt )


The .prt file is a text file and nominated as protocol file and contains important messages
about the general operating situation. It will normally only be needed in case of errors or
performance problems. It contains for example: the startup information, version numbers,
consumed computing times, information about errors, convergence conditions, files etc. Under
Windows the output of the files occurs over the Windows printer drivers. They are activated by
option ”print” or by drag and drop onto a printer icon.

11.3 Graphical Output Result Viewer


11.3.1 General Hints
Result Viewer is a program for postprocessing of calculations with Finite Elements and frame
and girder systems. It allows the tabular representation of the values and information which are
saved in the database, e.g. information about structures, calculation and design results. Fur-
thermore all section information and section results can be visualised (see RESULTVIEWER).

SOFiSTiK 2020 11-7


SOFiSTiK | Output

11-8 SOFiSTiK 2020


Troubleshooting | SOFiSTiK

12 Troubleshooting

In the following chapters we will give you some hints in case of problems with the usage of the
software. Problems regarding the installation and the licencing are described in the Adminis-
trator manual.

12.1 General Strategy


Please keep in mind the following points in case you encouter some incomprehensible errors:

• The probability that an error has been caused by wrong input is significantly large. The
observation of warnings at any stage during the analysis or the installation can supply
valuable hints.
• All programs, even those of SOFiSTiK, contain errors as long as the are used. They will
show up most likely if you are in hurry and start treating some completely new applica-
tion area of the programs. You should therefore first examine how the program behaves,
using small examples. One of the most frequent causes of such errors is a misleading
interpretation of the manual or the implemented theory.
• If the system was still working yesterday, think about what has changed since then (new
computer, new operating system, other inputs etc.)
• In some cases an error message may not describe the real cause of the error, although
this is highly unlikely. It might occur when the error was not correctly detected in a previous
module. The programs do not stop at the first error they encounter, but try to continue and
to detect as much errors as possible.
• Rather than searching for hours, sent a support request via Email to SOFiSTiK Support or
your local supporter. Even if you may be charged for extensive services, it usually will be
more economical as SOFiSTiK has better possibilities to locate the error.

12.2 Standard Warnings and Error Messages


The story of an analysis is stored in a protocol file of the file type (*.PRT). In all special situations
(program error or user error) this file must be examined. The execution of the analysis is
automatically stopped if such an error occurs. Regular errors or Warnings have the form:

• Warnings, the program prints the message: ++++ WARNING NO. nnnnn IN PROGRAM
xxxx as well as one or more lines of explanations. The analysis continues.
• User or data error, the program prints the message: ++++ ERROR NO. nnnnn IN PRO-
GRAM xxxx as well as one or more lines of explanation. The analysis continues or stops.

Finally, each program writes the number of warnings and errors in the .PRT-File. If the program
has been aborted this will also be visible in this file.

Warnings can be switched off with the input CTRL WARN number of the warning in the indi-
vidual modules.

SOFiSTiK 2020 12-1


SOFiSTiK | Troubleshooting

12.3 Troubleshooting Strategies


In the following chapters we like to introduce a few strategies, how to deal with program errors.
In most cases you will be able to find and resolve your problem.

Minimize Input Datafile:

To minimize the SSD project files and SOFiPLUS drawings is the most important strategy
to find and eliminate input errors Please delete every ssd-task, structural elements, program
blocks, load cases, etc. which are not involved with your problem. Now you have a small and
clear project, which can be checked easily. In almost every case you will find out where the
problem occurs and also you will be able to solve it by yourself.

Please use this strategy also if you can’t find the problem and send your minimized project file
with your support request via Email to [email protected] .

12.3.1 Problems with Database (*.cdb)


Error messages of the Database CDBASE can occur for the following reasons:

• Due to an abnormal termination of programs the file gets disorganised. If only the locks are
not released you may remove them with a special button or with the command:
DBINFO projekt,Z
If the file is badly damaged, the best solution is to delete or restore the database and repeat
the analysis.
• Saving the data base periodically is quite wise especially for working with large projects.

12.3.2 Input Error in TEDDY Datafile


In case of a wrong input in the TEDDY file, the program gives you an error message. If you
open the Report Browser output and go to the ECHO print, the error message is plotted directly
after the incorrect input line. Also the error message gives you some hints what should be the
correct input. This will help you in most cases to find and eliminate the wrong input.

12.3.3 Error in System Generation with SOFiPLUS


If you run into errors while meshing your SOFiPLUS drawing you may use a very simple algo-
rithm to locate the problem. First mark randomly half of your structure and delete it. Now start
the meshing again. If the problem occurs again, mark the next half of your structure,delete it,
mesh again and so on. If the problem does not occur, go back and mark the other half of your
structure, delete it and mesh again. With this principle of deleting stepwise half of the structure
you will minimize your system. Probably you will find the error by yourself and can solve it. If
the problem is solved you go back to your complete system and solve the problem there as
well.

If you can’t solve the problem please send your minimized drawing to our support.

12.3.4 Error during Calculation


Normally we face two major problems in case the analysis will be aborted with an error mes-
sage. Either the system is instable or no convergence was found during a non linear analysis.

12-2 SOFiSTiK 2020


Troubleshooting | SOFiSTiK

System instable:

In case you use the program ASE for the analysis and have an instable system, the program
calculates Eigenvalues using a numerical trick. Now you can check the displacements of the
Eigenvalues with the ANIMATOR. Then you will see very quick, what causes the instability.

Normally the instability problems occur in large 3d systems with lots of hinges and kinematic
constraints. Therefore we recommend the following procedure: Create your system Step by
Step and avoid to define any hinges and kinematic constraints in the first Steps. Now define
a load case self weight and start the linear analysis. If you get some reasonable results go
further on and start to define the first few hinges. Now export your system and start the linear
analysis again. If everything works fine, go on with this procedure until everything is defined.
If you work Step by Step, you always know the last changes and can easily go back. Possible
input errors will be found very fast.

In case you can’t find the problem, please send your minimized file to our support.

Non-linear Analysis:

The most common problem during a non linear analysis is, that no convergence will be
reached. Either the structure is to weak for the applied loads, or the chosen algorithm has
some numerical problems. In the first case you may change dimensions and therefore enforce
the structure. In the second case you may change the iteration method. In both cases the
program gives you detailed information about possible changes in your non linear analysis.
With this hints you may solve the problem. In other cases please reduce your system to one
single load case and delete everything, which is not necessary to reproduce the convergence
problem. Sent this reduced file to our support.

12.3.5 Problems with Results


The interpretation of the results may cause some questions. Every manual contains a chapter
”Theoretical Principles”. Inside this chapter the basics of the design algorithms are explained
so that a manual check of the design results will be possible.

In case you have additional questions related to the design results. you may send a support
request to our technical support team via E-Mail to [email protected].

To answery your questions as soon as possible we need additional information and data files
from you:

1. Your input files (*.sofistik and *.dwg , or *.dat ), reduced to the absolute necessary
modules. Please delete every task/module, which is not necessary to reproduce your
question.
2. The protocol file *.prt from the last calculation, which contains the warning and error
messages.
3. A detailed description, which task /modules should be started in a certain sequence.
4. We need the Diagose .xml file with all necessary information regarding the SOFiSTiK
installation and program versions. From the SSD / TEDDY Menu Help → Diagnostic you
can start the process, create and save the *.xml file.
5. Please reduce the amount of output to only one element and one design load case. With

SOFiSTiK 2020 12-3


SOFiSTiK | Troubleshooting

the command line (ECHO VOLL EXTR) you will get an extensive output for that element.
Open the Report Browser and create a PDF-file via Menu File → Export to PDF .
6. Open that PDF-file and mark the relevant output. Also add your comment including your
expected results and a hand calculation.

Please pack (zip) all data together and send the packed file including your problem description
via E-Mail to us.

12.4 Support
In case the above discussed strategies does not solve your problems, please contact our sup-
port via Email [email protected] . You will find the General Terms of Support Conditions on
our website:

http://www.sofistik.com/fileadmin/FILES/support/
Support_Service_Explanations_09_2011.pdf

12.4.1 Support Accessibility


As you know, you may contact us via our SOFiSTiK Online Portal, via E-Mail, via Fax or via
phone. In order to work most efficient without any interruption from incoming phone calls, you
can’t contact our supporters directly.

Our primary target is, to help you as soon as possible and to increase our response quality
level continuously.

Most support requests are very complex and can’t be solved in a short time. For that we work
us into your problems and data files and contact you via E-Mail or phone call. Either we have a
solution or we reproduced your problem and can start directly into a detailed discussion to find
a common solution or at least a work around.

12.4.2 Customer’s Obligation to Cooperate


In order to avoid time consuming mails and phone calls, would you please consider the fol-
lowing issues in your support requests. This assistance is very important for a fast and direct
solution to your support request.

• We always need to know your customer number. For example you will find the number
printed in the html-file of your last support request, or on your last Software Service Invoice.
• We always need to know the used program versions. For example SOFiCAD-Detailing 2018
with AutoCAD 2018, or SOFiPLUS 2018 with AutoCAD 2018. Using the FEA package every
analysis creates a protocol file *.prt containing all version numbers of the used programs.
Please send us this file.
• Information about the operation system (for example Windows 7 (32bit / 64bit), Windows 8,
Linux).
• Please note, we are not involved in your project and have no more information than what
you sent to us. Therefore it is very helpful to get condensed data files and a precise problem
description.
• Minimize your drawing or the project input data file. Delete everything which is not neces-
sary to reproduce your problem.

12-4 SOFiSTiK 2020


Troubleshooting | SOFiSTiK

• Please try to describe your problem as precise as possible. Under which circumstances
does the problem occur? What did you do, which clicks? Example FEA: ”I checked the
beam element 2037, x=0.00 m in loadcase 2031. I can’t reproduce the amount of rein-
forcement computed by AQB (SOFiSTiK 2018-1 AQB) = 12.35 cm2 . The result of my hand
calculation gives me only 8.50 cm2 . Please find attached my hand_calculation.pdf. Why
are the results different?”
• Provide us with additional information besides your data files, describe your workflow, send
us scans of your hand calculation, every additional information helps.
• Please send us every necessary file, so we can reproduce your problem. FEA: files
*.sofistik, *.dwg, *.dat, *.prt, diagnostic.xml and if necessary *.gra and *.plb. Please zipp all
files

We ask kindly for your understanding, but without all relevant data, we can’t start working on
your request.

12.4.3 Support Request via SOFiSTiK Online Portal


With a valid maintenance contract you have also the possibility to use our SOFiSTiK Online
Portal.

Using this portal you will have the following benefits:

• Submit support requests directly in our system


• Submit support request out of the normal business hours
• Support requests via SOFiSTiK Online Portal will be processed with higher priority.
• Access to FAQ-database to investigate for solutions
• Investigate in all your support requests
• Check the actual status of current support requests
• Every customer has one user account with administration rights. This main user can man-
age his company data, address, contact persons and SOFiSTiK Online user.

For all this reasons we recommend to use this portal. You will find the portal via
www.sofistik.com/support on the left hand side > Links > SOFiSTiK Online (Portal). A short
description is also available on this website.

For clarity reasons it is very important to use a new support ticket for every question. Please
reply only for direct questions to the key issue. For additional questions use a new ticket even
if you refer to the same project files. This is very important if you like to investigate in ”old”
support requests.

12.4.4 Support Request out of SSD / TEDDY


Both SSD and TEDDY have a special function to create automatically a support request with all
necessary description and attachments. Go to the menu HELP > SOFiSTiK Support Wizard
...

Nevertheless we recommend to use our SOFiSTiK Online Portal

SOFiSTiK 2020 12-5


SOFiSTiK | Troubleshooting

12-6 SOFiSTiK 2020


Additional Information and Help | SOFiSTiK

13 Additional Information and Help

For a better understanding our software we provide the user with additional information, docu-
ments and examples. As a first choice we recommend to use our Infoportal on our website.

13.1 Administration Manual


For all kind of questions related to installation, licensing and software update you will find the
requested answers in our Administration Manual (see http://www.sofistik.com).

13.2 VERiFiCATiON Manual


For a better unterstanding of the technical background you will find two Verification Manuals
(VERIFICATION_MANUAL_MECHANICAL and VERIFICATION_MANUAL_DESIGN) via the
SSD / TEDDY Menu Help . Inside these manuals we describe the capabilities of SOFiSTiK
in nontrivial but also straightforward problems which are bound to reference solutions, in or-
der to provide the users with assurance of the SOFiSTiK solutions. A further purpose is to
demonstrate the wide range of analysis options for the most of the elements and major solu-
tion features and thus provide guidance on a class of a common types of problems.

This manual contains a compilation of a number of selected computational benchmarks, each


benchmark focusing on a specific mechanical topic or a design code. The obtained results
from the SOFiSTiK analysis are contrasted with corresponding reference solutions.

13.3 Tutorials
Besides our software manuals you will find additional explanations and work-flow descriptions
inside our online tutorials (www.youtube.com/user/SOFiSTiKAG). These documents are avail-
able directly from SSD / TEDDY menu Help → SOFiSTiK Tutorials .

13.4 Infoportal
On our website http://www.sofistik.com/infoportal you may navigate through all sort of in-
formation. You may search in our document data base using the categories ”Document Type”,
”Product Group”, ”Subject” and ”Application”. A ”Search for Keywords” is also possible. For
example most program features of SOFiPLUS are shown in small Tutorial Movies.

13.5 YouTube - Training and Presentation Movies


You will find numerous movies inside our Youtube Chanel www.youtube.com/user/SOFiSTiKAG.

13.6 CADINP Samples


We provide the user with a large sample library sorted by program names. All samples are
using the numerical CADINP input language. You will find all samples via TEDDY menu File →
Examples... .

SOFiSTiK 2020 13-1


SOFiSTiK | Additional Information and Help

13.7 Forum
Our User Group is open for all registered SOFiSTiK user and a place for discussion. Please
send support requests exclusive via Email to [email protected] and do not poste them into
the User Group.

You will reach our User Group via http://www.sofistik.com/forum

13-2 SOFiSTiK 2020

You might also like