Академический Документы
Профессиональный Документы
Культура Документы
Basics
SOFiSTiK 2016
SOFiSTiK
Basics
SOFiSTiK AG
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: MILANEO, Stuttgart, Germany | Client: Bayerische Hausbau and ECE | Architect: RKW Rhode Kellermann Wawrowsky | Structural
Engineering for Bayerische Hausbau: Boll und Partner | Photo: Dirk Mnzner
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
3 Interfaces 3-1
3.1 CDB Export to Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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-3
SOFiSTiK 2016 i
SOFiSTiK | Contents
ii SOFiSTiK 2016
Contents | SOFiSTiK
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-2
12 Troubleshooting 12-1
12.1 General Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
12.2 Standard Warnings and Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
12.3 Troubleshooting Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
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-3
12.4.1 Support Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3
12.4.2 Customers Obligation to Cooperate . . . . . . . . . . . . . . . . . . . . . 12-3
12.4.3 Support Request via SOFiSTiK Online Portal . . . . . . . . . . . . . . . 12-4
12.4.4 Support Request out of SSD / TEDDY . . . . . . . . . . . . . . . . . . . 12-4
12.4.5 Create a Diagnostic.xml File . . . . . . . . . . . . . . . . . . . . . . . . . . 12-5
iv SOFiSTiK 2016
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 theoret-
ical backgrounds and descriptions for the input and output of the programs. We recommend to inform
about the respective program module in the corresponding manual before using the program.
Furthermore the users have the possibility to get information about many features of SOFiSTiK-Software
on the home page of the SOFiSTiK AG:
http://www.sofistik.com/Infoportal
Detailed examples do not only show the power of these programs but may be used as templates 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..
2.1 Principles
The core of the SOFiSTiK analysis programs is a database (CDB). A set of programs, which are ad-
dressed 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 interactions
between the modules. There is a separate tutorial available, a short introduction may be found in chap-
ter 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.
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 2016
How to use SOFiSTiK | SOFiSTiK
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.2.4 Postprocessing
interactive programs:
Result Viewer Graphical and Tabular Finite Element Postprocessing
WiNGRAF Graphical Representation of Finite Elements and Beam Structures
Batch-programs:
WING Graphical Representation of Finite Elements and Beam Structures
RESULTS Graphical and Tabular Finite Element Postprocessing
DBPRIN Print Results from the Database
These file types recognized by the explorer have the following contents:
The extensions .SOFISTIK are the project files of the SDD (SOFiSTiK Structural
Desktop).
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:
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 us-
age 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 con-
tains 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.
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 SDD (SOFiSTiK Structural Desktop).
Using these files you can get default inputs in the SSD for selected systems for a further processing.
2.5 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 analyzed. The total number and the type of the elements are thus def-
initely 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 effective
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 SOFiPLUS.
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:
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 analyze 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:
Hint
In the SOFiSTiK environment (see chapter 9: DEF -Environment Variables) you can change the
parameter CDACCESS=SINGLE. This will deactivate the multitasking possibilities and no record
logs are created.
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 WinRAF to generate sofisticated true scale graphics of the system, loading
and results
The program Result Viewer to generate sofisticated true scale graphics of the cross sec-
tions and to create tables with numerical contents of the database
2.7 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:
The files of the SOFiSTiK programs have various extensions which have the following meanings:
.### 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 programs.
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 data is are definitely your created DAT-files as well as the files .SOFISTIK, 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).
* The settings of the file SOFiSTiK.DEF in the project directory overwrite the default settings of the
parent directory.
The language of the dialogues is stored within the Registry database on the local computer and is
adjustable under SOFiSTiK > User Options. The program must be restarted to activate this change.
2.10.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.
[mm] Explicit unit. Input defaults to the specified unit. Alternatively, an explicit assignment of
a related unit is possible (eg. 2.5[m] ).
[mm] 1011 Implicit unit. Implicit units are categorised semantically and denoted by a correspond-
ing 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 (Eurocodes, NORM UNIT 5).
Explicit units, on the contrary, are not controled by an underlying unit set. In analogy to implicit 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 conversion to imperial units follows a convention from 1 July 1959 which has unified American and
British definitions:
If the unit ton is used, it is always equal to the short ton (2000 lb).
3 Interfaces
Hint
More information about CDB2Excel and "SOFiSTiK Interface for VBA and Visual Basic .NET" can
be found in the CDB_INTERFACES Manual.
The file call is done via the button from the SSD or TEDDY.
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 struc-
tural analysis. IFC-files containing the Coordination View can be read in using Autodesko Revito or
Autodesko Architectural Desktop. An export of an IFC-file in this format is not possible, since the neces-
sary (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 Import/Export
dialog, the conversion can be started using the command Apply.
The current version of the Interface also offers many functions which made easier both the communica-
tions between Revit Structure and the SOFiSTiK Software as well as the input in Revit Structure.
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 connected
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 SOFiSTiKts
AutoCAD add on SOFiPLUS.
A number of additional utilities, which will be combined in a SOFiSTiK toolbox, offer the possibility 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 model-
ing, 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.
Hint
We recommend not to switch the major release during one running project, please contact sup-
port@sofistik.de for individual support if you have to do so.
Hint
After conversion, the project file can no longer be processed by earlier versions than SOFiSTiK
2016 SSD version.
In addition, one automatic upgrade of the database (.cdb) is being performed (see chapter subsec-
tion 4.2.3).
If tasks are no longer existing in the new version their respective input will be converted in a simple
Text-Task. This affects the 2014 tasks for BDK - Lateral Torsional Buckling, for new input the new task
Steel - Buckling Resistance of Members is available.
Hint
After conversion, the project file can no longer be processed by earlier versions than SOFiSTiK
2016 SOFiPLUS(-X) version.
In addition, one automatic upgrade of the database (.cdb) is being performed (cf. subsection 4.2.3).
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 2014 to version
2016. This conversion is possible through:
The conversion is also possible when opening directly the database into SSD 2016.
Hint
After conversion, the project file can no longer be processed by earlier versions than SOFiSTiK
2016 version.
In future, some CADINP commands are labeled as deprecated. For deprecated commands the following
actions hold:
They are (and remain) fully functional for the actual Major Release (Version 2016).
Support of these commands will not be provided at some point in the future (usually along with the
next major release).
In most cases, documentation or input description for these commands is no longer available for the
actual Major Release (Version 2016).
Deprecated input commands are marked with a warning. Generally, this warning also issues a
specific hint regarding the recommended replacement.
Hint
For new or long-term projects, it is recommended to avoid deprecated input commands and adopt
the advised replacement instead.
Shear deformation areas are now always computed, independent of the material type, and accounted
for consistently for beam analysis according to Timoshenko-theory. This behavior can be overruled by
explicit specification of the respective shear deformation areas to 0.0, see AQUA: CVAL.
For cross sections with longitudinal reinforcements and corresponding layers it is switched automatically
to the new feature of the program AQUA record LAY. It has only impact to the database and a possible
export from the database to AQUA.
Please refer to the help of the Cross Section Editor and the AQUA manual for further information.
Input files from the version 2014 with this variant of the definition of the load case numbers of the results
generate a message that only the BASE number is used. In some cases, e.g. for the superposition of
result sets or objective functions, it can be necessary to modifiy the definition of the load cases of the
results manually.
Combinations and superpositions which were generated in the SSD with the tasks Define Combinations
and Superpositioning are not affected.
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.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.
System:
- System, loads and combination rules
Linear Analysis:
- Calculation and superposition
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,
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.
Examples:
Process Dialogue
Table Area
The table area is used for information purposes and it is not editable.
Possible categories:
- Geometry
- Loads
- Results
Possible format:
- EXCEL format
- Text format
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.
In this directory, further subdirectories can be created. These subdirectories appear as tabs and tem-
plate icons. There is only one level of subdirectories available.
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 avail-
able as a further template.
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 sections, geom-
etry... 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.
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 application).
-test A general test flag is set. This is only of interest for the develop-
ers. Depending on the level of development, an individual message
window is activated.
-noani When starting the SSD the automatical opening of the AnimatorView
is suppressed.
-dat:name When starting the SSD a complete DAT-file is created and the SSD
window is closed again immediately.
For the structural analysis SSD and SOFiSTiK structural programs are needed.
Hint
We recommend to work with structural elements and the automatic meshing, the workflow with
direct modification of finite elements will be disabled in a future release
http://www.sofistik.com/Infoportal
http://www.youtube.com/user/SOFiSTiKAG/videos
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 for
the 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 (pulldown menu SOFiSTiK - User Options ...).
6.3 Structure
After starting SOFiPLUS(-X) the following screen will appear:
The commands can be accessed via different tools (menus, toolbars, ribbons). Warnings and/or errors
during writing into the database will be displayed 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.
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.
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:
filename:
As a filename you may also enter a + or ++ this will load the last or second last file respec-
tively. 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 environment variable
SOFiSTiK=...)
/1 to /4 will create additional instances of TEDDY. The number will select the colour
of the TEDDY-icon.
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 application).
-test A general test flag is set. This is only of interest for the develop-
ers. Depending on the level of development, an individual message
window is activated.
Line No. The cursor is placed directly into the given line. The line number
must be the last transferred parameter.
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:
A complete arrangement of all Ctrl commands, you will find in the TEDDY-help menu Help
Ctrl commands .
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.
1 +PROG AQUA
2 Daten fr Programm AQUA
3
4 +PROG SOFIMSHA
5 Daten fr Programm SOFIMSHA
6
7 +PROG ASE
8 Daten fr Programm ASE
9
1 +PROG AQUA
2 Data for the AQUA program
3
4 +PROG SOFIMSHA
5 Data for the SOFIMSHA program
6
7 +PROG ASE
8 Data for the ASE program
9
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:
1 PROG progname
2
3 +PROG progname
4
5 -PROG progname
6
7 $PROG progname
8
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 corre-
sponding 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.
Help is activated with the F1 key. The page of the manual, matching the current input command 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 of the Acrobat Reader.
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.
You can also change the size and position of the help window. The best option is not only a matter of
taste but also of the screen resolution. The following options are available:
Help F1
Freeze Keywords
Hint: If you close the Acrobat with an ESC from within the TEDDY window it will stay in memory and
pop up very fast the next time.
Export to DAT
Archive
Clean up
Database Clean
Explorer
Command-Shell
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
1 PROG
2 ...
3 END
4
7 PROG
8 ...
9 END
10
With !+!Chapter in TEDDY a chapter is marked as open, with !-!Chapter it is marked as closed
(!#!Chapter is identical with !+!Chapter).
1 PROG
2 HEAD
3 !*!Label User's text
4 ...
5 END
6
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.Bckeler, W.Haas / Eingabe Konventionen fr CAD-Programme, CAD-
Bericht Kfk-CAD 39, Kernforschungszentrum Karlsruhe, 1976).
The variation of this format, which was developed by SOFiSTiK, includes several additional capabilities.
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 arithmetic
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 cal-
culations. This in turn produces a complete analysis document in the computer.
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.
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.
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.
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. #(#AL-
PHA,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.
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.
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 corresponding 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.
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.
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.
A separation character must be entered right before $$. Thus it is not possible to write expressions or a
list of values extending more than one line.
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 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
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:
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.
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.
(Start_value Increment)
The primary generation instruction specifies the number of the individual records to be generated. It
can be used only once per record, yet in any position inside the record. The corresponding 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.
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 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
REIN B0.2
REIN C0.3
REIN D0.4
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.
If a unit is defined in a table header, this unit identifies the default unit for all data in the respective
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.,
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.
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.
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.
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 following
commands:
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 Release (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 an
underline:
To trace the assignment of values, there is a command DBG#. This will toggle test prints and an inter-
active debug mode. DBG# uses the variable #0, which can not be used for other purpose therefore
+ - Addition, Subtraction
* / Multiplication, Division
** or ^ Exponentiation
If no operator is given, a multiplication will be performed. The bindings of the operators are according to
the mathematical rules. The logical operators have the same weight, thus it is strongly recommended to
use parentheses for combined expressions.
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:
120.+12.
3(5.0+4.0)
COS(#1) SIN#1
345*#11+##12
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
LET#A(3) 17.0
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.
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 character. (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)
LET#F =FUN(var,formulaexpression)
e.g.
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 parameters name has
been defined already, it will not be changed by the call. Recursive calls are allowed.
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.
Instead of LOOP 7 / ENDLOOP you could use LOOP / ENDLOOP #2 < =180. With an endloop condition
one can leave a loop prematurely.
creates:
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 # ):
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:
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:
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
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:
@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.
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.
@(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 KEYi. The value of the expression 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 encountered 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:
Listing 8.4: To get the effective Iy -value of cross section 5 from the actual project-database, you enter:
@KEY SECT_EFF 5
LET#5 @ ( IY )
Listing 8.5: To use the support forces of node 101 and 102 of load case 12 as loads you enter:
@CDB project1
@KEY N_DISP 12
LOAD 1 PX @ ( 101 , PX ) PY @ ( 101 , PY )
LOAD 2 PX @ ( 102 , PX ) PY @ ( 102 , PY )
Listing 8.6: 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
Listing 8.7: 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 HEADDER
IF 0== MOD ( #10 ,10) ! LAST DIGIT 0
LOAD #10 PX #11 #12 #13
ENDIF
ENDIF
ENDLOOP #CDB_IER < 2 ! TO TERMINATE THE LOOP
Listing 8.8: 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 projekt1
@KEY 100 0 -1 -1 -1 -1 ! 4 Integer - Keys
LET#NR 0
LOOP ! ALL records
LET#10 @ ( -3) ,@ ( -2) ! 1. and 2. Integer
IF #10 ; LET#NR #10 ! New BEAM
ELSE ! section of beam
IF #NR ==101
LET#Q #11
ENDIF
ENDIF
ENDLOOP #CDB_IER < 2 ! TO TERMINATE THE LOOP
Listing 8.9: 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 )
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.
HEAD
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.
END
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.
TXB
TXE
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):
<TEXT>
</TEXT>
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.
<TEXT,FILE=foobar.txt>
<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
ECHO
At the beginning of the program all options for new results are preset to 1. The output parameter 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 either 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 FULL NO
ECHO REAC
UNIT
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. 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:
It is also possible to select a specific object form the list of implicit units, specified in the CDBASE.CHM
see 2.5 Database description (e.g. 1001 or GEO_LENGTH, see cdbase.chm) and to change the unit or
number of decimal digits just for this item.
PAGE
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.
+------------------------------------------------------------+-----------+
!Bauteil : Bauteilbeschreibung (3.KOPF Zeile) !Archiv Nr. !
!Block : Blockbeschreibung (4.KOPF Zeile) Seite: 11 ! !
+------------------------------------------------------------+ !
!Vorgang : Vorgangsbeschreibung (5. KOPF Zeile) ! !
+------------------------------------------------------------+-----------+
+------------------------------------------------------------+-----------+
!Subsructure: Substructure description (3rd HEAD line) !Archive No.!
!Block : Block description (4th HEAD line) page: 11 ! !
+------------------------------------------------------------+ !
!Method : Method description (5th HEAD line) ! !
+------------------------------------------------------------+-----------+
3. Short Header
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.
SIZE
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 automat-
ically 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:
<PICT>
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.
GNT
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.
GPL
X1 Coordinates of Polygon !
Y1 !
X2 (Alternate definition of polygons is via multiple records each con- X1
taining only one single vertex X1,Y1. This allows the definition of
up to 255 vertices)
Y2 Y1
.... ... ...
X16 X15
Y16 Y15
GPM
GFA
GGDP
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, 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.
GTXT
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.5 Database.
GSCA
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.5 Database may be selected.
For Windows programs different palettes are foreseen for screens with bright or dark background 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.
GCOL
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.
GPLI
GPMI
.+*oX
SIZE Scale factor -
GTXI
nd = 1000 co + ont
GFAI
3 = hatch
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 corre-
sponds 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.
<LINK>
filename.bmp LT72 -
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>.
For example, a simple truss of the following type can be defined by:
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:
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 == ; 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
For the beginner these inputs are likely to be confusing, however, this is a very powerful possibility
which allows to automize frequently happening calculations. Many macros have developed from simple
beginnings.
SOFiSTiK has to trade the readability of the manual, the catch of data errors and the compatibility of the
data records.
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.
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:
The environment variables may be set using classical commands of the respective operating system,
e.g.:
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 oper-
ating 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.
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
Pagenumber 0 = default
-1 = omit numbers
KOPF1 First Headder Line
KOPF2 Second Headder Line
KOPF3 Third Headder Line
SOFISTIK_PRODIR alternate directory for the database and project Saves all project files without explicit
files pathname
SOFISTIK_TMPDIR alternate directory for all temporary project files Defaults to SOFISTIK_PRODIR
PSJOBPAR Default Values for WPS/SPS see Chapter 10.11.
PSJOBINFO Time & File stamping for WPS/SPS see Chapter 10.11.
CDBASEMEM Size of Memory for CDBASE in Bytes or MBytes default: 1MB
CDACCESS CDBASE multitasking feature SINGLE = deactivate
NOWAIT = do not wait
if locked
(useful for
remote analysis)
CDBASETEMP Directoryname for temporary scratch files Using TEMP or TMP if not defined
CDBASEVER Version of CDBASE format CDBASEVER=501
maximum 256 GB (Default)
CDBASEVER=503
maximum 1024 GB
SOF_NUM_THREADS Default number of threads to be used NUMBER_OF_PROCESSORS 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 ]
....
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.
PROG AQUA
$ Material and cross - section definition $
END
PROG SOFiMSHA
$ Input data for FE - system $
END
PROG ASE
$ Input data for analysis of 1 st load case $
END
PROG ASE
$ Input data for analysis of 2 nd load case $
END
SYS COPY *. plb d : $ copy the report file somewhere else ... $
PROG WING
$ 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 in-
stead of PROG or +PROG, the associated module will be omitted. Single modules can also be selected
directly.
Hint
Processing a complete SOFiSTiK input file can be done either interactively using WPS or alterna-
tively as a batch-job using SPS.
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 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 command
(e.g. in the environment) is given:
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:
Using blocks does not only free the user from copying re-occurring input lines, but also enables the use
of subprograms.
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
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.
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 computation, 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
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
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. 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 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-analyze this given module.
This allows other users to benefit from these macros which may contain rather complicated treatment,
but need only a few problem dependant parameters .
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 modules. 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
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
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
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.
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.
if only a single module is required to be parsed. The module selection is done in the WPS-tree.
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.
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 application).
-test A general test flag is set. This is only of interest for the develop-
ers. Depending on the level of development, an individual message
window is activated.
-b WPS starts in batch mode. The calculation is started immediately
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 param-
eter -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 inac-
tive.
-cdb:name Name of the CDB (if the name differs from DAT name).
11 Output
During calculation with WPS / SPS in general three output files are generated:
Hint
i
The recommended and officially tested Printer Fonts are Consolas 9pt and Courier New 8pt.
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 SOFiSTiK User Option . Project related settings can be set globally with SOFiSTiK
Global Options if they apply for multiple projects, or with SOFiSTiK Project Options , if they only apply
to one project (for further explanations, see also chapter 2.10 (see SOFiSTiK Options).
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 re-
quirements. 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 consid-
ered 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.
Figure 11.2: Selecting the volume of the printout (1 - Activate / Deactivate the Module Results)
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. Further-
more, the page number of the printout is added. The setting Insert Table of Contents is saved in the .urs
file.
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 explanatory
footnotes. In contrast to the legend a footnote cannot be hidden because it completes the printout
results.
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. Temporarily the
design of the page number or the date can be changed for printing.
2 1
Figure 11.6: Zoom handling (1 - Zoom- functions; 2- Page zoom height / width; 3 - continous zoom)
Line Block
Column Block
Table columns
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.
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.
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.
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.
-gkx Only meaningful with -txt:name.txt, generates a text file, inclusive a graphic-dump.
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).
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.
Strg + G Go to page
Ctrl + P Print
Ctrl + V Insert the graphics from the clipboard into module tree.
Ctrl + F Search
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 Administrator manual.
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 application 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.
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 PROGRAM 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 individual mod-
ules.
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 cant find the problem and send your minimized project file with your
support request via Email to support@sofistik.de .
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.
If you cant solve the problem please send your minimized drawing to our support.
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 cant 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.4 Support
In case the above discussed strategies does not solve your problems, please contact our support via
Email support@sofistik.de . 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
Our primary target is, to help you as soon as possible and to increase our response quality level contin-
uously.
Most support requests are very complex and cant 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.
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 2016 with
AutoCAD 2016, or SOFiPLUS 2016 with AutoCAD 2016. 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 necessary to
reproduce your problem.
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 cant reproduce the amount of reinforcement computed by
AQB (SOFiSTiK 2016-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 cant start working on your
request.
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.
http://www.sofistik.com/en/support/sofistik-online-login/
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.
To create this file go to TEDDY or SSD menu Help > Diagnostic. Please save the file with the command
File > Save as Diagnostic. This file will be created automatically if using the command SOFiSTiK
Support Wizard... describe above.
In special cases please start the program out of the program directory:
e.g. C:\Program Files (x86)\SOFiSTiK\2016\ANALYSIS_33_X64\diagnose.exe
For a better understanding our software we provide the user with additional information, documents and
examples. As a first choice we recommend to use our Infoportal on our website.
13.1 Infoportal
On our website
http://www.sofistik.com/Infoportal
you may navigate through all sort of information. 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.3 Forum
Our User Group is open for all registered SOFiSTiK user and a place for discussion. Please send
support requests exclusive via Email to
support@sofistik.de
http://www.sofistik.com/forum
the SOFiSTiK solutions. A further purpose is to demonstrate the wide range of analysis options for the
most of the elements and major solution 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 bench-
mark focusing on a specific mechanical topic or a design code. The obtained results from the SOFiSTiK
analysis are contrasted with corresponding reference solutions.