• No results found

OptiStruct 13.0 User Guide

N/A
N/A
Protected

Academic year: 2021

Share "OptiStruct 13.0 User Guide"

Copied!
624
0
0

Loading.... (view fulltext now)

Full text

(1)

HyperWorks 13.0

OptiStruct User's Guide

(2)

Altair Engineering Support Contact Information

Web site www.altairhyperworks.com

Location Telephone e-mail

Australia 64.9.413.7981 [email protected] Brazil 55.11.3884.0414 [email protected] Canada 416.447.6463 [email protected] China 86.400.619.6186 [email protected] France 33.1.4133.0992 [email protected] Germany 49.7031.6208.22 [email protected] India 91.80. 6629.4500 1.800.425.0234 (toll free) [email protected] Italy 39.800.905.595 [email protected] Japan 81.3.5396.2881 [email protected] Korea 82.70.4050.9200 [email protected] Mexico 55.56.58.68.08 [email protected]

New Zealand 64.9.413.7981 [email protected]

North America 248.614.2425 [email protected]

Scandinavia 46.46.460.2828 [email protected]

United Kingdom 01926.468.600 [email protected]

In addition, the following countries have resellers for Altair Engineering: Colombia, Czech Republic, Ecuador, Israel, Russia, Netherlands, Turkey, Poland, Singapore, Vietnam, Indonesia

Official offices with resellers: Canada, China, France, Germany, India, Malaysia, Italy, Japan, Korea, Spain, Taiwan, United Kingdom, USA

Copyright© Altair Engineering Inc. All Rights Reserved for:

HyperMesh® 1990-2014; HyperCrash® 2001-2014; OptiStruct® 1996-2014; RADIOSS®1986-2014; HyperView®1999-2014; HyperView Player® 2001-2014; HyperStudy® 1999-2014; HyperGraph®1995-2014; MotionView® 1993-2014; MotionSolve® 2002-2014; HyperForm® 1998-2002-2014; HyperXtrude® 1999-2002-2014; Process Manager™ 2003-2002-2014; Templex™ 1990-2002-2014; TextView™ 1996-2014; MediaView™ 1999-2014; TableView™ 2013-2014; BatchMesher™ 2003-2014; HyperMath® 2007-2014;

Manufacturing Solutions™ 2005-2014; HyperWeld® 2009-2014; HyperMold® 2009-2014; solidThinking® 1993-2014; solidThinking Inspire® 2009-2014; solidThinking Evolve®™ 1993-2014; Durability Director™ 2009-2014; Suspension Director™ 2009-2014; AcuSolve® 1997-2014; AcuConsole® 2006-2014; SimLab®™2004-2014 and Virtual Wind Tunnel™ 2012-2014.

In addition to HyperWorks® trademarks noted above, Display Manager™, Simulation Manager™, Compute Manager™, PBS™, PBSWorks™, PBS GridWorks®, PBS Professional®, PBS Analytics™, PBS Desktop™, PBS Portal™, PBS Application Services™, e-BioChem™, e-Compute™ and e-Render™ are trademarks of ALTAIR ENGINEERING INC.

Altair trademarks are protected under U.S. and international laws and treaties. Copyright© 1994-2014. Additionally, Altair software is protected under patent #6,859,792 and other patents pending. All other marks are the property of their respective owners. ALTAIR ENGINEERING INC. Proprietary and Confidential. Contains Trade Secret Information. Not for use or disclosure outside of ALTAIR and its licensed clients. Information contained inHyperWorks® shall not be decompiled, disassembled, or “unlocked”, reverse translated, reverse engineered, or publicly displayed or publicly performed in any manner. Usage of the software is only as explicitly permitted in the end user software license agreement.

(3)

OptiStruct 13.0 User's Guide

... 1 User's Guide ... 2 Overview ... 5 Features ... 12 Capabilities ... 13 Formats ... 14 Enhancing the Design Process

... 17 Pre-processing and Post-processing in HyperWorks

... 21 Running OptiStruct

... 25 Run Options for OptiStruct

... 39 OptiStruct GPU

... 41 OptiStruct SPMD

... 60 Platforms and Hardware Recommendations

... 62 OptiStruct Configuration File

... 67 Expanded Error Message File

... 69 Memory Limitations

... 71 Restarting OptiStruct

... 72 OptiStruct Compression Run

... 74 Structural Analysis

... 75 Linear Static Analysis

... 76 Linear Buckling Analysis

... 78 Nonlinear Analysis

... 103 Normal Modes Analysis

... 107 Frequency Response Analysis

... 113 Complex Eigenvalue Analysis

... 115 Random Response Analysis

... 119 Response Spectrum Analysis

... 123 Transient Response Analysis

... 129 Thermal Analysis

... 130 Linear Steady-State Heat Transfer Analysis

... 133 Linear Transient Heat Transfer Analysis

... 135 Nonlinear Steady-State Heat Transfer Analysis

... 137 Contact-based Thermal Analysis

... 140 Acoustic Analysis

... 141 Coupled Frequency Response Analysis of Fluid-Structure Models

... 258 Radiated Sound Analysis

... 266 Fatigue Analysis

... 282 Multi-body Dynamics Simulation

(4)

... 284 Transient Analysis for MBD

... 286 Static Analysis for MBD

... 287 Quasi-static Analysis for MBD

... 288 Linear Analysis for MBD

... 289 Bodies ... 290 Markers ... 291 Constraints ... 293 Contact ... 295 Compliant Elements ... 296 Applied Forces and Motions

... 297 Initial Velocity

... 298 Function Expressions

... 299 Results of a Multi-body Dynamics Analysis

... 300 Rotor Dynamics

... 309 NVH Applications and Techniques

... 310 Transfer Path Analysis on an Automobile

... 316 Residual Runs using Super Elements

... 319 Basic OptiStruct NVH Output Files

... 322 Global Search Option

... 325 Create Door and Deck Lid Seals

... 328 Create a HyperGraph Template for Reading in Multiple Files

... 329 Using AMSES (Automatic Multi-Level Sub-Structuring Eigensolver Solution)

... 331 Modeling Techniques

... 332 Parts and Instances

... 341 Subcase Specific Modeling

... 345 Direct Matrix Input (Superelements)

... 364 Flexible Body Generation

... 369 Poroelastic Materials (Biot theory)

... 371 Elements and Materials

... 385 Loads and Boundary Conditions

... 404 Modeling Errors

... 407 Results

... 417 Coupling OptiStruct with Third Party Software

... 425 Design Optimization ... 426 Optimization Problem ... 429 Responses ... 446 Topology Optimization ... 460 Free-size Optimization ... 467 Topography Optimization ... 471 Size Optimization ... 473 Shape Optimization

(5)

... 475 Free-shape Optimization

... 493 Manufacturing Constraints

... 558 Reliability-based Design Optimization (Beta)

... 564 Optimization of Arbitrary Beam Sections

... 565 Optimization of Composite Structures

... 573 Equivalent Static Load Method (ESLM)

... 587 Gradient-based Optimization Method

... 596 Global Search Option

... 598 Design Interpretation - OSSmooth

... 601 OSSmooth Parameter File

... 606 Running OSSmooth

... 607 Interpretation of Topology Optimization Results

... 608 Laplacian Smoothing

... 610 Interpretation of Topography Optimization Results

... 613 FEA Topology for Reanalysis

... 615 FEA Topography for Reanalysis

... 617 OptiStruct References

(6)

User's Guide

Overview Running OptiStruct Structural Analysis Thermal Analysis Acoustic Analysis Fatigue Analysis

Multi-body Dynamics Simulation Rotor Dynamics

NVH Applications and Techniques Modeling Techniques

Results

Coupling OptiStruct with Third Party Software Design Optimization

Design Interpretation - OSSmooth OptiStruct References

(7)

Overview

Altair® OptiStruct® is an industry proven, modern structural analysis solver for linear and

non-linear structural problems under static and dynamic loadings. It is the market-leading solution for structural design and optimization. Based on finite element and multi-body dynamics technology, and through advanced analysis and optimization algorithms, OptiStruct helps designers and engineers rapidly develop innovative, lightweight and structurally

efficient designs. OptiStruct is used by thousands of companies worldwide to analyze and Optimize structures for their strength, durability and NVH (noise, vibration and harshness) characteristics. Refer to the Features page for a list of solutions available in OptiStruct.

Finite element solutions via OptiStruct include:

Linear static analysis

Nonlinear implicit quasi-static analysis Linear buckling analysis

Normal modes analysis Complex eigenvalue analysis Frequency response analysis Random response analysis

Linear transient response analysis

Geometric non-linear explicit and implicit analysis Linear fluid-structure coupled (acoustic) analysis Linear steady-state heat transfer analysis

Coupled thermal-structural analysis

Nonlinear steady-state heat transfer analysis Linear transient heat transfer analysis

Contact-based thermal analysis

Inertia relief analysis with static, non-linear contact, modal frequency response, and modal transient response analyses

Component Mode Synthesis (CMS) for the generation of flexible bodies for multi-body dynamics analysis

Reduced matrix generation

One-step (inverse) sheet metal stamping analysis Fatigue analysis

A typical set of finite elements including shell, solid, bar, scalar, and rigid elements as well as loads and materials are available for modeling complex events.

Multi-body dynamics solutions integrated via OptiStruct for rigid and flexible bodies include: Kinematics analysis

(8)

Static and quasi-static analysis Linearization

All typical types of constraints like joints, gears, couplers, user-defined constraints, and high-pair joints can be defined. High high-pair joints include point-to-curve, point-to-surface, curve-to-curve, curve-to-surface, and surface-to-surface constraints. They can connect rigid bodies, flexible bodies, or rigid and flexible bodies. For this multi-body dynamics solution, the power of Altair MotionSolve has been integrated with OptiStruct.

Structural Design and Optimization

Structural design tools include topology, topography, and free-size optimization. Sizing, shape and free-shape optimization are available for structural optimization.

In the formulation of design and optimization problems, the following responses can be applied as the objective or as constraints: compliance, frequency, volume, mass, moment of inertia, center of gravity, displacement, velocity, acceleration, buckling factor, stress, strain, composite failure, force, synthetic response, and external (user-defined) functions. Static, inertia relief, nonlinear quasi-static (contact), normal modes, buckling, and frequency response solutions can be included in a multi-disciplinary optimization setup.

Topology, topography, size, and shape optimization can be combined in a general problem formulation.

Topology Optimization

Topology optimization generates an optimized material distribution for a set of loads and constraints within a given design space. The design space can be defined using shell or solid elements, or both. The classical topology optimization set up solving the minimum

compliance problem, as well as the dual formulation with multiple constraints are available. Constraints on von Mises stress and buckling factor are available with limitations.

Manufacturing constraints can be imposed using a minimum member size constraint, draw direction constraints, extrusion constraints, symmetry planes, pattern grouping, and pattern repetition. A conceptual design can be imported in a CAD system using an iso-surface generated with OSSmooth, which is part of the OptiStruct package.

Free-size optimization is available for shell design spaces. The shell thickness or composite ply-thickness of each element is the design variable.

Topography Optimization

Topography optimization generates an optimized distribution of shape based reinforcements such as stamped beads in shell structures. The problem set up is simply done by defining the design region, the maximum bead depth and the draw angle. OptiStruct automatically provides the design variable creation and optimization control. Manufacturing constraints can be imposed using symmetry planes, pattern grouping, and pattern repetition.

Size and Shape Optimization

General size and shape optimization problems can be solved. Variables can be assigned to perturbation vectors, which control the shape of the model. Variables can also be assigned to

(9)

properties, which control the thickness, area, moments of inertia, stiffness, and

non-structural mass of elements in the model. All of the variables supported by OptiStruct can be assigned using HyperMesh. Shape perturbation vectors can be created using HyperMorph. The reduction of local stress can be accomplished easily using free-shape optimization. Shape perturbations are automatically determined by OptiStruct (based on the stress levels in the design) when using this technique.

The layout of laminated shells can be improved by modifying the ply thickness and ply angle of these materials.

Multi-body Dynamics Analysis

Different solution sequences for the analysis of mechanical systems are available; these include Kinematics, Dynamics, Static, and Quasi-static solutions.

(10)

Features

Finite Element Analysis using OptiStruct

Structural Analysis

- Linear Static Analysis - Linear Buckling Analysis

- Nonlinear Quasi-Static Analysis

- Large Displacement Nonlinear Static Analysis

- Geometric Nonlinear Analysis (RADIOSS Integration) - Normal Modes Analysis

- Frequency Response Analysis - Complex Eigenvalue Analysis - Random Response Analysis - Response Spectrum Analysis - Transient Response Analysis Thermal Analysis

- Linear Steady-State Heat Transfer Analysis - Linear Transient Heat Transfer Analysis

- Nonlinear Steady-State Heat Transfer Analysis - Contact-based Thermal Analysis

Acoustic Analysis

- Coupled Frequency Response Analysis of Fluid-Structure Models - Radiated Sound Analysis

Fatigue Analysis - Stress-Life method - Strain-Life method Rotor Dynamics Fast equation solver - Sparse matrix solver - Iterative PCG solver - Lanczos eigensolver - SMP parallelization - SPMD parallelization - DMIG input - AMLS Interface - FastFRS Interface

(11)

Advanced element formulations

- Triangular, quadrilateral, first and second order shells - Laminated shells

- Hexahedron, pyramid, tetrahedron first and second order solids - Bar, beam, bushing, and rod elements

- Spring, mass, and damping scalar elements - Mesh independent gap and weld elements - Rigid elements

- Concentrated and non-structural mass - Direct matrix input

Geometric element quality check Local coordinate systems

Multi-point constraints Contact, tie interfaces Prestressed analysis Linear-elastic materials - Isotropic - Anisotropic - Orthotropic Nonlinear materials - Elastoplastic - Hyperelastic - Viscoelastic

Material consistency checks

Ground check for unintentionally constrained rigid body modes.

Modeling Techniques

Parts and Instances Subcase Specific Modeling

Direct Matrix Input (Superelements) - Direct Matrix Input

- Creating Superelements - Component Dynamic Analysis Flexible Body Generation

(12)

Multi-body Dynamics using OptiStruct

Solution sequences - Kinematics - Dynamics - Static - Quasi-static - Linearization Bodies - Rigid - Flexible

- Flexible body generation in using the CMS modeling technique, integrated with multi-body analysis if the model is set up in OptiStruct.

Constraints (between any body, flexible, or rigid)

- Joints: Ball (spherical), free, fixed, revolute, translational, cylindrical, universal, planar, at-point, in-plane, parallel-axes, orient, perpendicular-axes, constant velocity, and in-line.

- Gear - Couplers

- Higher-pair joints: point-to-curve, point-to-surface, curve, curve-to-surface, and surface-to-surface constraints.

Loads - Forces - Gravity

- Motions (Joint and Marker) - Initial velocities (Body and Joint) Function Expressions

Optimization

General optimization problem formulation for all optimization types - Response based

- Equation utility

- Interface to external user-defined routines - Minmax (maxmin) problems

- System identification

- Continuous and discrete design variables Solution sequences for optimization

- Linear static - Normal modes

(13)

- Linear buckling

- Quasi-static nonlinear (gap/contact)

- Frequency response (modal method with residual vectors) - Acoustic response

- Random response

- Linear steady-state heat transfer - Coupled thermo-mechanical - Multi-body Dynamics

- Fatigue

Responses for optimization - All optimization types:

- Compliance - Frequency - Compliance index - Volume - Mass - Volume fraction - Mass fraction - Center of gravity - Moments of inertia - Displacement - Velocity - Acceleration - Temperature - Pressure

- Stress (global von Mises stress in topology/free-size optimization) - Buckling factor (with limitations in topology/free-size optimization) - Fatigue life/damage

- User-defined responses

- Size, shape, free-shape, and topography optimization:

(In problems with topology/free-size design domains, these responses can be used in the non-design domain)

- Strain - Force

- Composite stress, strain, and failure (linear static analysis only) Automatic selection of best optimization algorithm

- Optimality criteria method - Convex approximation method - Method of feasible directions - Sequential quadratic programming - Advanced approximations

Automatic selection of best method for design sensitivity analysis - Direct method

- Adjoint variable method

(14)

be solved simultaneously

Multi-disciplinary optimization using combinations of the supported solution sequences Mode tracking

Topology Optimization

Generalized optimization problem formulation

Multiple load cases with different solution sequences in combination Global von Mises stress constraint for static loads

Density method

1-D, 2-D, and 3-D elements in the design space

Non-design space can contain any element type and response Extensive manufacturing control:

- Minimum member size control to avoid mesh dependent results - Maximum member size control to avoid large material concentrations - Draw direction constraints

- Extrusion constraints - Pattern grouping - Pattern repetition

- Multiple symmetry planes Checkerboard control

Discreteness control

Smoothing and geometry generation for 3-D results

Free-Size Optimization

Generalized optimization problem formulation

Multiple load cases with different solution sequences in combination Global von Mises stress constraint for static loads

Shell element thickness and composite ply-thickness design variables Non-design space can contain any element type and response

Extensive manufacturing control:

- Minimum member size control to avoid mesh dependent results - Maximum member size control to avoid large material concentrations - Draw direction constraints

- Extrusion constraints - Pattern grouping

(15)

- Pattern repetition

- Multiple symmetry planes

Topography Optimization

Shape optimization for shells with automated design variable definition Easy set up with one DTPG card

Extensive bead pattern control to allow for manufacturing constraints - Pattern grouping

- Pattern repetition

- Multiple symmetry planes - Discreteness control

Size Optimization

Shell, rod, and beam properties can be designed

Spring and concentrated mass properties can be designed Composite ply thickness and ply angle can be designed Material properties can be designed

Continuous and discrete design variables

Shape Optimization

Perturbation vector approach

Shape functions are defined through DVGRID cards Continuous and discrete design variables

Free-shape Optimization

Perturbation vector approach

Automatic generation of perturbation vectors Reduction of stress concentrations

Structural Optimization in Multi-body Dynamics Systems

Equivalent Static Load (ESL) method

Size, shape, free-shape, topology, topography, free-size, and material optimization of flexible bodies in multi-body dynamics systems

(16)

Generalized optimization problem definition Large number of design variables and constraints

Pre-processing

Fully supported in HyperMesh and MotionView Nastran type input format

Post-processing

HyperView

- Direct output of H3D format for model and results - Direct output for iteration history

- Export of iso-density surface in STL format HyperGraph

- Iteration history graphs - Sensitivity bar charts

- Complex frequency response displacement, velocity, and acceleration plots for up to 500 nodes

- Random response PSD and auto/cross correlation of displacement, velocity, and acceleration

- Transient response displacement, velocity, and acceleration time history plots for up to 500 nodes

- Bar chart for effective mass HTML report

- Model summary

- Model and result displayed using HyperView Player HyperMesh

- Direct binary result file output Microsoft Excel

- Design sensitivities for size and shape variable approximations Support of Nastran Punch and OP2 output formats

(17)

Capabilities

OptiStruct can be used to solve and optimize a wide variety of design problems in which the structural and system behavior can be simulated using finite element and multi-body

dynamics analysis.

The design and optimization capabilities of OptiStruct allow for the development of preliminary design concepts and for the improvement of existing designs based on finite element analyses. Some types of optimization problems are listed below:

Two-dimensional truss structure optimization

Ribbed reinforcement patterns for 3-D shell structures Ribbed reinforcements for solid structures

Spotweld reduction

Lightening holes for existing 2-D planar and 3-D bending shell problems

Discrete optimized structures for problems modeled using 3 dimensional solid element problems

Bead (Swages) reinforcements in 3-D shell structures Shape modifications for volume parts

Gage optimization of 3-D shell structures

Beam cross-section optimization of structures modeled with beam elements Layout of laminated shell by modifying ply thickness and ply angle

Reduction of stress concentrations

Optimization of mechanisms and mechanical systems to minimize weight and reduce stress

(18)

Formats

OptiStruct supports the following input/output formats:

Formats

Input Nastran Bulk Data Format Output HyperMesh Result File (Results)

H3D Binary File (Results) Patran ASCII (Results) Nastran Output2 (Results) Nastran Punch File (Results) OptiStruct 2.0 (Results)

HyperView Format (Iteration history, sensitivities, effective mass)

Microsoft Excel (Sensitivities)

From Bulk Data Format input:

HyperMesh Result File Nastran Output2 File Nastran Punch File OptiStruct 2.0 File Patran ASCII File

(19)

Enhancing the Design Process

OptiStruct enhances the design process by: Accelerating the design process

Shortening the number of design cycles Increasing the design performance

Providing fast and accurate finite element analysis

Generating optimal design concepts using topology and topography optimization Providing traditional size and shape optimization to maximize the design performance

The design process can be viewed as an optimization process to find structures, mechanical systems, and structural parts that fulfill certain expectations towards their economy,

functionality, and appearance. Generally, the design process is an iterative procedure consisting of the following components:

Conceptual design Design

Testing Optimization

Today’s testing ground is usually the computer. Finite element analysis (FEA) and Multi-body dynamics analysis (MBD) are the most used tools for computational design testing. The results of computational analyses are used to determine design improvements.

Changes to the design are introduced in all phases of the process. At a certain stage of this process, changes to the concept become prohibitive. The concept phase plays a fundamental role concerning overall efficiency of the design and the cost of the overall development process.

In the concept phase of a design process, the freedom of the designer is limited only by the specifications of the design (Figure 1). Today, the decision on how a new design should look is based largely upon a benchmark design or on previous designs. The decision making is based on the experience of those involved in the design process. Conceptual design tools such as topology and topography optimization can be introduced to enhance the process. The concept can be based on results of a computational optimization rather than on

estimations. Using topology and topography optimization, the initial design step is already based on input generated using computational analysis. Topology and topography

optimization redefine the role of computational analysis and simulation in the design process. Finite element analysis has matured from a testing tool to a design tool.

(20)

Figure 1: Decision making in the design process.

Figure 2 compares the design process using topology optimization with the conventional method of leaving the concept entirely to experience and intuition. The overall cost of design development can be reduced substantially by avoiding concept changes introduced in the testing phase of the design. This is the major benefit of modifying the design process by introducing topology and topography optimization.

In the real world, the design process is not as straightforward as described above. The design is not just driven by one performance measure -- it has to be viewed as a

multidisciplinary task. Today, the different disciplines work more or less independently. Analysis and optimization is performed for single phenomena such as linear static behavior or noise, vibration and harshness. Still, the idea persists that if one performance measure improves, the whole performance improves. A simple example shows that this is not quite true. Take the design of a car -- a high stiffness is necessary for good driving and handling, and high deformability is important for the crashworthiness of the design. This shows that improving one measure may result in degrading another. Therefore, compromises must go into the formulation of the optimization problem. The definition of the design problem and of the design target is most important. The solution can be left to computational means. Multidisciplinary considerations, especially in the conceptual design, are, in many ways, still active research topics and are being covered by future developments of topology

optimization. However, the inclusion of manufacturing constraints into topology and topography optimization is already implemented in OptiStruct.

(21)

OptiStruct also provides size and shape optimization to completely support the design process with finite element based structural optimization. Using the advanced interfacing with HyperMesh, the generation of input data for structural optimization becomes an easy task. This allows structural optimization to be integrated into the design process seamlessly.

(22)

Pre-processing and Post-processing in HyperWorks

Pre-processing

Pre-processing tools must be used to prepare models for OptiStruct, RADIOSS, and

MotionSolve. HyperWorks provides specialized pre-processors interfacing with the solvers. HyperMesh can be used to mesh and set up finite element simulations for OptiStruct and RADIOSS. Two user profiles are provided:

OptiStruct

RADIOSS (with sub-profiles for the different input formats)

HyperCrash is useful to set up finite element models for automotive crash simulation in RADIOSS. It provides a number of useful tools for dummy positioning and model

interrogation that are not available in HyperMesh. Translation of models from OptiStruct to RADIOSS and vice versa can be performed efficiently in HyperCrash.

HyperForm is used to set up and execute sheet metal stamping simulations. Two user profiles are provided to run RADIOSS:

One_Step

Incremental_Radioss

MotionView is used to set up multi-body dynamics models for MotionSolve. The respective SolverMode has to be chosen.

(23)

Figure 2. HyperCrash

(24)

Figure 4. MotionView

Post-processing

Graphical tools must be used to visualize and evaluate the results of OptiStruct, RADIOSS, and MotionSolve. HyperWorks provides HyperView, a specialized post-processor, for this. HyperView allows animation, 2D and 3D plotting, video and text processing to work with the solver results and to generate reports. It can be used for all post-processing purposes in finite element and multi-body dynamics analysis.

Direct readers are provided for the animation and time history file written by OptiStruct, RADIOSS, and MotionSolve.

(25)
(26)

Running OptiStruct

Note: Your system administrator may need to modify the script

to make it compatible with your system. This section describes the execution of OptiStruct. There are several ways to run OptiStruct:

From the script.

From the HyperWorks Solver Run Manager. From inside the preprocessors HyperMesh. From inside HyperView and HyperGraph.

In all the above cases, HyperWorks will initialize $PATH and other environment variables required to run the selected solver, however you are responsible for initializing environment variables for third party products. In particular, MPI and AMLS/FFRS external solvers (if needed) may require PATH and LD_LIBRARY_PATH.

Running OptiStruct from the Script

To run on UNIX from the command line, type the following:

<install_dir>/altair/scripts/optistruct "filename" –option argument To run OptiStruct from a Windows DOS prompt, type the following:

<install_dir>\hwsolvers\bin\win64\optistruct.bat "filename" –option argument The options and arguments are described under Run Options for OptiStruct.

OptiStruct looks for "filename" in the following manner ("filename" may contain a file path that is either absolute or relative to the run directory):

First, it checks to see if "filename" exists exactly as input.

If "filename" does not exist exactly as input, and if "filename" does not contain an extension (that is, if the actual file name without the path does not contain a period), then it checks for "filename".parm and then for "filename".fem.

If none of these checks results in a match, OptiStruct reports an error and terminates.

Running OptiStruct from HyperWorks Solver Run Manager

On Windows, a utility to start each solver is provided through Start > Programs > Altair

HyperWorks 13.0 > OptiStruct. This utility allows you to start multiple solver runs, select

options from the menu, and maintains a history of solutions. On UNIX platforms, this utility can be started from command line as:

(27)

Running OptiStruct from HyperMesh

If you set up a finite element model in HyperMesh, you can run the simulation directly out of HyperMesh by going to the OptiStruct panel in the respective user profiles. The panels can be accessed through the Analysis page, from the Utility menu, or through the Applications pull down. The panels ask for the file name. After clicking the solver button, the model is exported using the given export options. Then the solver runs the script that is provided locally on the machine. After solver execution, the results can be viewed in HyperView. You can bring up HyperView with the results loaded by clicking HyperView.

Note: When running OptiStruct from HyperMesh on UNIX and

Linux, a shell is spawned with the DISPLAY setting <hostname>:0.0. If this is different from the DISPLAY setting for HyperMesh, 50 HyperWorks units (in addition to the 21 HyperWorks units being used for HyperMesh) will be checked out. To avoid the checking out of additional units, be sure that the DISPLAY is set to <hostname>:0.0 before starting HyperMesh.

Running OptiStruct from HyperView or HyperGraph

If you are in HyperView or HyperGraph, OptiStruct can be run from the Applications pull-down. After selecting OptiStruct, the HyperWorks Solver Run Manager main form will appear, which will allow you to select a file, enter run options, and run the simulation.

The OptiStruct Configuration File

The configuration file optistruct.cfg may be used to establish default settings for

OptiStruct either system wide, for a particular user, or for a local directory. A full description of the settings allowed and the usage of the configuration file is provided on the OptiStruct Configuration File page.

Environment Variables

The following environment variable is optional and may be set on either UNIX or PC

platforms; however, the preferred way is to define them using the OptiStruct Configuration File.

OS_TMP_DIR =

path Path – Path name to directory for scratch filestorage (Default = directory where the solver is started – can be overwritten by the definition in the script or input deck).

The following environment variable is optional and may only be set on UNIX platforms; however, the preferred way is to define this using the OptiStruct Configuration File.

(28)

DOS_DRIVE_$ =

path This environment variable allows drive letters tobe assigned to UNIX paths. This facilitates copying files which contain INCLUDE, TMPDIR, INFILE or OUTFILE definitions containing drive letters from PC to UNIX on hybrid networks. $ - Drive letter to be defined (case sensitive). Path - UNIX path with which you want to replace the drive letter.

Note that after such expansion, the paths are always interpreted as if there were a ‘\’

immediately after the drive letter in the original PC path.

Memory Allocation

Memory is dynamically allocated for a run. The allocation starts with the initial memory. The default setting for the memory limit is 1GB for 64-bit solver version (PC and Linux). This setting can be changed by using the SYSSETTING option OS_RAM, or by defining the –len option in the run script. The script overwrites the environment variable.

OptiStruct will always attempt to assign enough memory for a minimum core solution. The initial memory is 10% of the memory limit by default. This setting can be changed by using the SYSSETTING option OS_RAM_INIT.

A check run can be very helpful in estimating the memory and disk space usage. In a check run, the memory necessary is automatically allocated.

The solver automatically chooses an in-core, out-of-core, or minimum core solution based on the memory allocated. A solution type can be forced by defining the –core option in the run script; the memory necessary for the specified solution type is then assigned.

Refer to the Memory Limitations section for detailed information on the following topics: 32-bit versus 64-32-bit computations, virtual versus physical memory, and automatic memory allocation versus fixed memory runs.

Summary Information

OptiStruct always creates an .out file which contains summary information for the job. This information can be echoed to the screen through the inclusion of the SCREEN I/O option in the input data or through the use of the -out command line option (see Run Options for OptiStruct).

This file also contains memory and disk space estimates. The disk space estimates for eigenvalue analyses (normal modes, linear buckling, modal methods of frequency, transient response, and fluid-structure coupling (acoustics)) are sometimes very conservative and can be three times as much as is truly used. This is because it is not fully predictable how much data needs to be saved to scratch files.

The true usage of memory and disk space is reported at the bottom of the file after the solver has finished.

(29)

Should the job be re-run in the same location, the .out file is not overwritten, but is instead moved to _#.out, where # is the lowest available three digit number that creates a unique file name.

For example, if filename.fem were run in a directory already containing filename.out, the existing filename.out would be moved to filename_001.out, and the summary information for the new job would be written to filename.out. Should the job be repeated again, the existing filename.out would be moved to filename_002.out, and the summary information for the latest job would be written to filename.out.

filename.out is the only file that is saved in this manner. All other results files will be overwritten.

Recommendations

1. Try running OptiStruct with the default setting first (without specification of the –len or – core options).

2. Do a check run before submitting large jobs (>500,000 dof) to NQS to make sure

sufficient NQS memory is being provided. The –lM option can be used to change the NQS memory. Be sure to include at least 12Mb for the executable in addition to the memory necessary to solve the problem. A check run can also assist in debugging input data without having to wait in a queue.

(30)

Run Options for OptiStruct

Option Argument Description Available on

-acf N/A Option to specify that the input file is an ACF file for a multi-body dynamics solution sequence.

All Platforms

-amls YES/NO Invokes the external AMLS eigenvalue solver. The AMLS_EXE environment variable needs to point to the AMLS executable for this setting to work.

Overrides the PARAM, AMLS setting in the input file.

(Example: optistruct infile.fem –amls yes)

Linux

-amlsncpu 1, 2, or 4 Defines the number of CPUs to be used by the external AMLS eigenvalue solver. This

parameter will set the environment variable OMP_NUM_THREADS.

The default value is the current value of OMP_NUM_THREADS. Note that this value can be set by the command line arguments – nproc or –ncpu.

OptiStruct and AMLS can be run with different allocations of processors. For example, OptiStruct can be run with 1 processor and AMLS with 4 processors in the same run. Only valid with –amls run option or when PARAM, AMLS is set to YES.

Overrides the PARAM, AMLSNCPU setting in the input file.

Default: Number of processors used by OptiStruct.

(Example: optistruct infile.fem –amls yes –amlsncpu 4)

Linux

-amlsmem Memory in GB

<Real>

Defines the amount of memory in Gigabytes to be used by the external AMLS eigenvalue solver. This run option is only supported for AMLS versions 5 and later.

Note:

(31)

Option Argument Description Available on

1. This run option will override the memory value set by PARAM, AMLSMEM in the input file and the environment variable

AMLS_MEM.

2. This run option is valid only if –amls or PARAM, AMLS is set to YES.

-analysis N/A Submit an analysis run. This option will also check the optimization data; the job will be terminated if any errors exist.

-optskip will skip checking the optimization data and the analysis will be performed. Cannot be used with -check or -restart (Example: optistruct infile.fem – analysis)

All Platforms

-buildinfo N/A Displays build information for selected solver executables.

OptiStruct

-check N/A Submit a check job through the command line.

The memory needed is automatically allocated.

Cannot be used with –analysis, -optskip or -restart

(Example: optistruct infile.fem –check)

All Platforms

-checkel yes, no, full Note: An argument for – checkel is optional. If an argument is not specified, the default argument

If NO, element quality checks are not

performed, but mathematical validity checks are performed.

If YES, or if no argument is given, the

geometric quality of each element is checked. Any violation of the error limits is counted as a fatal error and the run will stop. Any violation of warning limits is non-fatal. Error or warning messages are printed for elements violating the limits along with the offending property values. The amount of output is limited to the first 3 occurrences for each individual case, plus a summary table of all errors.

If FULL, the same checks are performed as for YES, but the error or warning messages are

(32)

Option Argument Description Available on

(yes) is

assigned. printed for all of the elements violating theerror or warning limits. Default is YES.

(Example: optistruct infile.fem –checkel full)

(Example: optistruct infile.fem –checkel)

Note: An argument for –checkel is optional.

If an argument is not specified, the default argument (yes) is assigned. -compress N/A Submits a compression run.

Reduces out matching material and property definitions.

Property definitions referencing deleted material definitions are updated with the retained matching material definition

(reduction of property definition occurs after this process).

Element definitions referencing deleted property definitions are updated with the retained matching property definition. The resulting bulk data file will be written to a file named <filename>.echo.

It is assumed that there is no optimization, nonlinear or thermal-material data in the bulk data. If such data are present in the input file, the resulting file (<filename>.echo) may not be valid.

The –compress run option cannot be used in combination with any other option as

OptiStruct terminates the run after the .echo file is generated.

(Example: optistruct infile.fem – compress)

See OptiStruct Compression Runfor more information.

All Platforms

-core in, out,

min in – in-core solution is forced out – out-of-core solution is forced

(33)

Option Argument Description Available on

min – minimum core solution is forced The solver assigns the appropriate memory required. If there is not enough memory available, OptiStruct will error out. Overwrites the –len option.

(Example: optistruct infile.fem –core in) -cpu or -proc or -nproc or -ncpu or -nt Number of

cores Number of cores to be used for SMP solution. (See comment 2). (Example: optistruct infile.fem -ncpu 2)

All Platforms

-ddm N/A Runs MPI based OptiStruct SPMD in Domain Decomposition Mode.

Not all platforms are supported. Refer to the OptiStruct SPMD User's Guide for the list of supported platforms. -delay Number of

seconds Delays the start of an OptiStruct run for thespecified number of seconds. This functionality does not use licenses, computer memory or CPU before the start of the run (the delay expires).

Note:

The –delay option can only be used for a single job. Delays cannot be

scheduled for multiple jobs in a queue. If the run is started using the HWSolver Run Manager (GUI), the Schedule

delay option should be used.

All Platforms

-dir N/A Change directory to the location of input file before starting the solver.

All Platforms

-ffrs YES/NO Invokes the external FastFRS (Fast Frequency Response Solver) solver. The FASTFRS_EXE

(34)

Option Argument Description Available on

environment variable should point to the FastFRS executable for this setting to work. Overrides the PARAM, FFRS setting in the input file.

(Example: optistruct infile.fem –ffrs yes)

-ffrsncpu 1, 2, or 4 Defines the number of CPUs to be used by the external FastFRS eigenvalue solver. This parameter will set the environment variable OMP_NUM_THREADS.

The default value is the current value of OMP_NUM_THREADS. Note that this value can be set by the command line arguments – nproc or –ncpu.

OptiStruct and FastFRS can be run with different allocations of processors. For example, OptiStruct can be run with 1 processor and FastFRS with 4 processors in the same run.

Valid only when the –ffrs run option or PARAM, FFRS is set to YES.

Overrides the PARAM, FFRSNCPU setting in the input file.

Default: Number of processors used by OptiStruct.

(Example: optistruct infile.fem –ffrs yes –ffrsncpu 4)

Linux

-ffrsmem Memory in GB

<Real>

Defines the amount of memory in Gigabytes to be used by the external FastFRS

eigenvalue solver. This run option is only supported for FastFRS versions 2 and later.

Note:

1. This run option will override the memory value set by PARAM, FFRSMEM in the input file and the environment variable

FFRS_MEM.

2. This run option is valid only when the – ffrs run option or PARAM, FFRS is set to YES.

(35)

Option Argument Description Available on

-fixlen RAM in

MBytes Disables dynamic memory allocation. OptiStruct will allocate the given amount of memory and use it throughout the run. If this memory is not available, or if the allocated amount is not sufficient for the solution process, OptiStruct will terminate with an error.

To avoid over specifying the memory when using this option, it is suggested first to run OptiStruct with the -check option and use the results of that run to properly define the memory size for the -fixlen option. This option allows, on certain platforms, to avoid memory fragmentation and allocate more memory than is possible with dynamic memory allocation.

Overwritten by -len and -core options. (Example: optistruct infile.fem -fixlen 500)

All Platforms

-gpu N/A Activates GPU Computing All Platforms -gpuid N/A N: Integer, Optional, Selects the GPU Card.

Default = 1.

All Platforms

-h N/A Displays script usage. All Platforms -len RAM in

MBytes Preferred upper bound on dynamic memoryallocation. When different algorithms can be chosen, the solver will try to use the fastest algorithm which can run within the specified amount of memory. If no such algorithm is available, then the algorithm with minimum memory requirement will be used. For example, the sparse linear solver, which can run in-core, out-of-core or min-core will be selected. The – core option will override the –len option. The default for –len is 1000MB, this means that all except for very small models, OptiStruct will use only the minimum memory needed to run the job. If –len value is larger than the amount of available physical RAM, it may cause excessive swapping during

(36)

Option Argument Description Available on

computations, and significantly slow down the solution process.

Default = 1000 MB.

(Example: optistruct infile.fem –len 32)

Best practices for –len specification:

For proper memory allocation while using – len in an OptiStruct run, avoid using the exact reported memory estimate value (for eg. Using Check). The –len value should be provided based on the actual memory of the system. This would be the recommended memory limit to run the job, it may not necessarily represent the memory utilized by the job or the actual memory limit. This way, the job is more likely to run with the best possible performance. If the same system is shared by multiple jobs, then the memory allocation should follow the same procedure as above; except, that the individual

maximum memory should be used in place of the total system memory. (If a job runs out-of-core instead of in-core (it exceeded the memory allocation) it will still run very efficiently. However, make sure that the job does not exceed the actual memory of the system itself as this will slow the run down by a large factor. The recommended method to deal with this is to specify –maxlen as the actual memory of the system to limit the maximum memory that can be used on the system.

-lic FEA, OPT FEA - FE analysis only (OptiStructFEA).

All Platforms

OPT - Optimization (OptiStruct or OptiStructMulti).

The solver checks out a license of the

specified type before reading the input data. Once the input data is read, the solver verifies that the requested license is of the correct type. If this is not the case,

(37)

Option Argument Description Available on

No default

(Example: OptiStruct infile.fem -lic FEA) -licwait Hours to wait for a license to become available Note: An argument for – licwait is optional. If the argument is not specified, the default argument (12) is assigned.

If present and there are not 50 HyperWorks Units available, OptiStruct will wait for up to the number of hours specified (default=12) for licenses to become available and then start to run. The maximum wait period that can be specified to wait is 168 hours (a week). OptiStruct will check for available HyperWorks Units every two minutes.

All Platforms

-manual N/A Launches the online OptiStruct User’s manual.

All Platforms

-maxlen RAM in

Mbytes Hard limit on the upper bound of dynamicmemory allocation. OptiStruct will not exceed this limit. No default

(Example: optistruct infile.fem –maxlen 1000)

All Platforms

-mmo N/A The –mmo option can be used to run multiple optimization models in a single run.

Not all platforms are supported. Refer to the OptiStruct SPMD User's Guide for the list of supported

(38)

Option Argument Description Available on

platforms. -monitor N/A Monitor convergence from an optimization or

nonlinear run. Equivalent to SCREEN, LOG in the input deck.

All Platforms -mpi i (Intel MPI), pl (IBM Platform-MPI (formerly HP-MPI)), ms (MS-MPI), pl8 (for versions 8 and newer of IBM Platform-MPI) Note: An argument for –mpi is optional. If an argument is not specified, the default argument is assigned.

Initiate an MPI-based SPMD run on supported platforms.

(Example: optistruct infile.fem –mpi – np 4)

Not all platforms are supported. Refer to the OptiStruct SPMD User's Guide for the list of supported platforms.

-mpipath path Specify the directory containing HP-MPI’s mpirun executable.

Note: This option is useful if MPI

environments from multiple MPI vendors are installed on the system. Valid for an MPI run only.

(Example: optistruct infile.fem –mpi – np 4 –mpipath /apps/hpmpi/bin)

Not all platforms are supported. Refer to the OptiStruct SPMD User's Guide for the list of supported platforms.

(39)

Option Argument Description Available on

-nlrestart Subcase ID Restart a geometric nonlinear solution sequence from specified subcase ID. If Subcase ID is not specified, it will restart from the first geometric nonlinear subcase ending with error in previous run.

Note: The geometric nonlinear solution

sequence is a series of geometric nonlinear subcases (ANALYSIS =

NLGEOM, IMPDYN or EXPDYN) linked by CNTNLSUB.

All Platforms

-np Number of

processors Number of processors to be used in SPMDanalysis. (Example: optistruct infile.fem –mpi – np 4)

All Platforms

-optskip N/A Submit an analysis run without performing check on optimization data (skip reading all optimization related cards).

Cannot be used with –check or –restart. (Example: optistruct infile.fem -optskip)

All Platforms

-out N/A Echos the output file to the screen. This takes precedence over the I/O option SCREEN.

(Example: optistruct infile.fem -out)

All Platforms

-outfile Prefix for output filenames

Option to direct the output files to a directory different from the one in which the input file exists. If such a directory does not exist, the last part of the path is assumed to be the prefix of the output files. This takes precedence over the I/O option OUTFILE. (Example: optistruct infile.fem -outfile results); here OptiStruct will output results.out, etc.

All Platforms -rad Run RADIOSS optimizati on in OptiStruct

Option to run RADIOSS optimization in OptiStruct. A RADIOSS optimization file <name>.rad should be input to OptiStruct and the –rad run option should be specified to request an optimization run for a RADIOSS

(40)

Option Argument Description Available on

input deck.

Note: The RADIOSS Starter and input files

supporting the optimization input should be available in the same directory as the <name>.rad file.

Refer to RADIOSS Optimization in the User’s

Guide for more information.

-ramdisk Size of virtual disk (in MB)

Option to specify area in RAM allocated to store information which otherwise would be stored in scratch files on the hard drive. (Example: optistruct infile.fem – ramdisk 800)

For a more detailed description, see the RAMDISK setting on I/O option SYSSETTING.

All Platforms

-reanal Density

threshold This option can only be used in combinationwith -restart. Inclusion of this option on a restart run will cause the last iteration to be reanalyzed without penalization.

If the "density threshold" given is less than the value of MINDENS (default = 0.01) used in the optimization, all elements will be assigned the densities they had during the final iteration of the optimization. As there is no penalization, stiffness will now be

proportional to density.

If the "density threshold" given is greater than the value of MINDENS, those elements whose density is less than the given value will have density equal to MINDENS, all others will have a density of 1.0.

(Example: optistruct infile.fem -restart -reanal 0.3)

All Platforms

-restart filename.s

h Specify a restart run. If no argument isprovided, OptiStruct will look for the restart file, which will have the same root as the input file with the extension .sh. If you enter an argument On PC, you will need to provide the full path to the restart file including the file name.

(41)

Option Argument Description Available on

Cannot be used with –check, -analysis or – optskip.

(Example: optistruct infile.fem -restart); here OptiStruct looks for the restart file infile.sh.

(Example: optistruct infile.fem – restart C:\oldrun\old_infile.sh); here OptiStruct looks for the restart file

old_infile.sh. -rnp Number of

processors Number of processors to be used inOptiStruct SPMD for IMPDYN, EXPDYN, and NLGEOM analysis types.

(Example: optistruct infile.fem –mpi – rnp 4)

All Platforms

-rnt Number of

cores Number of cores to be used for OptiStructSMP for IMPDYN, EXPDYN, and NLGEOM analysis types.

(Example: optistruct infile.fem -rnt 2)

All Platforms

-rsf Safety

factor Specify a safety factor over the limit ofallocated memory. Not applicable when -maxlen is used. (Example: optistruct infile.fem –rsf 1.2)

(Example: optistruct infile.fem –len 32 –rsf 1.2)

(Example: optistruct infile.fem –core out –rsf 1.2) All Platforms -scr or -tmpdir Path, filesize=n , slow=1

Option to choose directories in which the scratch files are to be written. filesize=n and slow=1 arguments are optional. Multiple arguments may be comma separated. path ; give the path to the directory for scratch file storage.

filesize=n ; defines the maximum file size (in GB) that may be written to that location. slow=1 ; indicates a network drive.

(42)

Option Argument Description Available on

(Example: optistruct infile.fem –scr filesize=2,slow=1,/network_dir/tmp) Multiple scratch directories may be defined through repeated instances of –tmpdir or – scr.

(Example: optistruct infile.fem –tmpdir C:\tmp –tmpdir filesize=2,slow=1,Z: \network_drive\tmp)

This overwrites the environment variable OS_TMP_DIR, and the TMPDIR definition in the I/O section of the input deck.

For a more detailed description, see the I/O Option TMPDIR. -scrfmode basic, buffered, unbuffer, smbuffer, stripe, mixfcio

Option to select different mode of storing scratch files for linear solver (especially for out-of-core and minimum-core solution modes). Multiple arguments may be comma separated.

(Example: optistruct infile.fem – scrfmode buffered, stripe – tmpdir C: \tmp)

For a description of the arguments, see the SCRFMODE setting on I/O option

SYSSETTING.

All Platforms

-testmpi N/A Check if MPI is configured properly and if the SPMD version of the OptiStruct executables is available for this system.

(Example: optistruct infile.fem –mpi – np 4 –mpipath /apps/hpmpi/bin -testmpi)

All Platforms

-uselen RAM in

MBytes Suggested dynamic memory usage limit.OptiStruct will use more than the minimum memory required up to this limit, but only when it improves the speed of the solution. This value is used only for some solution sequences, which can profit from additional memory available (for example, to use bigger buffers to store intermediate results).

This value is automatically limited by the value specified by –len, so –uselen can be

(43)

Option Argument Description Available on

set safely to a very large value.

-version N/A Checks version and build time information from OptiStruct.

All Platforms

-xml N/A Option to specify that the input file is an XML file for a multi-body dynamics solution

sequence.

All Platforms

Comments

1. Any arguments containing spaces or special characters must be quoted in {} , for example: -mpipath {C:\Program Files\MPI}. File paths on Windows may use

backward "\" or forward slash "/" but must be within quotes when using a backslash "\". 2. Currently, the solver executable (OptiStruct) does not have a specific limit on the number

of processors/cores assigned to the SMP part of the run ( -nt/-nthread ). However, practical tests indicate that there is little advantage in increasing this value beyond 4, and if the value for this option is set too high, it may actually increase the run time. Therefore the solver script is programmed to error out if the value of -nt exceeds 16. Users

interested in testing this limitation may edit the hwsolver.tcl script (text file) located at:

{ALTAIR_HOME}/hwsolvers/scripts/ To do so, increase '16' in the following lines: add_arg nthread "-nproc=" range { 1 16 } (Or)

add_arg nthread "-nt=" range { 1 16 }

This line appears several times in the script, each appearance is clearly commented to indicate the specific solver executable it applies to.

3. The above arguments are processed by solver script(s) and not by the actual executable. If you are developing internal scripts which use the executable directly, then you may get specific information about command line arguments that are accepted by the executable by looking at the content of the .stat file, where these arguments are listed for each run, or you can contact [email protected] for more information.

4. The order of the above options is arbitrary. However, options for which arguments are optional should not be followed immediately by the INPUT_FILE_NAME argument.

(44)

OptiStruct GPU

Introduction

A Graphics Processing Unit (GPU) is a system which can be used to improve the performance of computationally intensive engineering applications. GPU Computing is a process which uses the GPU to execute the time consuming sections of the application and the rest of the code runs on the CPU.

Implementation

Starting from OptiStruct version 12.0, the GPU can be used to accelerate the sparse direct equation solver through the NVIDIA CUDA programming model. GPU computing is

implemented by off-loading most of the computation intensive work to the GPU and

concurrently overlapping the communication and data transfer between the CPU cores and the GPU.

Speedup

A speedup in the equation solver of up to 4 times, and up to 3 times overall when compared to a Quad-core Intel Nehalem Xeon run, can be achieved. This heterogeneous computing model is particularly suitable for jobs dominated by the equation solver. For example:

nonlinear static analysis on power train structures, topology optimization on blocky structures and so on.

Compatibility

1. GPU computing is available for static analysis/optimization. 2. GPU computing is available in 64-bit Linux platform only. 3. GPU computing is NOT supported in the SPMD module.

4. NVIDIA Fermi and Kepler architecture based Tesla and Quadro graphic cards are

supported. Tesla C2050/C2070/M2090/K10/K20, Quadro 6000/K5000/K6000 cards are recommended for computing by NVIDIA.

Activating OptiStruct GPU

Command option “-gpu” is used to activate OptiStruct GPU. Currently, only one graphics card is supported, and “–gpuid” can be used to pick the desired graphic card for computation when multiple cards are present. Compatible drivers for the graphics card needs to be installed by the user prior to launching OptiStruct GPU using the option “-gpu”.

(45)

Command Line

Option Value Action

-gpu Activates GPU computing

-gpuid N Integer: Optional, selects the GPU card Default = 1

Note: I/O usually accounts for an appreciable percentage of the total

solution time in OptiStruct for an out-of-core or min-core run. This cannot be addressed or improved through GPU computing.

Therefore, -core in (at least –core out) is recommended when the memory in system is large enough.

OptiStruct, currently only supports one graphics card of a GPU in a specific solution. Each GPU card may typically consist of a

multitude of small cores (not comparable to a CPU core). Each GPU graphics card is considered equivalent to 1 CPU core for licensing purposes. Refer to the Altair HyperWorks 13.0 Product Licensing Unit Draw page for OptiStruct GPU licensing information.

Recommended Tesla GPU Computing Processor List for OptiStruct

The following table lists the recommended Tesla graphic boards for use with the Altair HyperWorks Solver suite of applications for high-powered GPU computing.

Manufacturer Adaptor Type

Driver Version (minimum or higher) NVIDIA (Tesla C-CLASS series) C2070 C2075 Linux (64-bit): 295.59 NVIDIA (Tesla M-CLASS series) M2090 Linux (64-bit): 295.59 NVIDIA

(Tesla Kepler) K20 Linux (64-bit)

Note: The most recent vendor/manufacturer drivers should be used and

all driver support for these cards should be addressed to the appropriate manufacturer of the graphic board.

(46)

OptiStruct SPMD

Single Program, Multiple Data (SPMD) is a parallelization technique in computing that is employed to achieve faster results by splitting the program into multiple subsets and running them simultaneously on multiple processors/machines. SPMD typically implies running the same process or program on different machines (Nodes) with different input data for each individual task.

Supported Platforms

Supported platforms and MPI versions for subcase based parallelization are listed in Table 1:

Application Version Supported Platforms MPI

OptiStruct SPMD 13.0

Linux (64-bit)

Requires IBM Platform MPI (formerly HP-MPI)

(Version 7.1); (or) Intel MPI (Version 3.2.011 (or) Version 4.1) Windows (64-bit)

Requires IBM Platform MPI (formerly HP-MPI) (Version 7.1); (or) Intel MPI (Version 3.2.011 (or) Version 4.1) (or) Microsoft MPI (Version 3.04.4169) Table 1: Supported Platforms for OptiStruct SPMD

However, SPMD can sometimes be implemented on a single machine with multiple processors depending upon the program and hardware limitations/requirements. SPMD in OptiStruct is implemented by the following three MPI-based functionalities:

Task-based parallelization (TBP) Domain Decomposition Method (DDM) Multi-model optimization (MMO)

Task-based parallelization

Task-based parallelization (TBP) in OptiStruct can be used when a run is distributed into

parallel tasks, as shown in Figure 1. The schematic shown in Figure 1 is applicable to an SPMD run on multiple machines. The entire model is divided into parallelizable subcases, Table 2 lists the various supported solution sequences and parallelizable steps.

(47)

Figure 1: Overview of Task-based Parallelization in OptiStruct

In Task-based parallelization, the model (analysis/optimization) is split into several tasks, as shown in Figure 1. The tasks are assigned to various nodes that run in parallel. Ideally, if the model is split into N parallel tasks, then (N+1) nodes/machines would be required for maximum efficiency. (This is dependent on various other factors like: type of tasks,

processing power of the nodes, memory allocation at each node and so on. During a TBP run, using more than (N+1) nodes for N parallelizable tasks would not increase efficiency). The extra node is known as the Manager Node. The manager node decides the nature of data assigned to each node and the identity of the Master Node. The manager node also distributes multiple input decks and tasks to various nodes. It does not require a machine with high processing power, as no analysis or optimization is run on the manager node. The Master Node, however, requires a higher amount of memory, since it contains the main input deck and it also collects all results and performs all processes that cannot be parallelized. Optimization is run on the Master Node. The platform dependent Message

Passing Interface (MPI) helps in the communication between various nodes and also

(48)

Note:

1. A Task is a minimum distribution unit used in parallelization. Each buckling analysis subcase is one task. Each Left-Hand Side (LHS) of the static analysis subcases is one task. Typically, the static analysis subcases sharing the same SPC (Single Point Constraint) belong to one task. Not all tasks can be run in parallel at the same time (For example: A buckling subcase can not start before the execution of its STATSUB subcase).

2. The manager can also be included within the master node by specifying np = N+1 for N nodes and repeating the first node in the appfile/hostfile in a cluster setup (-np option, appfile/ hostfile are explained in the following sections).

Supported Solution Sequences

OptiStruct can handle a variety of solution sequences as listed in the overview. However, all solution sequences do not lend themselves to parallelization. In general, many steps in a program execution are not parallelized. Steps like Pre-processing and Matrix Assembly are repeated on all nodes, while response recovery, screening, approximation, optimization and output of results are all executed on the Master Node.

Solution Sequences that

Support Parallelization

Parallelizable Steps Non-Parallelizable Steps

Static Analysis Two or more static Boundary Conditions are parallelized (Matrix Factorization is the step that is parallelized since it is computationally intensive.)

Sensitivities are

parallelized (Even for a single Boundary

Condition as analysis is repeated on all slave nodes).

Iterative Solution is not parallelized. (Only Direct Solution is parallelized).

Buckling Analysis Two or more Buckling Subcases are

parallelized. Sensitivities are

(49)

Solution Sequences that

Support Parallelization

Parallelizable Steps Non-Parallelizable Steps

Direct Frequency Response Analysis

Loading Frequencies are parallelized.

No Optimization. Modal Frequency

Response Analysis

Loading Frequencies are parallelized.

Modal FRF pre-processing is not parallelized.

Sensitivities are not parallelized.

Table 2: Task-based parallelization - Parallelizable Steps for various solution sequences

As of HyperWorks 11.0, the presence of non-parallelizable subcases WILL NOT make the entire program non-parallelizable. The program execution will continue in parallel and the non-parallelizable subcase will be executed as a serial run.

Number and Type of Nodes available for Parallelization

The types and functions of the nodes that are used in Task-based Parallelization are indicated in Table 3. The first node is automatically selected as the manager, the second node is the master node and the rest are slave nodes.

Node Type Functions

Master Node (1 Node)

Runs all non-parallelizable tasks Optimization is run here

Slave Node (N-2 Nodes)

Runs all parallelizable tasks Input deck copies are provided Manager Node

(1 Node)

No tasks are run on this node, it manages the way nodes are assigned tasks.

Manager makes multiple copies of the input deck and sends them to the slave nodes. Table 3: Types and functions of the Nodes

This assignment is based on the sequence of nodes that you specify in the appfile. The appfile is a text file which contains process counts and the list of programs. Nodes can be repeated in the appfile, multiple cores of the repeated nodes will be assigned parallel jobs in the same sequence discussed here.

References

Related documents