Strand7:  In Detail:  Feature summary

Strand7 summary of features

Environment
Data files Multiple model processing
The entire Strand7 data file is stored in a single .ST7 file. This is a compact binary file that makes book-keeping, maintenance and model archiving much easier. Strand7 results are also stored in single files - for example, linear static analysis results are stored in a single .LSA file. Strand7 result files are significantly smaller than those typically generated by other FEA software. Strand7 allows you to open multiple models simultaneously. You can exchange data graphically between models using cut-and-paste tools. You can solve more than one model at the same time, even while editing and post-processing other models.
Configuration Physical units
Strand7 is highly user-configurable. For example, you can set a wide range of display options, such as colours, lighting and perspective. You can also configure file locations, which is useful in a networked environment --- you can keep model files on a shared network drive while keeping temporary files on a faster local PC drive. Strand7 is fully units-aware. You can set and modify all the physical units used by Strand7. These units do not have to be consistent - should you so desire, you can mix metres and kilograms with feet and pounds.
Context-sensitive help Language support
Press F1 at any time to view context-sensitive help. Strand7 has a comprehensive, hyperlinked on-line help system that includes tutorials, modelling techniques and theory. Strand7 supports a range of different languages including Italian, Chinese and Japanese. New languages are being added.
Building models
Unlimited entity creation Undo and redo
Strand7 does not impose any limits on the number of nodes or elements, or the number of equations. Any limitations imposed are generally hardware-related. For example, the maximum number of load cases is 32000, which is virtually unlimited for real modelling purposes. Strand7 offers a powerful unlimited undo capability. You can undo all modelling changes, no matter how complex or how many entities are affected. A redo function lets you reverse the previous undo.
Real-time dynamic rotation Automatic mesh generation
You can rotate, scale and pan the entire model in real-time, using only the mouse. This feature is available in wireframe mode or fully-shaded solid mode, and doesn’t require special graphics cards or graphics acceleration. You can also use it to dynamically change the displacement scale when looking at results. Simply click and drag to set the required displacement scale. Strand7 includes automatic mesh generation tools, working directly from geometry. You can automatically generate 4-node and 8-node plates from 2D regions, and 4-node and 10-node tetrahedra from 3D regions. Strand7 provides powerful geometry input tools for the automatic mesher. Alternatively, you can import CAD-generated data for more advanced CAD geometry. IGES, AutoCAD’s DXF format and Spatial’s ACIS format are supported. And to ensure you can generate a good quality mesh, Strand7 includes a full suite of geometry cleaning, healing and defeaturing tools.
Groups User-defined coordinate systems
Use element groups to organise and manage large models. Create a set of groups, which can be organised into an appropriate hierarchy of your choice. Then, assign elements to these groups. You can show and hide elements, select elements and view results by group. Define your own coordinate systems, which can be rectangular, cylindrical, spherical or toroidal. Local coordinate systems can greatly simplify model-building.
User-defined beam sections Plate thickness display
Design your own beam cross-sections. Strand7 renders these in 3D for both pre-processing and post-processing, so you can create sections of arbitrary shape and immediately view them in the graphical editor. Strand7’s section calculator generates a true torsional constant whenever you create a user-defined section. Strand7 can render plate element thicknesses. This lets you clearly visualise the relative thickness of each plate, and helps you check for errors. You can easily contour results --- such as stresses --- on both plate surfaces simultaneously.
Verification tools Sub-modelling
Strand7 offers many mesh verification tools, like free-edge display. You can contour many quantities, including aspect ratio, volume and applied pressure and temperature. Sub-modelling allows you to extract parts of a model and save them as separate files, with boundary displacement conditions automatically enforced as constraints. This lets you perform local mesh grading without having to re-solve the entire model.
General equation input Multiple freedom cases
Enter numbers as mathematical expressions. For example, you can assign node forces and plate pressures as functions of position. You can generate results for multiple sets of freedom conditions in a single model.
Investigating results
Solvers Result contours
Strand7 includes the following solvers:
  • Linear static
  • Natural frequency
  • Buckling
  • Nonlinear static
  • Linear and nonlinear transient dynamic
  • Spectral and harmonic response
  • Linear and nonlinear steady-state heat transfer
  • Linear and nonlinear transient heat transfer
Strand7 also provides the following data:
  • Bill of materials for each group or sets of groups
  • Inertia properties for each group or sets of groups
Strand7 helps ensure you detect all stress concentrations. You can contour stress that has been: averaged, not averaged, averaged only across elements with the same material, and averaged only across elements in the same plane (for plate elements).
Cutting planes Enveloping
You can specify arbitrary cutting planes in brick models, and view stress contours on these planes. For problems with multiple load cases, or transient problems with many timesteps, you can display the envelope of maximum results over every load case or timestep.
Load case combinations Listings and reporting
You can create a virtually unlimited number of load case combinations. Change these combinations at any time without having to re-solve the model. List, sort, filter and print result data in report format. You can filter results by group and property, and view results for only those entities selected in the graphical editor. For more detail, request plate and brick results at nodes and Gauss points, and beam results at many positions along each beam.
Searching XY plots
Use searching to locate certain result values, or results exceeding a certain value. You can generate an XY plot of virtually any result parameter between two points on the model. Simply click on two nodes to specify the desired path.
Elements and attributes
Nodes Beam elements
Strand7 includes the following node attributes:
  • Forces
  • Moments
  • Restraints (in any coordinate system)
  • Mass (translational and rotational)
  • Stiffness (translational and rotational)
  • Temperature (constant and time-varying)
  • Damping
Strand7 includes the following beam types:
  • Standard beams
  • Trusses
  • Cutoff bars
  • Point contacts
  • Springs and dampers
  • Cables
  • Connections
  • User-defined beams
Beam attributes Plate elements
Strand7 includes the following beam attributes:
  • End-releases (full and partial release)
  • Offsets, local angles and arbitrary shear centres
  • Temperature gradients in principal axes
  • Point forces and moments (local and global)
  • Constant and linear distributed loads (local and global)
  • Distributed elastic supports
  • Pre-tension
  • Thermal flux
  • Convection and radiation coefficients
  • Heat source
Strand7 plates may be
  • Triangular (3 or 6 nodes)
  • Quadrilateral (4, 8 or 9 nodes)
Included are the following plate types:
  • 2D plane stress
  • 2D plane strain
  • Axisymmetric
  • Plate/shells (thick and thin)
  • Shear panels
  • 3D membranes
Plate attributes Brick elements
Strand7 includes the following plate attributes:
  • Offsets and local angles
  • Pre-stresses
  • Temperature gradients through the thickness
  • Surface pressure (local and global)
  • Surface shear
  • Edge pressure, edge shear and edge normal shear
  • Surface and edge elastic supports
  • Thermal flux
  • Convection and radiation coefficients
  • Heat source
Strand7 bricks may be:
  • Tetrahedra (4 or 10 nodes)
  • Pyramids (5 or 13 nodes)
  • Wedges (6 or 15 nodes)
  • Hexahedra (8, 16 or 20 nodes)
Brick attributes Links
Strand7 includes the following brick attributes:
  • Pressure (local and global)
  • Shear
  • Elastic support
  • Thermal flux
  • Convection and radiation coefficients
  • Heat source
Strand7 includes the following link types:
  • Sector symmetry
  • Rigid links
  • Pinned links
  • Master/slave links
  • Coupling links
  • Shrink links
Materials
You can define your own materials at any time, or extract them from a user-configurable materials library.

Material models supported by Strand7 include:
  • Isotropic
  • Orthotropic
  • Anisotropic
  • Laminate
  • Rubber
  • Soil
  • User-defined
To define nonlinear material behaviour, you can specify stress vs strain, force vs displacement, moment vs curvature and moment vs rotation tables.

Yield criteria supported by Strand7 include:
  • Tresca
  • Von Mises
  • Mohr-Coulomb
  • Drucker-Prager
  • Principal stress
Documentation
In addition to the context-sensitive on-line help, the following documentation is available:
  • Using Strand7 is an easy to read, concise manual, which covers all the basics of Strand7. It is normally used as a getting started guide.
  • The Strand7 Verification Manual contains hundreds of fully documented problems, complete with reference solutions and comparisons with Strand7 solutions. The actual model files are also distributed as part of the Strand7 installation for user reference and quality assurance reasons.
Application Programming Interface (API)
The Strand7 Application Programming Interface (API) allows users to interact with Strand7 via an external computer program. This provides the capability to completely bypass the Strand7 Interactive Environment or to perform specialised functions that are currently not available within Strand7 itself.

The words Application Programming Interface (API), within the Strand7 context, can be defined as follows:
  • The Application is Strand7 (including pre-processing, post-processing and solving functionality).
  • The Interface is a Win32 DLL file called "St7API.DLL". DLL stands for Dynamic Link Library and is itself basically a computer program. However, a DLL cannot run by itself like a program (which usually has the extension EXE) - instead, the DLL provides functions to perform specific tasks, which can be executed by calling them from an external computer program.
  • Programming refers to the fact that the connection to Strand7 is made via an external computer program instead of the more common interaction between a user and the Strand7 Graphical User Interface (GUI). A programmer can develop a program that executes Strand7 functions by calling the functions provided by the API.
Any computer program written in a Windows’ supported computer language can utilise the Strand7 API, provided the program is configured to dynamically load Windows DLL files and uses standard Windows calling conventions. It is possible to achieve this in languages such as C, C++, Pascal, Delphi, Visual Basic, FORTRAN, and so on. The choice of language used will largely depend upon the programmer’s experience and preference rather than any specific performance or compatibility issues. The Strand7 API itself is written using Delphi.

Basic Functionality
In simple terms, the Strand7 API allows users to incorporate Strand7 within their own programs. More specifically it can be used to:
  1. Directly create new Strand7 model files (binary ST7 files) from scratch.
  2. Modify existing Strand7 model files.
  3. Execute the Strand7 solvers.
  4. Extract and process the results of a solution.
Although these functions can be performed by using the Strand7 GUI directly, and data can be transferred between Strand7 and other applications via text-based import/export functions, copy-paste, etc, such an approach can require a significant amount of additional data processing or repetitive, manual procedures when the same operation is to be performed many times. The API approach provides a totally transparent way of interacting with the Strand7 data and repetitive tasks can be easily automated. Importantly, if the format of the Strand7 data files changes, such changes are fully absorbed by the API so that no changes to the external programs are required to use a more up-to-date version of Strand7 or the API.

Future enhancements to the Strand7 API will include API functions to execute any of the Strand7 Tool Options on the main menu and API functions to render Strand7 graphics to a window or to an image file.

Target Audience
The Strand7 API will appeal to a wide range of users including:
  • Third-party software developers wishing to develop applications that require FEA for some part of the application. Typical examples might include design software, optimisation software, or software for post-processing Strand7 results.
  • Strand7 users who wish to process their Strand7 results in ways that are currently not supported by the Strand7 post-processing environment, or to automatically generate reports in highly customised formats.
  • Strand7 users who wish to create Strand7 models in a parametric manner or in a manner that lends itself to automated creation via a series of steps.
  • Strand7 users who wish to exchange Strand7 data with other applications.
  • Users of other analysis software without pre and post processing capabilities who wish to use the powerful features of the Strand7 pre and post processor but perform their own analysis. For example, a simple Strand7 API program could open a Strand7 file, export the data in the format required by the other analysis software and launch the analysis. Upon completion, the results of the analysis could be configured as contour files for contouring within Strand7.
  • Researchers conducting research into areas that require FEA somewhere in the process. For example, stochastic analysis of structures usually requires the solution of a large sample of models with some statistical spread in parameters. The API can be used to easily develop a program to run all these solutions, collate the results and produce a report.
The API Toolkit
The API Toolkit consists of the following components:
  1. The Dynamic Link Library (St7API.DLL). This provides the interface between the external program and Strand7.
  2. The Header Files. These files allow external programs to communicate with St7API.DLL. The header files define all the constants used and the function calling conventions for each language supported. A different set of header files is needed for each language (e.g. Delphi, C, C++, FORTRAN, etc).
  3. A Sample Application. To illustrate the use of the API, the full source code for a simple external program is given. Furthermore, the equivalent code is given in a number of languages.
  4. The Strand7 API Manual. This is the reference book (as PDF), which details all the functions available, the calling conventions and the error codes. For each function, a short illustrative programming example is given, showing how the function is used. The illustrative programming example is written using the syntax of various programming languages.