D 3 Plot
D 3 Plot
UK
Arup Group Ltd The Arup Campus Blythe Gate Blythe Valley Park Solihull West Midlands B90 8AE United Kingdom Tel: +44 (0) 121 213 3399 Fax: +44 (0) 121 213 3302 Email: [email protected] Web: www.oasys-software.com/dyna
China
Arup 39/F-41/F Huai Hai Plaza Huai Hai Road (M) Shanghai China 200031 Tel: +86 21 3118 8875 Fax: +86 21 3118 8882 Email: [email protected] Web: www.oasys-software.com/dyna/cn
India
Arup Plot 39, Ananth Info Park Opp. Oracle Campus HiTec City Madhapur Phase II Hyderabad 500081 India Tel: +91 40 4436 9797/98 Email: [email protected] Web: www.oasys-software.com/dyna or contact your local Oasys Ltd distributor
LS-DYNA, LS-OPT and LS-PrePost are registered trademarks of Livermore Software Technology Corporation
User manual Version 11.0, March 2013 0 Preamble Acknowledgements Abstract Host computers Memory requirements Output devices New Features for Version 11.0 New Features for Version 10.0 New Features for Version 9.4 New Features for Version 9.3RC1 New Features for Version 9.2 New Features for Version 9.0 New Features for Version 8.3 New Features for Version 8.2 New Features for version 8.1 New Features for version 8.0a Manual Revision History Text conventions used in this manual 1 SUPPORTED LS-DYNA FEATURES 1.1 Element Types 1.2 Types of results processed by D3PLOT 1.3 D3PLOT Representation of Elements and Other Entities 1.4 LS-DYNA output files processed. 1.5 Other output files processed. 2 RUNNING D3PLOT 2.1 Starting the code 2.2 Selecting a graphics device. 2.3 If D3PLOT will not open a window on your display 2.4 Client/server graphics using X-Windows and OpenGL 2.5 Command Line Options 2.6 Multiple Windows and Models 2.7 Checkpoint Files 2.8 Memory Management 2.9 Tune : Improving Graphics Performance 3 USING THE D3PLOT SCREEN MENU SYSTEM 3.1 Basic screen menu layout 3.2 Mouse and keyboard usage for screen-menu interface 3.3 Dialogue input in the screen menu interface 3.4 Window management in the screen interface 3.5 "QUICK PICK" Options. 3.6 "Tabs" for multiple graphics windows. 3.7 Customising the User Interface 3.8 Shortcut Keys 3.9 Predictive Picking and Menu "Hover Over" 4 BASIC DATA EXTRACTION AND PLOTTING 4.1 Reading Results 4.2 Basic animation, the "current state", and selecting states. 4.3 Displaying geometry and results. 4.4 Controlling contouring of data plots: CONTOUR 4.5 Animation How to display, control, store and retrieve animation sequences. 4.6 STATUS Listing programme status 5 VIEWING CONTROL 5.1 Dynamic Viewing (Using the mouse to change views). 5.2 Viewing Control Buttons 5.3 Options under Viewing menu 5.4 Special 3D graphics driver options (OpenGL). 5.5 Saved properties 6 USING "TOOLS" OPTIONS 6.0 Introduction to main menu commands 6.1 BLANK Blanking controls the visibility of nodes and elements. 6.2 VOLUME_CLIPPING 6.3 DEFORM Deforming geometry. 6.4 CUT_SECTIONS 6.5 ENTITY Switching the display of entity categories on/off. 6.6 MEASURE Measuring distances from the screen. 6.7 WRITE Listing numerical data to screen and/or file. 6.8 XY_DATA Drawing numerical data as XY plots and/or writing it to file 6.9 UTILITIES Miscellaneous utility functions 6.10 GROUPS: 6.11 ATTACHED 6.12 T/HIS the D3PLOT <=> T/HIS link
D3PLOT 0.1 0.1 0.1 0.1 0.1 0.1 0.2 0.3 0.5 0.6 0.7 0.8 0.8 0.8 0.9 0.9 0.9 0.9 1.1 1.1 1.3 1.4 1.6 1.12 2.1 2.1 2.2 2.3 2.4 2.5 2.8 2.23 2.25 2.26 3.1 3.1 3.2 3.5 3.5 3.7 3.9 3.10 3.16 3.19 4.1 4.1 4.18 4.23 4.79 4.102 4.118 5.1 5.1 5.5 5.7 5.16 5.19 6.1 6.1 6.5 6.10 6.18 6.41 6.65 6.71 6.75 6.93 6.116 6.166 6.171 6.173 Page i
D3PLOT
User manual Version 11.0, March 2013 6.182 6.190 7.1 7.1 7.5 7.8 7.11 7.20 7.25 7.26 8.1 8.1 8.2 8.2 8.5 8.6 8.7 8.8 8.8 9.1 9.2 9.2 9.3 9.3 9.4 9.6 9.6 9.7 9.8 9.9 9.12 9.13 9.14 9.15 9.16 9.20 9.25 9.28 9.31 10.1 10.2 10.3 11.1 11.1 11.1 11.5 12.1 12.1 12.2 12.6 12.13 12.15 12.16 12.17 12.21 12.25 12.33 12.38 12.39 12.44 12.45 12.47 12.49 13.1 13.1 13.2 13.3 14.1 14.1 14.3 14.4
6.13 Trace 6.14 User Data 7 IMAGES 7.0 Creating static images and movies 7.1 Static file formats supported 7.2 Animation file formats supported and their attributes 7.3 LASER PLOTTING 7.4 Reading static images and movies 7.5 Watermarks 7.6 Print ... option (Windows platforms only) 8 COMMAND AND SESSION FILES 8.0 Introduction to Command and Session Files. 8.1 CFILE Invoking the command-file launcher box. 8.2 Recording session files. 8.3 Playing back command files. 8.4 Using the launcher box during recording and playback 8.5 More information about command and session files 8.6 Associating command files with Function keys 8.7 Running command files from the command line. 9 DISPLAY OPTIONS: 9.1 BACK_FACES switch: Display of back faces of solid and thick shell elements 9.2 INTERNAL_FACES switch: Display of inside faces of solid & thick shell elements 9.3 LOCAL_TRIADS switch: Display of element local axes 9.4 MODEL_BOX switch: Displaying the model external dimensions 9.5 UNDEFORMED... menu Displaying the undeformed geometry 9.6 SPRING_SYMBOLS... menu: Setting the drawing style for springs and dampers 9.7 BEAM_SYMBOLS... menu: Setting the drawing style for beams. 9.8 BELT_SYMBOLS... menu: Setting the sizes of seat-belt and related symbols. 9.9 SPH Symbols. Managing SPH element display. 9.10 AB Pcle Symbols: Managing Airbag Particle display 9.11 Other Symbols 9.12 Spotweld Symbols: Managing Spotweld element display. 9.13 X-Section Symbols 9.14 SPC Symbols 9.15 HIDDEN_OPTIONS... menu: Setting hidden-line display options. 9.16 FREE_EDGES... menu: Controlling free edge display of element borders 9.17 WINDOW_DRESSING... menu: Controlling screen appearance. 9.18 Graticule 9.19 Fonts 10 PART TREE 10.1 Part Tree Behaviour 10.2 Part tree top menu bar 11 The Javascript Interface 11.0 Introduction 11.1 Using Javascript in D3PLOT. 11.2 The D3PLOT Javascript API 12 MORE ABOUT DATA AND DATA COMPONENTS 12.0 Introduction to this section on data and data components. 12.1 Format of the LS-DYNA databases processed by D3PLOT 12.2 Contents of the LS-DYNA database files processed by D3PLOT 12.3 Global (whole model) data components 12.4 Part ("material") data components 12.5 Contact Surface summary components 12.6 Nodal data components 12.7 Solid element data components. 12.8 Thin Shell element results. 12.9 Thick shell element results 12.10 Beam element results 12.11 Contact segment results 12.12 Smooth Particle Hydrodynamic (SPH) Data components 12.13 Airbag Particle (ABP) data components 12.14 Data components for other entity types 12.15 Theory and Formulae 13 D3PLOT USE OF GRAPHICS HARDWARE 13.1 The "X" (X_Windows) 2-D protocol. 13.2 3D protocol: OpenGL. 13.3 Summary of capabilities of each graphics protocol 14 PROBLEM SOLVING 14.1 Problems reading files: 14.2 General graphics problems: 14.3 Memory consumption problems. Page ii
User manual Version 11.0, March 2013 14.4 Graphics problems peculiar to X_Windows devices. 14.5 Graphics problems peculiar to OpenGL 14.6 Miscellaneous problems. 14.7 MEMORY Viewing and controlling the memory usage for this process, and the whole machine. Appendices APPENDIX I PROGRAMME LIMITATIONS APPENDIX II OA_PREF FILE: SETTING USER PREFERENCES APPENDIX III CHANGED DEFAULTS THAT AFFECT APPEARANCE APPENDIX IV COMMAND - WINDOWS FILE ASSOCIATIONS APPENDIX V ENVIRONMENT VARIABLES USED BY D3PLOT APPENDIX VI JAVASCRIPT API APPENDIX VII DIALOGUE COMMAND SYNTAX APPENDIX VIII NASTRAN OP2 FILE Installation organisation Version 11.0 Installation structure JaDe: The JavaScript debugger Viewing the script files and functions Adding/removing breakpoints Running the script Printing the value of a variable The call stack Exceptions
D3PLOT 14.5 14.7 14.8 14.9 A.1 A.1 A.2 A.18 A.20 A.22 A.30 A.89 A.121 B.1 B.1 C.1 C.1 C.1 C.2 C.3 C.4 C.5
Page iii
D3PLOT
Page iv
D3PLOT
0 Preamble
Acknowledgements
The names LS-DYNA, LS-PREPOST and LS-OPT are all registered trademarks of the Livermore Software Technology Corporation (LSTC) and are used in this manual by permission.
Abstract
Transient analyses make much more sense when one is able to see how the results change with time. Most existing post-processors only allow you to draw one image at a time and, while it is possible to assemble a sequence, producing a set of results can be very tedious. This code allows you to access the LS-DYNA database directly and to draw line, hidden-line, continuous-tone, line contour, velocity arrow, greyscale and shaded-image plots for any results state in the file. It also allows you to store these images in the display device memory and to redraw them in sequence and so to produce animated graphics.
Host computers
The code is available for all commonly used operating systems: Windows, Unix and Linux in 32 and 64 bit modes. It is available on all common work-stations and mainframes.
Memory requirements
Memory is allocated dynamically, so the amount required rises in proportion to the problem size. However machines with less than 64 MBytes of physical memory (RAM) are unlikely to function satisfactorily.
Output devices
The code supports the following graphics devices: OpenGL X_Windows 3-D, hardware assisted graphics 2-D unaccelerated graphics
Images may be captured in the following formats: Animated "movie" formats: AVI MPEG GIF Static "image" formats BMP JPEG PNG GIF Postscript PDF BMP (bitmap) static image files JPEG static image files PNG (Portable Network Graphics) static image files GIF (Graphics Interchange Format) static image files Colour and greyscale laser plotting Colour and greyscale Portable Document Format (PDF) output AVI animation files MPEG animation files Animated GIF files
External animations and static images may also be imported for display in the following formats:
Page 0.1
D3PLOT BMP } JPEG } For display of static images PNG } GIF AVI For display of animated images
Page 0.2
User manual Version 11.0, March 2013 A Javascript debugger has been added to help debug and develop scripts An input filter when reading binary files now has the ability to detect and replace "rogue" values. Coordinates can be clamped to a bounding box expressed as a function of model undeformed size. This stops "shooting nodes" distorting the image too much. Values generally can be clamped to lie within user-defined bounds. This can be applied to all floating point values, and will detect and reset "silly values". It will also detect illegal values: NaN (Not a Number), denormalised zero, underflow, etc. This can help to prevent crashes caused by corrupt databases.
D3PLOT
Properties (colour, transparency, blanking, plotting mode, view) can now be saved and reloaded. The user can save any number of property states in memory, and cycle back and forth through them. Properties may also be saved to file in a model-independent fashion, and thus applied to similar models. Properties saved this was are common between Oasys PRIMER and D3PLOT, allowing free transfer between codes. Miscellaneous additions: Multiple parallel cut sections can now be taken at the same time The 2D graticule can now have a user defined grid spacing If multiple models are in the same window and have been set to a certain colour, the model titles will now be written using these colours A new option has been added to austoscale contours at each frame when animating The number format of max and min values can now be set manually Max and min values are now displayed under the contour bar for external data plots An Auto option has been added in the Magnify menu to automatically magnify the displacements so they are a certain percentage of the model size
Page 0.3
D3PLOT
A new Reordered database can be written and read in D3Plot to improve the speed of reading: The results are reordered to make efficient use of D3Plots data reading routines. Components can be omitted from the database to save space. Derived data components (Von Mises Stress, Von Mises Strain and Eng Major and Minor Strains) can be embedded in the file, meaning the stress/strain tensor components used to derive them can be omitted to save disk space if required. LSDA (binout) data components can be embedded in the file so that they are instantly accessible, rather than having to wait for the LSDA file to be read in (which can take minutes for a large model). T/His link improvements: Up to 100 Locates can now be active at the same time. By default the Locate symbol is drawn using 15% of the window dimensions, but it can be drawn full screen, or with a circle. The => T/HIS button in the top of the XY-Plotting menu will now automatically start the link if it is not already running. A Find Attached function has been added: The function is similar to the one in PRIMER, but is limited to finding items that are attached through shared nodes. Predictive Picking has been added: For quick pick and other menu-based picking the default is to show what would be picked were you to click. Hovering over a row in a menu of items to be selected will also sketch the items in question. The Volume Clip function has been improved: The menu has been redesigned for easier use. Volumes can now be resized interactively on the screen by dragging handles on the volume. Volume definitions can be saved and retrieved via a volume.clip file. Labelling of entities has been improved: The names of entities can now be displayed (if they are present in the ".ztf" file created by Oasys Ltd. PRIMER). A single label is now displayed at the centre of a Part, rather than on each element. A Parts option has been added to the entity panel to display IDs and Names. To speed up display, a limit on the number of labels displayed has been added. The limit can be set to a different number or turned off altogether if required. When picking entities, an option has been added to label it on the screen to indicate what has been selected. Multiple Measurements can be taken and displayed at the same time: D3Plot can now keep track of up to 100 different measurements. They can be in different windows and between different models. The measurements can now be seen on the screen along with the corresponding distance or angle. Measurements using nodes automatically update when the state changes. A new Template file can be used to control which models are loaded into which window and to define model offsets and colours in a window: It can be read in from: The Open Model panel. The Load Template option in the Window drop down menu. On the command line by adding -tpl=template_filename. A new Transform option has been added to the Deform menu: An arbitrary combination of translation, reflection, rotation and scale can be applied to a model, transforming it in space. Transformations are applied to both geometry and data components. Javascript additions: New functions: IsDeleted() to determine if an item is deleted IsBlanked() to deteremin if an item is blanked Select() to select items IsSelected() to determine if an item is selected Pick() to pick a number of items Additional entity types now supported: CWLD: *CONSTRAINED_WELD spotwelds GWLD: *CONSTRAINED_GENERALISED_WELD spotwelds BWLD: Spotweld BEAMS HWLD: Spotweld SOLIDS HSWA: SOLID spotweld Assemblies SPRING: Springs SBELT: Seatbelts RETR: Retractors Page 0.4
User manual Version 11.0, March 2013 SLIP: Sliprings PRET: Pretensioners User defined data components can now be defined for spotwelds, springs and seatbelts.
D3PLOT
A 3D Graticule option has been added: 3 independent planes at a constant X, Y and Z can be displayed. The size and location of each plane can be specified along with the grid size. A transparency value can be defined so that the model can be viewed through the planes if required. Quick pick additions: Information mode to display some basic information about elements and parts, including: Include filename Part ID and name Material ID, name and type Youngs modulus Poissons ratio Yield stress Failure strain Section ID, name and type Initial shell thickness Find mode to find entities in a model, sketching them in wireframe mode with a cross hair drawn through the centre. Trace mode to put traces on Nodes, Airbag Particles or SPH elements. Target Marker mode to put target markers on nodes. Groups are now available as a selection type. The font size of text in the graphics window can now be set individually for: Labels Title Clock Contour bar Graticule (The font type can also be set, but will apply to all the categories above.) Various improvements to control contour plots Rescanning automatic contours should now happen less often. The exponent and number of decimal places to use on the contour bar can now be specified by the user. Max and min values can now be displayed on the plot. A switch has been added to automatically convert contour the scale to a log-scale. The Trace function has been improved It can now trace Airbag Particles and SPH elements as well as Nodes. Multiple entities can be selected in one go. Trace is now a Quick Pick option. Other miscellaneous changes and additions: By default background movies are now streamed rather than cached and then displayed. It is slightly slower, but reduces memory usage. External data plots can now display an arbitrary text string, a node id and coordinates where the data is positioned. The shift deformed reference plane is now displayed as a triad showing location and local axis. A Response Spectrum Analysis function has been added using the Square Root Sum of Squares (SRSS) or Complete Quadratic Combination (CQC) methods. The list of Parts can now be collapsed at the top of the Part Tree.
Page 0.5
D3PLOT
(All of the above also require a ".ztf" file from Oasys Ltd. PRIMER to provide geometry information.) Airbag particle support has been added: The particles from the *AIRBAG_PARTICLE keyword may be displayed All the data associated with these particles and their airbags can be contoured and written Support for Smooth Particle Hydrodynamic (SPH) elements has been formalised Previous releases only drew the geometry of these very crudely, they are now displayed as "proper" elements. Results from them may be contoured and written as for other element types. Maximum and minimum data for each plot is now computed The <n> maximum and minimum values in each plot are computed, by default <n> = 1 The plot is labelled with this information, and the relevant elements or nodes are labelled This information may be "exported" to WRITE or to XY_DATA to show variation with time. A Javascript interface has been added This allows the user to extract information from the database, and manipulate it at will Externally generated data may also be imported and exported Special "User-defined Binary" (UBIN) data components can be created and plotted D3PLOT can be used as a script-driven tool to extract and process data. "Batch" mode usage has received more support. The command-line language has been extended to cover most options in the GUI interface A "batch" mode, which performs graphics capture without needing a terminal window, has been added. Text-only command file processing has been improved. Support for the FEMUNZIP library has been added. Files compressed using FEMZIP (from Fraunhofer SCAI) can be read directly Groups have been improved The creation, storage and retrieval of groups has been speeded up significantly Groups can now be used in contexts such as BLANK, WRITE etc as a means of selection Ascii group files may optionally contain colour and other display attribute information. Other miscellaneous changes and additions: A "locate target and eye" option has been added to the view menu Stored views may now be retrieved by name as well as number 2D (in-plane only) principal stress and strain data components are now available for shells Short-cut key functionality has been extended, and these keys are now programmable Cloud plots can now optionally display element data averaged at nodes. Model title display is now switchable between title and filename, and titles of all models in a window are shown.
User manual Version 11.0, March 2013 Calculated externally from existing components or other data via a Javascript interface The simple formulae and Javascript files can be saved and re-used across different analyses
D3PLOT
The ability to select display via contour bands has been added: Clicking on a contour band will display just results for that band It is also possible, via a right-click popup menu, to display by other functions of contour band. External data ("blob") plots can now be defined at nodes as well as at [x,y,z] coordinates. Vectors of displacement and acceleration can now be displayed. (Previously this was only possible for velocities) In addition if user-defined vector components are created at nodes these too may be displayed as vector arrows.
Page 0.7
D3PLOT
Limited support for ALE analyses has been added, with the ability to process components by name and also to visualise the surface geometry of ALE parts. This is work in progress ... The T/HIS interface has been improved. It is now far more robust and better integrated with D3PLOT and, in particular, can handle multiple models in a more compatible way.
User manual Version 11.0, March 2013 "Feature" lines added as wireframe, hidden-line and overlay option. More "oa_pref" and command-line options added - see appendices II and IV.
D3PLOT
May 2001 Nov 2002 Nov 2003 May 2006 May 2007 Oct 2009
0 1 2 3 4 5
Original release of Version 8.1 manual Manual updated for Version 8.3 Beta 3 Manual updated for Version 9.0 Manual revised and updated for Version 9.2 Manual revised and Updated for Version 9.3RC1 Manual revised and updated for Version 9.4
Computer type This one is used to show what the computer types. It is also used for equations etc. Operator type This one is used to show what you must type. Button text This one is used for screen menu buttons (eg APPLY)
Page 0.9
D3PLOT
NOTATION: Triangular
Triangular, round and square brackets have been used as follows: To show generic items, and special keys. For example: <list of integers> <filename> <data component> <return> <control Z> <escape>
Round To show optional items during input, for example: <command> (<optional command>) (<optional number>) And also to show defaults when the computer prompts you, eg: Square Give new value (10) : Give data component (FX_AXIAL_FORCE) : To show advisory information at computer prompts, eg Give terminal type [M for list] : D3PLOT_MANAGER >>> [H for Help] : Also to show implicit commands, eg [WRITE] SCAN <entity> <number of values>
Page 0.10
D3PLOT
Using the .XTF file from LS-DYNA Alternatives to the .XTF file when using MPP LS-DYNA
In LS-DYNA joint, lumped-mass and stonewall geometries are sent to the .XTF file and so may be recovered for plotting in D3PLOT. However results from these are not available for plotting in D3PLOT: they may be viewed in XY plot form in T/HIS. MPP LS-DYNA, and also SMP versions from ls970 onwards can also generate a "binout" (or LSDA) file; and the MPP version cannot generate a .XTF file. D3PLOT does not read this file directly, but from V90 onwards the information previously extracted from the .XTF file is now available from the .ZTF file - see below.
Page 1.1
User manual Version 11.0, March 2013 PRIMER can generate a pseudo-database .ZTF file directly from the input deck. This is intended to contain extra information not in the normal LS-DYNA database files, and also to replace the .ZTF file. In V8.3 the ZTF file allows you to visualise: Nodes on "nodes_to_..." contacts. Nodal constraints and restraints Spotweld beams. From V9.0 onwards you may also visualise the following even when the .XTF file is missing: Stonewalls (rigid walls) Springs and dampers Seatbelt elements, retractors, slip-rings and pre-tensioners Joints Lumped masses In addition the names of parts and contacts, previously stored in the .XTF file, are also available. From V9.2 onwards you may also visualise: Beam "true" sections Part tree: organised by include files, assemblies and sub-assemblies (as in PRIMER) From V9.3 onwards: Discrete and Seatbelt elements can be processed by PART Part, Part_composite and Section data are available In addition ls-dyna cut-section definitions (*DATABASE_CROSS_SECTION) may be used to defined D3PLOT cut sections From V9.4 onwards: Spotwelds (Constrained, beam, solid, solid cluster) SPCs The results for spotwelds, discrete elements, seatbelt and SPCs may also be displayed if a "binout" (LSDA) file is present. From V10.0 onwards you may also visualise: PRIMER Rigid and Deformable connections using a new "Bolt" symbol. MIG lines created in PRIMER. *DATABASE_CROSS_SECTION definitions and locations. The results for *DATABASE_CROSS_SECTION may also be displayed if a "binout" (LSDA) file is present. If the T/HIS link is invoked then elements and nodes in time-history blocks can be displayed, and screen picked for time-history plotting.
Data for other entities are not sent to any database files, so they are not displayed. D3PLOT is primarily for post-processing results from LS-DYNA, but results from TOPAZ3D (thermal analysis) and NIKE3D (implicit structural analysis) may also be processed. Both codes write a subset of the entity types listed above.
Page 1.2
D3PLOT
COORDINATE SYSTEM Global cartesian "" "" [none] Global cartesian [none] Global cartesian Global cartesian "" Element local [none] [none] [none] Global cartesian [none] Global cartesian Element local "" "" Global cartesian [none] Global cartesian [none] "" "" "" [none] "" "" "" "" Global cartesian Global cartesian Element local "" [none] "" Element local "" "" "" Element local "" "" "" "" Global Cartesian Global Cartesian Segment local Global cartesian Page 1.3
Solids: (1)
Beams: (3)
SPH elements:
Stress tensor Plastic strain Strain tensor Density Pressure Internal energy Radius of influence Mass Radius Spin energy Trans energy Distance to nearest segment Coordinates Velocities Axial force Shear force Failure status Failure time Force Elongation Moment Rotation Belt force Belt length Slipring pull-through Retractor force Retractor pull-out Forces and Moments Forces and Moments Contact stresses Contact forces
Also: #neighbours
Airbag particles:
(4)
Spotwelds: (5)
D3PLOT
(1) Results for solids are written by LS-DYNA at the element centre only, even if an element formulation with > 1 integration point is used. Solid results from NIKE3D are written at all 8 integration points. (2) By default shell stress and strain tensor results are written at top and bottom integration points, and stresses also at the neutral axis. Data output at more than these 3 points through the element thickness may be selected, and will be available for display if present. Fully integrated shells in ls-dyna with more than 1 integration point on plan still only write (averaged) data at the element centre. (3) As well as basic forces and moments extra "plastic" data from resultant beams, and data at integration points for integrated beams are supported. (4) SPH and Airbag particle data are only processed from D3PLOT release 9.3 onwards. (5) These elements and data components are only processed from release 9.4 onwards, and they require a ZTF file to provide geometry (for display) and a binout (LSDA) file if results are to be extracted. D3PLOT will generate derived data components, (eg von Mises, principal, etc) from the above, and will also transform results from global to local coordinate systems if required. In addition the following written output may be generated for more "global" model data. ENTITY TYPE Whole model DATA COMPONENT Average velocity & momentum Kinetic and internal energies Mass Average velocity & momentum Kinetic and internal energies Mass Summary forces COORDINATE SYSTEM Global cartesian [none] [none] Global cartesian [none] [none] Global cartesian [none]
Each material
Contact surfaces
Stonewalls Normal force Local vector Any data component written for nodes or elements that is actually present in the database files may be plotted graphically, presented as an X-Y plot of <data> vs <time> (or vs <data>), and written out in tabular form. This is also true of components derived from the basic ones. In addition many geometric and topological attributes of nodes and elements (eg material number, elements connected to nodes) may be tabulated. Any scalar data component may be "scanned" for maximum / minimum values, and tables of the top and bottom values produced. Although their topology is extracted and they are displayed visually the results for springs, joints, seat-belts etc, are not available for plotting in D3PLOT. This is because these data are not currently available in the appropriate database files.
Page 1.4
User manual Version 11.0, March 2013 SPH Elements Airbag Particles Spotwelds of various types: These elements may be drawn as points, cubes or spheres. This is controlled in Display Options *Constrained_Weld *Constrained_Generalized_Weld *Element_Beam (spotweld beam) *Element_Solid (isolated solid spotweld) *Define_Hex_Spotweld_Assembly (solid spotweld cluster) Rigid Bolts Deformable Bolts HP.. AP.. CW.. GW.. BW.. HW.. HA.. BR.. BB.. SPC.. I... W... J... N... XSEC...
D3PLOT
Note the following: a) Arbitrary numbering of nodes, elements and materials in LS-DYNA is supported. This covers nodes, solids, shells, beams, springs, seat-belt types and lumped-masses. Joints, stonewalls and contact segments are all numbered sequentially from 1. b) Springs, seat-belt types, lumped-masses, joints and stonewalls are only recovered and drawn if an "extra time-history" (.XTF) file is found - this file is optional. Only the topologies of these elements are extracted: use T/HIS to extract and plot time-history results for these elements. c) Contact segments are only recovered and drawn if a "contact force" (.CTF) file is found - this file is optional. d) These figures show the symbols used on 2D devices. When 3D graphics is used some symbols are slightly different: springs become a spiral, damper symbols become a three-dimensional dashpot, joint circles become spherical, "thick" beams have rectangular sections. This is done to make symbols meaningful regardless of how the view is oriented in 3D space.
D3PLOT
Contacts, stonewalls and joints The next section describes in more detail which element categories are found in which files.
User manual Version 11.0, March 2013 viewed while an analysis is running. To open the files see Section 4. The database files processed are (see Section 12.2 for more details):
D3PLOT
The file also contains information about deleted elements if the relevant material models and/or contact surfaces are used.
*FREQUENCY_DOMAIN files
Frequency domain analyses can be carried out in LS-DYNA to output the following files which D3PLOT can read: <name>.d3eigv or Modal results from a *FREQUENCY_DOMAIN analysis. d3eigv <name>.d3ssd or d3ssd <name>.d3psd or d3psd <name>.d3rms or d3rms <name>.d3ftg or d3ftg Results from a Steady State Dynamics analysis (*FREQUENCY_DOMAIN_SSD). If the <BINARY> flag on the *DATABASE_FREQUENCY_BINARY_SSD card is set to 2, then the file will also contain phase angle data. Power Spectral Density results from a Random Vibration analysis (*FREQUENCY_DOMAIN_RANDOM_VIBRATION). Root Mean Square results from a Random Vibration analysis (*FREQUENCY_DOMAIN_RANDOM_VIBRATION). Results from a Random Vibration Fatigue analysis (*FREQUENCY_DOMAIN_RANDOM_VIBRATION_FATIGUE).
<name>.d3spcm or Results from a Response Spectrum analysis d3spcm (*FREQUENCY_DOMAIN_RESPONSE_SPECTRUM). <name>.d3acs or d3acs Results from a frequency domain finite element acoustic analysis (*FREQUENCY_DOMAIN_ACOUSTIC_FEM).
Page 1.7
D3PLOT
This file also contains the names of parts and contacts, which will be displayed in menus if available.
<name>.blstfor or blstfor Blast force file <name>.fff or fsifor <name>.cpm or cpmfor <name>.dem or demfor Fluid-Structure Interaction force file Corpuscular Particle Method force file Discrete Element Method force file
These files contain information about contact surfaces: Contact facets: Nodes on facets: Topology, contact stress. Contact forces.
Page 1.8
D3PLOT
Beam section data By storing beam element section data it becomes possible for D3PLOT to "know" which beams are spotwelds (ie section type 9 using *MAT_SPOTWELD) and to draw them as spotwelds. Part and Section data From V9.3 onwards the *PART(_xxx) and *SECTION_xxx cards are written verbatim to the .ZTF file, making it possible to extract thickness and layer information. In addition it becomes possible to associate the Part ids of Springs and Seatbelt elements with those used by solids, shells and beams making it possible to operate on these "by part".
From V9.0 onwards, where the .XTF may not be present, this file also contains all the information previously stored in the .XTF file so that there is no loss of functionality.
Page 1.9
D3PLOT
You can choose whether or not read the xtf, ctf and ztf files by checking the relevant boxes on the front file selection panel. Here the contact force file ("Read CTF file", etc) has been de-selected, but the other two database files will be read if present. In V9.3 a ztf file can be created automatically if required if the input (.key) deck is available by ticking Create if reqd. Three further, optional files generated from previous D3PLOT runs may be read in: (none of these files is required) The "PRP" file contains model properties, written from the PROPERTIES panel. This is a model-independent file of element and node properties that can be applied to the current model. "Properties" are colour, transparency, blanking status, etc. See section 6.9 for more information about this file. The "SET" file containing saved D3PLOT settings written from the UTILITIES, SETTINGS panel. This is programme-specific data, allowing virtually all the options on the user interface to be saved and restored. For example the number and layout of windows, current data components, etc. See section 6.9 for more information about this file. The "ASC" ascii groups file written from the GROUPS panel. An ascii groups file is a compact and human readable file of group information that can be applied to any model.
Page 1.10
D3PLOT
Any family size is legal, but it is suggested that it be a multiple of 1MByte on single precision machines. On machines generating double precision (64 bit) output files the same numbers (ie 1 and 9 in the examples above) should be used, but the actual file sizes will be 2 and 18 MBytes respectively. This is covered in more detail in Section 12.1.2
Page 1.11
D3PLOT
On some installations these variables are set globally for all users in the Shell - consult your system manager.
Hint: On UNIX systems you can list all environment variables in the current shell with: printenv On Windows systems use Control Panel, System to view and set environment variables. If they seem to be set correctly, but dont seem to be affecting your process, remember that such variables must be set before the process starts. This is because a child process inherits properties of its parent when it starts, but thereafter is autonomous. You may need to exit and restart the process to make them take effect.
Page 1.12
D3PLOT
2 RUNNING D3PLOT
2.1 Starting the code
For users on a device with a window manager D3PLOT is run from the D3PLOT button in the Shell:
Users who are running on a device without a window manager should use the PL option in the command-line shell. Users on Windows platforms may associate the filetype ".ptf" with D3PLOT if they wish, so that double-clicking on a .ptf file starts the code. The way to do this is defined in Appendix IV. If your system has been customised locally you may have to use some other command or icon: consult your system manager in this case.
Page 2.1
D3PLOT
The actual devices available will depend on your machine type and the graphics options that have been installed. The graphics drivers available are:
Page 2.2
User manual Version 11.0, March 2013 X8 X24 XMENU... OpenGL Scale Brightness Saturation Fonts
D3PLOT
2D X-Windows graphics at 8 bit-planes depth. This will be faster to animate than X24 below, but shaded image quality will be mediocre (using only 256 colours). 2D X-Windows graphics at 24 bit-plane depth. Slower to animate than X8, but shaded image quality will be good (using 16M colours). 2D X-Windows under a user-defined visual. (See below) 3D OpenGL rendering, using hardware acceleration if available. Controls the effective scale of the display used for the menu interface. Controls colour brightness in the menu interface Controls colour saturation in the menu interface Controls the fonts used in the menu interface. In D3PLOT release 9.2 these display attributes can all be modified interactively using the Options > Menu Attributes popup panel, and this is the preferred method as the effects of changes can be viewed instantly and settings can be stored automatically in the "oa_pref" file. This is described in section 3.7
Which graphics option should I use? The simple answers are: You should use OpenGL if: Your machine supports it with hardware acceleration. Graphics will be faster than X-windows, and special features such as shading, lighting and transparency are also much better You should use an X-Windows option if: OpenGL is not available (button greyed out). Your model requires too much memory to be processed under OpenGL (2D graphics are much less memory-hungry).
You are working in client/server mode over a slow network. (The network traffic generated by 2D graphics is less) From release 9 onwards the X driver is no longer being developed, and it will increasingly be the case that new features are not supported in it. An alternative, using the MESA OpenGL emulator under X11 is available: please contact Oasys Ltd if you would like to use this option. There are more complex answers to this question which depend upon: Model size vs. memory available. The rendering method chosen. The number of frames you plan to animate. Whether image quality or speed is more important. Local/remote machine types if in client/server modeNetwork performance in client/server mode There is a longer discussion in Section 13, refer to this if you have problems.
Page 2.3
D3PLOT This is almost certainly because of one or both of the following setup errors:
The DISPLAY environment variable has not been set up, or has been set incorrectly, on the "client" machine (1) (where the D3PLOT process is running). This environment variable tells the X11 window manager on the client machine where to place windows, and it must be set to point to the screen you plan to use. Its generic Unix setup string is: setenv DISPLAY <hostname>:<display number> ( C shell syntax) Where <hostname> is your machines name or internet address, for example: setenv DISPLAY :0 setenv DISPLAY tigger:0 setenv DISPLAY 69.177.15.2:0 (Default display :0 on this machine) (Default display :0 on machine "tigger") (Default display :0, address 69.177.15.2)
You may have to use the raw network address if the machine name has not been added to your /etc/hosts file, or possibly the "yellow pages" server hosts file. (2) The machine on which you are attempting to open the window, the X11 "server", has not been told to accept window manager requests from remote clients. This is often the case when you are trying to display from a remote machine over a network, and you get a message on the lines of: Xlib: connection to "<hostname>" refused by server Xlib: Client is not authorised to connect to server In this case go to any window on the server with a Unix prompt and type: xhost + Which tells its window manager to accept requests from any remote client. It will produce a confirmatory message, which will be something like: access control disabled, clients can connect from any host Networked graphics are a complex topic: see Section 13 for more detailed advice if the remedies here dont work. Alternatively see your system manager, or contact Oasys Ltd for advice and help.
Page 2.4
D3PLOT
Flag to start with window maximised (full screen) Specifying window placement on a multi-display desktop By default the top right corner of the desktop is used. The most common arrangement is two screens side by side, for which "left" and "right" may be used. However "top" and "bottom" are also available for the case of two screens one above the other, and the options may be concatenated for a 2x2 display. These options can be combined with -maximise to fill the relevant screen. Users on Windows platforms where tools such as NVidias "NView" are available may find that it is better to leave window placement to that tool, so that Primers windows behave in a fashion consistent with other application windows.
-maximise -placement=<where>
The above may be concatenated for a 2x2 display, for example top_left bottom_right Top left monitor Bottom right monitor
Command file name -cf=<filename> A valid command file name (usually *.tcf) Flag to exit when command file run -exit (No argument) complete if desired Checkpoint file to replay -replay=<filename> A valid D3PLOT ckeckpoint file (usually Number of lines to execute in checkpoint -rlines=<nnnn> cp_d3plotnnnn) file Where <nnnn> is a positive integer Alternate "start in" directory (redefines -start_in=<pathname>A valid directory (eg c:\my_files, current working directory) /data/my_files) Optional "project" working directory. -pcwd=<pathname> A valid directory (eg c:\proj_files, /data/proj_files) This specifies an alternate initial location for view, cut-section, group, settings and external data files. Useful if the directory containing analysis data is read-only so that these files have to be located elsewhere
Page 2.5
D3PLOT Specify a file that contains commands to -ptfcut=<filename> create a cutdown version of the ptf file (see Section 6.7.7). Specify a D3PLOT template file that -tpl=<filename> contains information on which models are loaded into each window and any model offsets for each window (see Section 4.1.6). Specify the name of a model database -mdb=<filename> file to open (see Section 4.1.4). Specifiy an alternate location for a ZTF -ztf=<filename> file to read. This option can be useful if PRIMER is unable to create a ZTF file in the same location as the D3PLOT PTF files (see Section 4.1.1). Specifiy an alternate location for a -set=<filename> D3PLOT settings file. By default D3PLOT will look in the directory containing the PTF files for a setting file to read (see Section 4.1.1). Specifiy an alternate location for a -prop=<filename> D3PLOT properties file. By default D3PLOT will look in the directory containing the PTF files for a properties file to read (see Section 4.1.1). Specifiy an alternate location for a -group=<filename> D3PLOT groups file. By default D3PLOT will look in the directory containing the PTF files for a groups file to read (see Section 4.1.1). Specify a file containing a list of models -ml=<filename> for D3PLOT to automatically open.
The model list file should contain the full pathname of one file from each model that D3PLOT should open. Each file should be on a separate line and it should be the first item on each line. By default each model will be read into Window 1, but you can specify which windows a model is read into by specify a bitwise encoded number after the model name (W1=1, W2=2, W3=4, W4=8, etc.) e.g. if you read in 4 models with the following file: model1.ptf 1 model2.ptf 2 model3.ptf 4 model4.ptf 3 model1.ptf would go into W1, model2.ptf into W2, model3.ptf into W3 and model4.ptf into W1 and W2. Contact Oasys Ltd if you need further explanation.
Run D3PLOT in "batch" mode where the -batch main application window is not displayed on the screen. For this option to work you must also specify a command file "-cf=filename" and the name of the PTF file to open. This option will automatically set "-exit" so that D3PLOT terminates after playing the command file.
Page 2.6
User manual Version 11.0, March 2013 Redirect output from the console window -eo=<filename> to a file on Windows. -eo -eo=default To redirect output on Unix/Linux use the shell redirection options (typically > for <stdout>, & for <stderr>)
D3PLOT -eo=<filename> is designed for the user to suppress the console and redirect logfile output to the specified filename. In order to permit multiple sessions to coexist on the same machine the process id will be appended to the <name> part of the filenameto give <name>_pid.<ext>. If plain "-eo" or "-eo=default" are found then filename generation is automatic, and the first valid of: %TEMP%\this_log_<pid>.txt %TMP%\this_log_<pid>.txt %HOMESHARE%\this_log_<pid>.txt %USERPROFILE%\this_log_<pid>.txt
-noconsole <filename>
will be used. Windows only. A valid input file type: name.ptf (Complete state file) d3plot ( ditto )
(The extra time history (.xtf) and eg run_1.ptf contact force (.ctf) databasees are also opened if present.) Some examples for D3PLOT might be: pathname/d3plot10.exe -d=opengl -maximise run_2.ptf Note that no spaces should be left in the syntax <arg>=<value>. For example: Correct syntax is: "-d = x8" is illegal. "-d=x8"
WINDOWS (PCs)
Command-line arguments on Windows
It is possible to define command-line arguments under Windows: either directly when running an application from a MS-DOS prompt, or by defining "action" arguments when configuring a shortcut (see Appendix IV for more details). However this is unusual, and it is suggested that you seek advice from Oasys Ltd if you are not sure how to do this. Click here for the next section
Page 2.7
D3PLOT
This example also shows how each window can have totally separate attributes: display mode, state number, view, background colour, etc. These can be controlled separately or collectively by using the "tabs" on each menu panel. Where a window contains multiple models all that models in that window are given the same attributes (component, surface, etc); however it is possible to distinguish between models by: Separating them artificially in space Giving them different colours Drawing them in different modes (wireframe, shaded, etc)
Page 2.8
D3PLOT
By default they are read into a new window, the "next" one, but you can select any other window(s) as destinations using the "In Window" buttons. Any permutation of buttons may be selected, and the new model will become active in those windows. See Section 4.1.1 for more details You can subsequently activate and de-activate models in any window at will by using the EDIT WINDOW popup menu described below. This also allows you to separate models, set their drawing mode and also their colour.
Page 2.9
D3PLOT
This maps the panel to the right, here for window W1. In this example 2 out of the 3 models are active in this window. Model M2 has been offset in screen space and is drawn wireframe in red.
Page 2.10
D3PLOT
The actual display mode used for a model will be min(current mode, mode selected here). In other words selecting SHADED here will only produce a WIREFRAME plot if the current mode is only WIREFRAME (eg LI)
Page 2.11
D3PLOT
(Note that you can achieve the same effect by changing the colour of elements in the model using the PROPs or COLOUR panels, but this will apply to all windows in which the model appears, whereas this option only affects the display of the model in this window.)
Page 2.12
D3PLOT
Page 2.13
D3PLOT
Page 2.14
User manual Version 11.0, March 2013 Automatic Page Layout If an Automatic page layout is used and the layout is set to 1 x 1, 2 x 2, 3 x 3 or X x Y D3PLOT will automatically create multiple pages and position the windows on each page if required.
D3PLOT
Page 2.15
2x2 Windows are arranged in a 2 by 2 grid. If there are more than 4 windows then windows 1 to 4 are positioned on page 1, 5 to 8 on page 2 ...
3x3 Windows are arranged in a 3 by 3 grid. If there are more than 9 windows then windows 1 to 9 are positioned on page 1, 10 to 18 on page 2 ...
Page 2.16
D3PLOT
Advanced
The Advanced option displays the Page Layout menu. This menu can be used to select which windows appear on each page. Each window can appear on more than one page. A range of windows can be added/removed from pages by selecting the first window/page combination and then holding down SHIFT while selecting the second window/page.
Each page can have a different layout or they can all be the same
The Layout options work in exactly the same way as the Automatic Page Layout options, except they only position the graphs defined on each page. If for example D3PLOT has 6 windows defined and windows 2,3,4,5 are defined on page 1 and windows 1 and 6 are on page 2 then the different window layout options would produce the following. Page 1 Tile Wide Page 2
Page 2.17
Cascade
2x2
Page 2.18
D3PLOT
XxY
"Auto-hide graphics button bar" automatically maps the button bar at the top of each window when the cursor enters that window, and hides it again when the cursor leaves. This can be useful when you have many windows, or a small display, as it maximises the amount of space available for graphics. By default auto-hide is off, and the button bar is permanently displayed in all graphics windows.
Page 2.19
D3PLOT "Show window tabs on panels" controls whether or not the W1, W2, ... "tabs" for multiple graphics windows are displayed at the top of menu panels. If these are suppressed you will not be able to control the application of commands to windows on a per-panel basis. Window "tabs" are discussed in more detail below.
D3PLOT
Page 2.21
D3PLOT
D3PLOT
at the end of each cycle for the window with longest sequence to complete. This "stepping together" by frame does not take into account the clock time of each frame, so windows that are "in step" by frame number will not necessarily be synchronised in time. Multiple models in the same window: Each model in the window starts animating at state #1, and continues until the last state in that model is encountered. If one model has fewer states than another one then it remains at its last state until the other model reaches its last state. Then all models start in synchronisation at state #1 again. Again, synchronisation is "by frame" not "by time", so frames in different models may not have the same analysis time. Synchronising models in time. It is possible to interpolate between states, and by stipulating a fixed time interval you can synchronise animation of multiple models in time. This can be done both for models within a window, and for models across multiple windows.
This topic is covered in more detail under the SET_STATES command, which describes how to select what is to be animated.
Page 2.23
D3PLOT
All checkpoint files found are listed in date/time order, with the most recent file at the top of the list. To use a checkpoint file: Select the file to run by clicking on its row. Optionally delete some or all files using the DELETE > option. Optionally reduce the "#commands to execute" to a smaller value, perhaps to omit the last command(s) which caused a crash. Click on APPLY to run the file. In this example the user has selected the oldest file and is about to delete the remainder using the DELETE > ALL_BUT_SELECTED option. If you want to ignore all checkpoint files and run interactively just DISMISS this panel.
Page 2.24
D3PLOT
Page 2.25
D3PLOT
If the Memory button bars are both green you have no problems. If either turn dark orange you may need to take some action.
The top one shows this D3PLOT process size as a proportion of available physical memory on the machine. If this exceeds about 85% (and goes dark orange) the performance of the code may start to degrade as it starts to page (use virtual memory, or "swap"), although it will continue to run. The lower one shows swap space usage (by all applications) as a proportion of total swap space available on the machine. If this exceeds about 90% you may have to take action to free some space from elsewhere. (A machine with no free swap space will simply stop, and may need rebooting!) There are alarms built into the code which will warn you if you are approaching either of these limits, so you dont have to keep checking memory consumption.
A more detailed description of memory management, and the functions available under the description of the MEM(ory) button.
Page 2.26
D3PLOT
Page 2.27
D3PLOT
Step 2:
Use the Tune button to invoke the tuning panel, and turn on the following two options: Show timing reports the time taken for each frame in the dialogue box. Three times are given: 1. CPU time required to generate this frame 2. Elapsed (wall-clock) time required to render this frame 3. A rolling average over the last 30 frames of "elapsed time to render frame" No delay turns off the default setting in D3PLOT that limits the maximum frame rate to about 60 fps. This means that there are no artificial delays in the timing process, and the steps below will be measuring the true performance of your machine. Observe and note the rolling average time per frame in the dialogue box. This should be a reasonably steady figure.
Dont be surprised if the "Av" figure is slightly different to both "cpu" and "elapsed" values. Timers on computers tend to have a limited resolution, for example Windows machines run at a "clock tick" of 60Hz, and only resolve time intervals down to roughly 16mS as a consequence. This is why the rolling average frame rate is required in order to smooth out variations in individual frame timings.
Step 3:
Turn on Use Vertex Arrays This will make no difference to the current animation speed, but it is a necessary precursor to the steps below.
Step 4:
If the Use Shaders button is greyed out then please skip to step 5 below, otherwise: Turn on Use Shaders. You will hopefully see an immediate and significant reduction in the time taken to render frames, but otherwise the appearance of the image should not change. If this is the case leave this option selected and proceed to step 5. On some machines the model may in fact animate more slowly with this setting. In this case it is worth persevering with step 5 below to see if adding the further settings does ultimately give better speed. If the image goes "wrong" in any way, and we have observed everything from losing colours, through a totally corrupt image to an outright crash, dont despair. The first thing to do in this situation is to try updating the machines graphics driver. This will require you to determine the type of card on the machine, then to visit the card manufacturers website, download the appropriate driver and install it. If you are not sure how to do this Oasys Ltd can advise you, so please contact us for help. In about 90% of cases this will solve the problem, but if it doesnt then you will not be able to use hardware shaders and you need to turn this option off and proceed to step 5.
Page 2.28
D3PLOT
Step 5:
If the Use VBOs for Verts and for Coords buttons are not available available please skip to step 6 below, otherwise: Firstly turn on the (Use VBOs...) for Coords button, leaving the for Verts one unselected for now. You should hopefully see a further significant increase in speed, but in all other respects the image should look as before. If this is the case then... Turn on Use VBOs for Verts. The effect of this varies by hardware type and can range from a small but significant increase in speed, through not much change to a slight slowing down. If the effect is neutral or positive then it is worth leaving it selected, but otherwise it is better to turn it off. As above, if the image goes "wrong" in any way with either of these settings then the first thing to do is to update the graphics driver. If this does not help, and only Use VBOs for Verts is causing problems, then you can leave it turned off without sacrificing much performance.
Step 6:
If all the steps above were successful then you have finished the D3PLOT tuning process. Hopefully you will have achieved a significant speed increase and the final step is to save these tuning settings in your oa_pref file for future sessions. Save Tuning Settings will do this automatically, saving the relevant entries to your "home" oa_pref file. If you want to copy these settings to the same file for other users the preferences in question are: d3plot*gtune_varray d3plot*gtune_shader d3plot*gtune_vbo_verts d3plot*gtune_vbo_coords If things went wrong above, or some options are not available on your machine, then you may still benefit from using the settings that are available and seem to work. If you need further advice please contact Oasys Ltd. for help.
Finding out what graphics card and driver you have installed.
The following instructions should enable you to determine the type of graphics card you have installed and the revision number of its driver.
Page 2.29
D3PLOT
Windows XP
Right click anywhere on the desktop background, and select Properties Select the Settings tab, then select Advanced Select the Adapter tab, and the Adapter type gives you your card name and manufacturer Select Properties within this section, followed by the Driver tab This will list the driver date and version.
Linux
type glxinfo | grep -i string which should give the card manufacturer and name
For example on a machine with an ATI card this produces: OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI FirePro V7750 (FireGL) OpenGL version string: 3.3.10225 Compatibility Profile Context FireGL And on a machine with an NVidia card this produces: OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: Quadro FX 3800/PCI/SSE2 OpenGL version string: 3.3.0 NVIDIA 256.35 Knowing the make of card you can then look in file /var/log/Xorg.0.log for more details. For example in the 2nd example above grep -i nvidia /var/log/Xorg.0.log | grep -i driver gives: (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so (II) NVIDIA dlloader X Driver 256.35 Wed Jun 16 18:45:02 PDT 2010 (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs So this 2nd machine has an NVidia Quadro FX3800 card using driver release 256.35 dated June 16th 2010
Page 2.30
D3PLOT
Page 2.31
D3PLOT
You must then decide whether you want to configure the graphics driver for all applications on your machine or just for a limited range of executables. Our recommendation is to configure for all applications, using Global settings as shown above. The configuration used should work well for any CAE package - and certainly better than NVidias default "3D App -Default Global Settings", since these are tuned for benchmark tests and not real life applications. If you want to apply settings only to D3PLOT you will need to swap to the Program Settings tab, add D3PLOT to the list, and then proceed as below.
If your driver is recent (early 2011 onwards) you will find an Oasys Ltd. LS-DYNA environment setting as shown above, and you should select that. If your driver is older we would recommend using Dassault Systemes CATIA - compatible. Either of these settings turns off attempts in the driver to cache coordinate data, and will result in smooth animation. Using the default settings may lead to jerky animation, or long pauses.
Older installations
Right click anywhere on the desktop background, and select Properties Select the Settings tab, then select Advanced Select the tab showing your driver name. In this example on an old Windows XP machine it is Quadro4 980 XGL
Select Performance & Quality Settings from the left hand menu Select Catia for the Active profile
Page 2.32
D3PLOT
This may need to be edited to add driver configuration for D3PLOT as follows if it is not already present in the file. More recent (early 2011 onwards) driver releases should already have this entry, so look for it first and only edit the file if it is missing: ----------- Start of file -------------<PROFILES> <!-- =========================== --> <!-- Workstation Applications --> <!-- =========================== --> ... any number of entries <!-- Oasys Ltd--> <profile exename="d3plot10.exe"> <OpenGLCaps>0x00008000</OpenGLCaps> </profile> <profile exename="d3plot10_64.exe"> <OpenGLCaps>0x00008000</OpenGLCaps> </profile> <profile exename="d3plot10_x64.exe"> <OpenGLCaps>0x00008000</OpenGLCaps> </profile> ... any number of further entries --------------- End of file -------------
Page 2.33
D3PLOT
Page 2.34
D3PLOT
The various sub-windows always exist within the master window, and may be moved and resized at will inside it. They will keep their relative size and position as the master window is changed in size and/or shape, and will reappear after the main window is de-iconised. Their exact location and size will depend on the size and resolution of the display: you can use the DISPLAY_FACTOR variable (see Section 2.2) to override default sizes and resolution. The TIDY button in the icons box may be used at any time to restore this default layout: any unwanted sub-windows will be closed and the screen will be restored to the appearance here.
Page 3.1
Main Menu Options Graphics area Dialogue & list Menu Area Global Commands
Provides access to the majority of the commands and options available in D3PLOT through a series of sub menus Is where graphics are drawn. Allows "command-line" input and output, also provides a listing area for messages. Displays the commands and options associated the current selection from the main menu options. Gives access to commonly used commands
Animation Controls states and what is displayed during animation Controls While you are free to re-position these master windows it is recommended that you keep to this default layout. This is because when further sub-windows appear their position and size is designed assuming this layout, and aims to obscure as little useful information as possible.
Page 3.2
D3PLOT
BUTTONS:
Screen buttons are depressed by clicking on them, but action only takes place when the mouse button is released, so it is safe to drag the (depressed) mouse around the screen. Buttons may be set (ie depressed) by D3PLOT itself, for example the Solids & Shells one above, to indicate that this option is in force. They may also be greyed out, for example the Cont Surfs one above, to indicate that the option is not currently available. Some buttons repeat automatically when held depressed: this depends on context. Buttons with "..." after them will invoke sub-menus.
SLIDERS:
Sliders are moved by clicking on the slider button itself, and then dragging it to a new position. They may also be moved automatically by clicking on, and holding down, one of the arrows at either end.
TEXT BOXES:
To enter text in a text box: first make it "live" by clicking on it, then type in text, then type <return> to enter the string. Clicking on a "live" box for a second time is exactly the same as typing <return>, so clicking twice on a box effectively enters its current contents. You can use the left and right arrow keys for line editing within a box: text entry takes place after the current cursor position.
RADIO BOXES:
A "radio" set is provided where only one selection is possible from a range of options. In this example the laser postscript output has been set to a single image per page. To select click anywhere on the row of the relevant option, any previously selected item will be deselected.
MENU LISTS:
Menus of items are used when you need to make one or more selections from a (potentially) long list. Click on the row you want to select: clicking on a row that is already selected will have the effect of unselecting it. When the list is too long to display in the window you can use the vertical scroll-bars to move up and down it.
Page 3.3
D3PLOT
POPUP MENUS:
Where a button has a "right arrow" > symbol it means that a popup menu is available. Click the right mouse button and the menu will appear. Holding down the right mouse button drag it onto the item you want. Popup menus can be nested to any depth. Note that popup menus can be invoked both from "clickable" buttons and from"non-clickable" ones: it makes no difference to their functionality.
Page 3.4
D3PLOT
As this example shows the dialogue box is also used for listing messages, warnings and errors to the screen. It can be scrolled back and forth (its buffer is 200 lines long) to review earlier messages. The following colours are used: Normal messages and prompts Text typed in by you Warning messages Error messages Yellow White Magenta Red
There is a minor limitation when mixing command-line and screen-menu mode: you cannot perform the same function simultaneously in both modes. If you attempt to do so you will get the message: WARNING: recursive access attempted And you will not be permitted to continue. To clear this situation either close down the menu-based operation, or return to the main menu ("/" command) in the dialogue box.
Click down on its title bar, then drag the window to where you want it to be. A "rubber-band" outline moves to show the windows current position. Where a window does not have a top title bar click anywhere on its grey background and drag it. Either Click on a border bar to move just that side, or on a corner bar to move both sides attached to that corner. Again, a rubber-band outline shows you the new shape.
or
Use the MAXIMISE button in the top right hand corner of the window to increase the size of the window to the largest required size.
To scroll a window:
If a window has got too small for its contents then horizontal and/or vertical scrollbars will appear. Click on a scrollbar slider and move it to the desired position, the window contents will scroll as you do so. Alternatively click on the arrows at either end of the scrollbar for timed motion in that direction.
Page 3.5
D3PLOT
User manual Version 11.0, March 2013 Click on the ICONISE button in the top right hand corner of the window.
Iconised windows may be restored by clicking on the icon in the ICON area.
Restores an iconised window Maximises this window to fill the whole area Iconises this window (see below for iconisation) Raises this window to the top of the stacking order. Lowers this window to the bottom of the stacking order. Generates a windows bitmap (.bmp) file of the sub-window. This is an uncompressed file with a depth matching the number of bit-planes of the window. (This often doesnt work for the graphics window, since it uses mixed "visuals": use the IMAGE option instead for this.) For text (ie dialogue or listing) windows places a copy of the complete window text onto the system clipboard. On Windows platforms only: for other window types places a bitmap of the window into the clipboard as an image. (This option is not available for non-dialogue windows on X11-based window managers under Linux and Unix.)
Copy->Clipboard
Page 3.6
D3PLOT
By default the ENTITY and OPERATION buttons are set to PART and BLANK. Possible operation types are: BLANK (default) UNBLANK ONLY COLOUR TRANSPARENCY DISPLAY MODE LABEL OVERLAY MODE OVERLAY COLOUR BRIGHTNESS SHININESS LOCATE IN TREE TRACE TARGET MARKER Section 6.1 Section 6.1 Section 6.1 Section 4.3.2.2 Section 4.3.2.4 Section 4.3.2.2 Section 6.4 Section 4.3.2.2 Section 4.3.2.2 Section 4.3.3 Section 4.3.3 Section 10 Section 6.13 Section 6.9.1
PROPERTIES Section 4.3.2.3 Whenever these buttons are visible in a graphics window "quick picking" is active, and the cursor is live. Mouse buttons have the following functions: Left "Do" the operation. For example blank the entity if in BLANK mode, change its colour if in COLOUR mode, etc. Drag across the screeen using the left mouse button to selecet multiple entities by area. "Undo" the most recent operation. Thus unblank the last pick, etc. Raise the full options menu for the selected object type, giving the option of performing any of the "quick" operations on it, regardless of the current mode.
Middle Right
In all cases the effect is immediate, for example clicking on a part to blank it results in the image being redrawn. The ENTITY button can be used to access a popup via the right mouse button to change the default selection category from PART to any of the generic element classes that the model contains ( PARTS, NODES, SOLIDS, SHELLS, THICK SHELLS BEAMS, SPRINGS etc). INCLUDES may also be selected if there is a .ztf file.
Page 3.7
D3PLOT PARTs are a special case: The default setting for PART picking is to pick parts of any eligible element type. But because the default screen picking process will tend to pick 2D and 3D elements (because they have a finite area), it can be difficult to pick BEAM parts if they overlay 2D or 3D mesh. Therefore it is possible to restrict the type of part to be picked by underlying element type.
INCLUDEs are also a special case: INCLUDE files are selected by PART, meaning the entities in the include file that contains the PART definition are selected. The selection of include files is recursive, so entities in any child include files are also selected. If an entity is defined in one include file and the PART is defined in another both INCLUDE files are selected.
In addition to being able to BLANK items the OPERATION menu can be used to select the operations listed above to apply to the items selected. The OPTION button can then be used to select the colour, transparency level, display mode etc that is applied to the item when it is selected on the screen. (Not all options will be available for parent item types.)
All operations carried out using these options and the mouse are stored and can be undone using the MIDDLE mouse button. Furthermore all of these options can be used while animating. To indicate which operation is currently active the mouse symbol will change as is appropriate.
Page 3.8
D3PLOT
Labelling
Any permutation of of the following items can be selected for labelling, but note that some can only apply to nodes and some to elements. Item Label Part Number Nodal coords Data value Draws the node or element label Draws the number of the part the item belongs to Draws the current [X,Y,Z]coorrdinates to the left of the node Draws the data value associated with the currently visible plot data(eg CT,SI) to the left of the node position or element centre. A value of 0.0 is used if the currently visible plot does not imply data (eg LI,HI,SH drawing modes) or if there is an entity type/data plotting mismatch (eg beam element data froma contact surface data plot). Draws the labels of all nodes on the selected element
Nodes on elem
Elems Draws the labels of all elements attached to the selected node on node The labels persist during animation and redrawing, until the the Clear Labels option is selected.
Page 3.9
D3PLOT
Page 3.10
D3PLOT
Page 3.11
User manual Version 11.0, March 2013 Is a factor on the overall scale of the display, lying in the range 0.5 to 2.0, default 1.0. Larger values make the display seem bigger to the software, resulting in smaller menu panels and fonts. Smaller values increase the size of menu panels, buttons and fonts, and can be useful for the visually impaired. This factor can be especially useful on "wide screen" displays with very asymmetric horizontal and vertical resolutions. The operating system *should* determine the physical size of the display correctly. However we have observed a few instances where this does not happen, the symptoms being that fonts and menus appear either far too big or too small and cannot be corrected by using Display Factor. In this situation you may need to tell the software the physical dimensions of your display, and this process is described under "Setting the correct physical resolution for your display" in section 3.2 of the extra section on graphics in the Primer manual.
Font size
Controls the size of fonts used in the menu interface (but not for graphics). This works independently of the Display Factor, allowing further fine-tuning of the appearance of the user interface.
For most applications the default Helvetica (Arial on Windows) will suffice. But you can also choose Times or Courier, and Bold variants of all of these. By default text in menu interface buttons can be scaled downwards to a smaller font size (if one exists) if it is too long for the button. This shows more characters, but it can look messy when the user interface has a mixture of font sizes. Turning font scaling off prevents this happening, giving a more consistent appearance. (However it is generally better to ajust the Display Factor in order to find a menu scale that gives consistent font sizes.) These affect the overall brightness and also the colour saturation of the user interface. They both lie in the range 0.0 to 1.0, default 1.0. By default D3PLOT is set up for right-handed usage, which has influence on both mouse buttons and the keyboard "meta" keys: <shift> and <ctrl>. (The left and right meta keys have different functions during dynamic viewing: see dynamic viewing ) You can swap the handedness of mouse and/or meta keys, which will reverse them in the left <=> right sense. Note: This swapping is local to D3PLOT, and is applied after any system user interface configuration. So if you configure your computer to swap mouse buttons globally, then swap them here, the net effect will be to have unswapped buttons again!
Page 3.12
User manual Version 11.0, March 2013 Dynamic viewing By default D3PLOT uses the following dynamic viewing keyboard + mouse key actions: Keyboard meta key <shift> <ctrl> <shift + ctrl> Viewing mode Normal Wireframe Free edge } } } + { { { Mouse button Left Middle Right
D3PLOT
However different users have different tastes, and users who swap between different applications find it easier if they behave in similar ways. Therefore the following [permutations are available: Viewing mode, may be assigned to keyboard meta-key(s) (ie <shift>, <ctrl> or <shift + ctrl> Normal Wireframe Free-edge special "free edge lines only" display mode will use the current display mode only the line vectors in the current display mode
Dynamic rotation options, assigned to mouse buttons Rotate XYZ Rotate XY Rotate Z Rotate Sphere traditional D3PLOT behaviour, rotates in XY if cursors initial position is in centre 2/3rd of screen, otherwise about Z rotates about screen XY only, regardless of where the cursors initial position rotates about screen Z only, regardless of cursor initial position free rotation about any of XYZ, like grabbing a point in a virtual sphere and dragging it
Dynamic translation options, assigned to mouse buttons model follows cursor movement in screen XY plane Translate Zoom options, assigned to mouse buttons Zoom (up +ve) Zoom (down +ve) Presets up and to the right enlarge, down and to left reduce down and to the right enlarge, up and to left reduce
These preset options configure D3PLOTs dynamic viewing controls to operate in a similar way to those of the listed programmes. The descriptions "Like (program name)" are given only for ease of reference to certain combinations of key and mouse buttons used for dynamic viewing control. ANIMATOR is a product of GNS mbH ANSA is a trademark of BETA CAE systems SA HYPERMESH is a registered trademark of Altair Engineering, Inc. MEDINA is a registered trademark of T-Systems GmbH The configurations these produce may not match exactly the actions in the given application, but they are the best that can be achieved at the present time with the options available.
Scroll factor
Determines the rate at which using the mouse scroll wheel to zoom in/out changes the image magnification factor. Smaller values will act more slowly, and larger ones more quickly - it is best set by experiment.
Page 3.13
User manual Version 11.0, March 2013 Determines how rapidly the <meta key + mouse key> dynamic zoom operations above work. Again this is best set by trial and error. Factors that are applied to translations/rotations when using a 3D mouse produced by 3DConnexion. This is a special setting designed mainly for "batch" style usage, and it controls how "popup" windows that normally wait for acknowledgement from the user should respond. If it is switched on then these windows will assume that the user has clicked the default action (usually "OK") and continue operation without waiting. This can be useful when replaying scripts, but it is not recommended for normal interactive usage.
Note: Unlike PRIMER no "backing store" drawing is used in D3PLOT, so issues such as Bitmaps, Pixmaps and PBuffers do not arise.
D3PLOT By default manu auto-expansion is ON, but you can suppress it by turning it OFF.
Controlling the speed and delay: You can also control: DELAY the time interval between the mouse entering a window, and the window starting to expand. The delay time is controlled as a factor on the default behaviour. The actual delay time will vary from system to system depending upon the Window system and underlying speed, but a typical delay will be approximately 0.5 seconds. SPEED (Not shown here) is the rate at which the menu expands and contracts. As above it is controlled as a factor on the default speed.
d3plot*menu_expand_delay: Floating value in the range 0.1 ... 5.0 d3plot*menu_expand_speed: Floating value in the range 0.1 ... 5.0 Full details of all "oa_pref" file options and environment variables are given in Appendix II
Page 3.15
D3PLOT
At the top of the panel you will see the following buttons. Restores the shortcuts to their default keys, removing any shortcuts assigned by the user.
Page 3.16
D3PLOT
Saves the shortcuts to the oa_pref file in the home directory. They are saved in the format "d3plot*A_key: AUTOSCALE" where the first part defines which key the shortcut is assigned to and the second part is the shortcut being assigned. Each shortcut has a specific name to use in the oa_pref file, and a list is given below. When D3Plot is started this is read and the saved shortcuts are restored. Reloads the shortcuts from the oa_pref file in the home directory. Clears all the shortcuts on the panel.
To assign a shortcut, right click on the key you want to assign it to. This will bring up a list of all available shortcuts in D3PLOT as well as the option to assign Javascripts, Command Files and Template Files.
To assign a Javascript or Command File to a key, right click on "Javascripts..." or "Command files...". This will bring up another popup from which you can select the Javascript or Command File. The popup will contain a list of Scripts that D3PLOT has picked up from the $OA_INSTALL and home directory. If the script you want is not in this list you can browse for it by clicking on the folder icon. The listing of assigned keys is colour coded to easily distinguish between pre-programmed shortcuts (white), Javascripts (light-blue) and Command Files (dark-blue).
Page 3.17
D3PLOT
Pre-programmed Shortcuts: Defaults shown in bold, oa_pref name shown in brackets. Plotting Modes H/h - Hidden mode plot (HIDDEN) L/l - Line mode plot (LINE) Line contour plot (LINE_CONT) Vector plot (VECTOR_PLOT) ISO Surface plot (ISO_PLOT) Principal plot (PRINC_PLOT) View Controls A/a - Autoscale current image (AUTOSCALE) V/v - View control panel (VIEW_MENU) Y/y - Cycle through no/free/all overlay Z/z - Zoom using cursor (ZOOM) "+"/"=" - Zoom in (factor 2.0) (ZOOM_IN) "-"/"_" - Zoom out (factor 0.5) (ZOOM_OUT) 1 - +XY view (VIEW_P_XY) 2 - +YZ view (VIEW_P_YZ) Toggle Lock (LOCK) Cycle View Back (CYCLE_VIEW_BACK) Blanking B/b - Blanking control panel (BLANK) R/r Reverse blanking of image (REVERSE) 3 - +XZ view (VIEW_P_XY) 4 - +ISO view (VIEW_P_ISO) 5 - -XY view (VIEW_N_XY) 6 - -YZ view (VIEW_N_YZ) 7 - -XZ view (VIEW_N_XZ) 8 - -ISO view (VIEW_N_ISO) 0 - "Exports" the view of the current graphics window to all other active windows (EXPORT) Toggle Centre (CENTRE) Cycle View Forward (CYCLE_VIEW_FWD) S/s - Shaded mode plot (SHADED) F/f - "Fringe" / SI plot (FRINGE) Continuous Tone plot (CONT_TONE) Cloud plot (CLOUD_PLOT) Beam plot (BEAM_PLOT)
U/u - Unblank all (UNBLANK) Panels C/c - Close all panels (TIDY_MENUS) D/d - Drag cut plane (DRAG_CUT) E/e - Entity panel (ENTITIES) M/m - Measure panel (node -> node) (MEASURE) O/o - Overlay and Display panel (DISPLAY) P/p - Properties panel (PROPERTIES) W/w - Write image file panel (IMAGE_WRITE) X/x - Cut sections panel (CUT_SECTION)
Page 3.18
User manual Version 11.0, March 2013 N/n - Pick cut plane node(s) (CUT_PLANE) Coarsen panel (COARSEN) Compress panel (COMPRESS) Data Components panel (DATA) External Data panel (EXTERNAL_DATA) Groups panel (GROUPS) Layout panel (LAYOUT) Part Tree panel (PART_TREE) Read Image file panel (IMAGE_READ) Settings File panel (SETTINGS) Trace Node panel (TRACE) Utilities panel (UTILITIES) Volume Clip panel (VOL_CLIP) XY Data panel (XYDATA) State Selection -> - Forward one state <- - Backward one state <HOME> - Jump to first state <END> - Jump to last state Windows G/g - Open new window (NEW_WINDOW) T/t - Tidy all windows (TIDY_MENUS) Miscellaneous Q/q - Quit current pick action (QUICK_PICK) <PAGE DOWN> - Move down a page <PAGE UP> - Move up a page I/i - Iconise windows (ICONISE) <DEL> - In a graphics window erases dynamic labels <SHIFT> + -> - Forward one frame <SHIFT> + <- - Backward one frame <SPACE> - Toggle animation (ANIMATE) ?// - Shortcut panel (SHORTCUT) Colour panel (COLOUR) Die Closure panel (DIE_CLOSURE) Deform panel (DEFORM) Failure Options panel (FAILURE) Javascript panel (JAVA) Lighting panel (LIGHTING) Preferences panel (PREFERENCES) Read Watermark panel (WATERMARK) Target Marker panel (TARGET) User Defined Components panel (USER) Visualisation panel (VISUALISATION) Write panel (WRITE)
D3PLOT
If the mouse is in a graphics window, commands that imply a graphical change apply to that window only; otherwise they apply to all active graphic windows. From v11 onwards, there is an option to configure 3D mouse buttons through the shortcuts panel. Click on the Configure 3D SpaceMouse buttons to assign functions, macros and javascripts to buttons on a 3DConnexion 3D mouse. See section 5.1.5 for more information on 3D mice.
D3PLOT
"Predictive picking" highlights what would be picked were you to left-click with the mouse. "Menu Hover Over" highlights items in menu lists, helping you to identify what they are.
In the first situation you might want to turn it off for all picking operations; but in the second you may just want to suppress it for the duration of the current pick operation, turning it back on when you revert to picking items that are less visually complex. Therefore two levels of control are provided:
Page 3.20
D3PLOT
This only affects the current picking operation, and the setting is "forgotten" once that operation ends.
Page 3.21
D3PLOT
Page 3.22
D3PLOT
By default this panel will allow you to select a single model and open it (see Section 4.1.1) Alternatively this panel can be used to either: (i) Search directories for results and open open multiple models (see Section 4.1.2) (ii) Read a settings file containing model information (see Section 4.1.3). (iii)Open a model database and select the models you want to read ( see Section 4.1.4) Cancel Dismisses the panel without reading a model in to D3PLOT. (Re)Read Reads a model in to D3PLOT. MEMORY... Maps the standard memory management box (see Section 14.7). This allows you to set database memory limits and display mode before opening the file, which may be necessary in exceptional circumstances.
Page 4.1
D3PLOT
Filename
You can type a filename into the text entry box or use the button to obtain a standard file selector box .
File Filter
The File filter button controls what extension will be used to search for file types in the file selector box. D3PLOT requires a complete state, or equivalent, file in order to run. Under Oasys Ltd conventions this will have the filename format <name>.ptf, but any name is acceptable so long as the contents are recognisable. The default filter box "pattern" is set to All Results Files so that all available results files will be shown in the file selector. (See Section 1.4 and Section 1.5 for a list of supported file types and names.) To make using the standard file filter box easier you can pre-select the "pattern" that will be used for scanning files on disk using the options shown here. Of course any pattern can still be typed into the file filter box itself.
Page 4.2
D3PLOT
Read Options
Family size (MB): The binary output files written by LS-DYNA form "families". Each family has a root member and may have children. The maximum size of any member of a family is set when LS-DYNA runs, the default being 7MB, however any size > 1MB can be used. By default D3PLOT determines the family member size automatically (the Auto setting shown here), but you can override this by entering a size in MB. This is almost never necessary: read Section 9.1 before doing this. File skip: File families should form a contiguous sequence (root, member #1, member #2, ...) But it is sometimes the case that members are missing: intermediate members be deleted to save disk space, and occasionally LS-DYNA skips members. The File skip value (here zero) is the number of missing members that D3PLOT will skip before giving up its search and deciding that it has found the end of a file family. See Section 9.1.3 for further information. Title swap: It is unfortunately the case that some versions of LS-DYNA have been compiled with numeric conversion flags which endian swap their output. This works fine for numbers, but scrambles the title (the string ABCDEFGH becomes DCBAHGFE). If your title looks like garbage try changing this field to Y(es) to see if this fixes the problem. (Note that you can do this at any time during a D3PLOT session: see Section 4.2.1).
If a second or subsequent model is opened D3PLOT will offer the choice of opening the model in a new Window (Next) or one of the existing Windows (W1, W2 ...). If more than one Window is selected then D3PLOT will add the model to each of the Windows.
Page 4.3
D3PLOT
<filename>_nnn.prp Contain model-related information such as colour, transparency, overlay, or etc that has previously been written from the PROPS panel. These files will be reread if found so that all this status information is automatically <jobname>.prp restored.
Ascii group001.asc Contains optional group information in a human-readable form which groups file matches that used by Primer in the keyword input deck. If such a file is (.asc) read it will supersede those groups currently stored for this model Settings and Properties files are described more fully under UTILITIES, SETTINGS_FILE . Group handling in version 9.0 of D3PLOT was extensively modified and improved, and it is described more fully under GROUPS.
Page 4.4
D3PLOT
Contains information on springs, joints stonewalls and lumped masses. Omitting the XTF file contents will not give similar savings to those obtained by omitting the CTF file and is not generally recommended. MPP versions of LS-DYNA do not write a XTF file, so from V9.0 onwards the equivalent data is also present in the ZTF file.
Spotweld, SPC From version 9.4 onwards D3PLOT can also read some additional data from the LSDA (binout) etc (LSDA) file. If your model contains spotwelds, springs, seatbelts or restrained nodes then D3PLOT will be able to plot come data components for these items if you have turned on output for them to the LSDA file. It is recommended that both XTF and ZTF files should always be read if present. Details of the contents of all these files are given in section 9.2
If the option is deselected then once a model has been selected D3PLOT will search for any additional files and display any that it finds.
For the .set, .prp, .asc, and .ztf the text boxes and file selectors can be used to select alternative files if required. After selecting an alternative file you can switch between the automatically found file and the user defined one using the popup menu attached to the text box.
Page 4.5
D3PLOT
The list of models can be sorted by either alphabetically by directory name or by date into either ascending or descending order. As each model is selected the model number that it will be read in as will be displayed.
Page 4.6
User manual Version 11.0, March 2013 When multiple models are read each model can either be read into a separate Window or all of the models can be loaded into an existing Window.
D3PLOT
Page 4.7
D3PLOT
After a settings file is selected its contents will be scanned to see how many models are required and D3PLOT will then display a list to allow the models to be selected.
If models have already been read into D3PLOT they will be automatically selected for the models to use when replaying the settings file. Any of the pre-selected models can be changed by using the popup menu to select a different model.
Page 4.8
D3PLOT
To select a model database either enter its name in the text box or use the file selector. The default model database can be specified as a command line argument (see section 2.5 for more details). The default database filename and location can also be specified in the preference file (see Appendix II for more details) d3plot*database_dir: d3plot*database_file:
Page 4.9
D3PLOT After a database file has been selected its contents will be read and D3PLOT will display a Tree Like menu showing the contents of the database. As each item is displayed D3PLOT will check to see if the files that it refers to exist. If a file does exist then a green tick will be displayed If a file does not exist then a red cross will be displayed The number of levels in the database that are automatically expanded when it is first displayed can be specified in the preference file (see Appendix II for more details) d3plot*database_expand:
After selecting the required models use Apply to close the database window and return to the main menu where the selected models will be displayed along with the model numbers they will be read in as.
Page 4.10
User manual Version 11.0, March 2013 A complete branch can be selected/deselected by selecting the branch label (Iteration 1).
D3PLOT
Right clicking on a model description will display 3 options Modify ... Insert ... Modify the model location and description. Insert a new branch. The selected model will be moved into the new branch. Delete Delete the model
Page 4.11
D3PLOT
Page 4.12
User manual Version 11.0, March 2013 <model_database version="10.000000"> <Template_Demo label="Template Demo"> <iteration_1 label="Iteration 1"> <base label="Base" model="e:\release meeting\crush\base\base.ptf"/> <run_1 label="Run 1" model="e:\release meeting\crush\run1\run1.ptf"/> <run_2 label="Run 2" model="e:\release meeting\crush\run2\run2.ptf"/> <run_3 label="Run 3" model="e:\release meeting\crush\run3\run3.ptf"/> <run_4 label="Run 4" model="e:\release meeting\crush\run4\run4.ptf"/> </iteration_1> <iteration_2 label="Iteration 2"> <base label="Base" model="e:\test\crush2\base\base.ptf"/> <run_1 label="Run 1" model="e:\test\crush2\run1\run1.ptf"/> <run_2 label="Run 2" model="e:\test\crush2\run2\run2.ptf"/> <run_3 label="Run 3" model="e:\test\crush2\run3\run3.ptf"/> <run_4 label="Run 4" model="e:\test\crush2\run4\run4.ptf"/> </iteration_2> </Template_Demo> </model_database>
D3PLOT
Page 4.13
D3PLOT
Page 4.14
D3PLOT
x=100 : offset x by 100 model units x=50% : offset x by 50% of the model X dimensions, colour Specify the colour used to display the model. The default option is PART which means PART that each model is drawn using D3PLOTs normal part colouring scheme where each is RED drawn in a different colour. Setting this option to a specific colour forces all the parts GREEN in the model to be drawn using the specified colour. A user defined colour can also be BLUE specified by setting the colour to 0xRRGGBB where RR,GG and BB are the RED, CYAN GREEN, and BLUE colour components in the range 0-FF (0-255). MAGENTA YELLOW RED_MAGENTA LIGHT_ORANGE YELLOW_GREEN GREEN_CYAN CYAN_BLUE DARK_ORANGE LIGHT_BLUE GREY BLACK WHITE DEFAULT (=PART) mode Specifies the default drawing mode for the model SHADED WIRE HIDDEN CURRENT DEFAULT (=CURRENT)
Page 4.15
D3PLOT
Page 4.16
D3PLOT
Page 4.17
D3PLOT
Moving this slider to a new state will cause all these windows to jump to this state. PLAY
makes all
halts them.
This range of this slider is 0 to the highest state in all models, and it can be the case that it permits selection of a state that doesnt exist in a given model. Selecting such a state is legal and leaves the window(s) of that model unchanged.
The local state slider and associated controls in the button bar at the top of each graphics window applies to this window only. Moving the slider, or using <<, |<, etc, lets you move between the animation states currently defined for this window. By default all states in a model are selected for animation; but this can be limited to restricted states, or extra states can be displayed by interpolation. Therefore these controls move between what has been selected for this window (or for modal analyses through the +/- 180 degree phase angle for the current modeshape).
All animation and static state selection is carried out in the State Display box. Its basic controls are described here, with more detail in the following sections.
To start animating
By default all states in the model will be animated at full speed in the current display mode. More information on animation is given in Section 4.5.
Page 4.18
D3PLOT
Page 4.19
D3PLOT
SHOW_STATES - List all states in the file If you think that you cannot see all the states that should be there you should consider the following possible reasons: Analysis is still running: You may need to RESCAN_FILE for newly created states. Missing family members: You may need to adjust the FILE_SKIP value. Wrong family member size: You may need to adjust the FAM_SIZE value. RESCAN_FILE - Scan the file for any new states. If your analysis is still running D3PLOT will not know about any states that may have been written since its initial scan of the file. RESCAN_FILE will search the file for new states and update the internal tables to show them. DATABASE - Displaying and managing the results storage database D3PLOT loads results from file on as "as needed" basis, and may supersede unwanted results in memory to save space. The process is automatic and can normally be ignored, however users with big models may need to intervene to economise on memory usage. FILE_SKIP - Jumping over gaps in family member sequence Sometimes the family member sequence <name>.ptf, <name>.ptf01, ... <name>.ptfnn may contain gaps. This can be due to deliberate deletion of intermediate members to save disk space, or because LS-DYNA has skipped a member. D3PLOT will skip over <FILE_SKIP> gaps before giving up its search for new members and deciding that it has reached the end of the file family. <FILE_SKIP> may be zero (no gaps) or any positive integer, but bear in mind that large values will slow down disk scanning as many non-existent files are searched for. If you change this value the family will be re-scanned automatically to detect any new members this may have made visible. FAM_SIZE - Setting the file family size to use. The file family size from LS-DYNA defaults to 7MBytes, but is sometimes set to some other value (using the X= parameter on the input line). D3PLOT can determine the member size of each family automatically by taking the larger of the first two members rounded up to the nearest Mbyte. However you can override this value if, for some reason, the automatic method does not give the correct answer. Doing so causes the file family to be re-scanned automatically to detect any changes. Setting the value to zero effectively returns it to "automatic" mode. SWAP_TITLE - Unscrambling endian-swapped titlesIf the analysis title appears to have every 4 letters reversed (ie ABCDEFGH = DCBAHGFE) then it has probably been (incorrectly) endian-swapped by your version of LS-DYNA. You can correct this by swapping between reversed and normal modes. Setting these parameters externally The parameters on this page may be set externally (or in the Shell) with the following environment variables: setenv FILE_SKIP 10 FILE_SKIP=5, export FILE_SKIP setenv FAM_SIZE 7 FAM_SIZE=0; export FAM_SIZE setenv SWAP_LSTC_TITLE true SWAP_LSTC_TITLE=false; export SWAP_LSTC_TITLE (Unix, C shell syntax) (Unix, Bourne/Korn shell syntax)
Page 4.20
User manual Version 11.0, March 2013 Windows users may set these variables in the System, Environment panel.
D3PLOT
RELEASE The new state is drawn when you release the slider. SLIDE As you move the slider between states each one you pass gets drawn.
The default is RELEASE since this reduces drawing time for large models when selecting states. Note that SLIDE can be used to scroll through (visually) an animation, but the same effect is achieved more easily using the frame slider bar on top of the graphics window: see Section 4.5.
Page 4.21
D3PLOT
Page 4.22
D3PLOT
Page 4.23
D3PLOT LI (alias LINE) Draws the current in-core state in wire-frame mode. A time is now shown (in this case 4.6ms) since this represents data at that time. Wire-frame mode still exposes lines which should be hidden.
HI (alias HIDDEN_LINE) Draws the current in-core state in hidden surface mode. This plot shows the deformed shape at 4.6ms as before, but now hidden lines have been removed .
Page 4.24
User manual Version 11.0, March 2013 SH (alias SHADED) Draws the current in-core state in lit and shaded "greyscale" mode, implicitly with hidden surfaces removed. The command-line equivalent command is [Greyscale] GO. Shading has been applied, assuming a light source at the observer, and hidden-surface mode is implicit: any hidden lines will be removed.
D3PLOT
The COLOUR command controls general colour usage in D3PLOT except the assignment of contour (see Section 4.4) and hidden-line overlay (see Section 4.3.4.6) colours. Note: In release 8.0 onwards many of its Node/Element colour functions are duplicated in the more user-friendly and capable PROPS box (see Section 4.3.2.3 below).
Page 4.25
D3PLOT
DARK_COLOURS... Is used to lighten colours for colour printers. Most colour printers use cyan, magenta, yellow and black inks and they tend to render darker colours such as blue and magenta too darkly. This command lightens these colours preferentially so that colour plots look better, even though the display may look strange. Its default value is 0% (ie no lightening), and it may range to 100% (which will turn blues into white). You will need to experiment with your plotter to find the best value, a suggested starting point is 50%. BACKGROUND... Sets the graphics window background colour. By default this is black, but you can choose from a range of standard colours, or make your own user-defined shade using the colour PALETTE (see below). Controls the colour used for text (ie clock, header, etc). By default this is white but, as with the background, you can make this a standard colour or a user-defined shade using the colour PALETTE.
TEXT_COLOUR...
Text and background colours may be chosen from one of the 16 standard colours shown here. Alternatively you can use: Resets the relevant colour to its default. That is white for text, and black for the screen background. To create any colour that your hardware can support using the colour mixing PALETTE.
Node/Element colours: Setting the colour of nodes, elements and other items.
A default colour is assigned to every entity type in D3PLOT as follows: Standard 14 colour sequence: #1#2#3 #4 #5 #6 #7 #8#9#10#11#12#13#14 1, 2 & 3D elements Contact segments } Use the element part number or segment surface number to obtain colour from the standard sequence here on a modulo 14 basis. }
By default these colours are used only in plots that do not imply data plotting, that is: DRAW & LINE (Wireframe), HIDDEN (Hidden wireframe) and SHADED ( Solid shaded and lit) Joints Stonewalls Lumped-masses Nodes Use their type number (#1 = spherical ... #7 = locking) to give a colour in the standard sequence above Use Use Use White
Page 4.26
D3PLOT
In all other plotting modes the element "overlay" colour (controlled by the OVERLAY option) is used instead. You can change these colours as follows: SET_COLOUR... Lets you define a new colour for a range of entities. To use it first define a colour from the options given, then select the range of entities to which these are to apply. Note that colours can also be changed using Quick-Pick (see section 3.5) This has the effect of desaturating "shaded" images, which gives them a more pleasant appearance. It has no effect on data plotting modes (eg SI, CT) or on wireframe/hidden element borders. Note also that the "global" SATURATION control remains. It may be used to desaturate all images. The effects of the "global" and "shaded" saturation controls are additive. RESET_TO_DEFAULT Resets all entity colours to their standard D3PLOT defaults. REV BACK&TXT Reverses Text and Background colours.
SHADED_SAT...
4.3.2.2 OVERLAY... Controlling the hidden-line overlay of element borders on data plots.
This figure shows the hidden-line overlay control panel. This panel controls whether or not a hidden-line overlay is superimposed on plots, and its attributes (when drawn). Overlay Display Overlay Colour Controls whether and how element overlay is drawn. It does not affect the current attributes. Obviously sets the colour to be used. The default is white, but other standard colours can be chosen. ELEMENT colour means use the Overlay colour of each element - see the PROPS box in Section 4.3.2.3.
Hidden-line overlays apply as follows: Overlays affect all data plotting display modes, and also SH shaded (GREYSCALE) plots. Their colour is normally fixed, but using the ELEMENT option, in conjunction with the PROPS panel, permits any permutation of overlay colours to be used. The display of edges may be one of:
Feature edge Free and "feature" edges are drawn All edges All element borders are drawn
The Edge Angle is the angle between adjacent facets at which an "edge" is deemed to occur. It affects both Feature edges and also smooth shading. The default of 60 degrees is satisfactory in most cases, but to obtain more edges reduce this value. Values approaching 180 degrees will eliminate edges altogether.
The effect of these various edge drawing options is shown in the four images below.
Page 4.27
D3PLOT
This image has only free edge overlay, which is drawn only at the element edges at the back of the head.
This image has feature line overlay with an "edge angle" of 20 degrees, showing detail around the mouth, nose and eyes.
Page 4.28
User manual Version 11.0, March 2013 This image demonstrates the "patchy" overlay that can occur if the "Z lift" dimension is insufficient to raise it above the surrounding element infill. This does not normally happen, but it can occur if: Perspective is turned on And the perspective distance is very small
D3PLOT
To fix this problem use <right ctrl> + <mouse button>. Moving the mouse up the screen will raise the overlay towards you, moving it down away. The mouse button used controls the speed of "Z lift" change: <Left mouse> Produces slow change
<Middle mouse> Moves it more quickly <Right mouse> Makes large changes
If you subsequently revert to a more "normal" viewing distance you may need to reset the "Z lift" to get an acceptable image quality.
4.3.2.3 Properties: Controlling colour, drawing style, transparency, lighting attributes and overlay of entities.
It is important to understand the distinction between "Properties" and "Settings" in D3PLOT: Properties Are attributes of a model, for example part colours. Settings Are attributes of the programme and menu interface, for example data component.
A fuller description of these differences is given below. The PROPS box duplicates the colour setting capabilities of the COLOUR command above (which is kept for backwards compatibility), but provides many more capabilities for improving the visual properties of plots:
Page 4.29
D3PLOT
Explicit visibility (blanking and entity switch) control. Mixed display modes (contoured/shaded/hidden/wireframe). The ability to label items selectively. Colour setting. Transparency setting. Lighting attributes (diffuse brightness and shininess). Overlay colour and style (solid/free edge/omitted). These properties may also be changed using Quick-Pick.All of these capabilities are available at <model>, <category (eg part)> and <individual item> level; which makes it possible to tune plots for presentation to any degree. Model properties can be saved and restored, and even applied to different models: see below. Due to the width of the menu, the option is provided to UNDOCK the menu. This moves it from being docked in the menu area to floating in the Grahics area. DOCK will reverse this process. From version 11 onwards property "states" (unrelated to data states) can be saved using the Save P button in the view panel - see section 5.5.
Page 4.30
D3PLOT
...results in the PARTs sub-panel being displayed. It is also possible to SELECT any permutations of items, using the standard D3PLOT selection process or by clicking on their id button. Selected items have their background changed to green (here parts 1, 3 and 4 have been selected). Operations applied to the top row buttons are then applied to all selected items .
Transparency: Transparency only applies to 2D and 3D objects, and by default they are all totally opaque. However you may set any such entitys transparency on the range 0% (opaque) to 100% (fully see-through) in increments of 10%. Brightness: Setting diffuse brightness Shininess: Setting specular brightness Lighting is discussed in more detail in Section 4.3.3 below. Overlay Attributes Overlay Colour: Select an explicit overlay colour, or default. Each entity maintains a separate overlay colour, distinct from its "current" colour. The Default overlay colour is the same as the native element colour, but the two are stored separately and may be quite changed independently. Overlay Mode: Overlays may be drawn in one of three styles: NO_OVERLAY: Not drawn at all. FREE_EDGE: Only free edges are drawn. ALL_EDGES: All edges are drawn. When drawing the more restrictive of the main DISPLAY_OPTIONS, FREE_EDGE switch and the "local" element ones is applied: if either eliminates edges they will not be drawn. See section 4.3.2.2 for more detail. So what does all this mean? Here is an example which combines transparency, different modes of plotting, selective labelling and various overlays to show what can be achieved.
Page 4.32
D3PLOT
Here is another example which shows how "vector" mode plots (here LC, but also VEL, VEC & Criterion) can be superimposed on shaded and wire-frame rendering.
You can create any number of property files, each will save the current status, and these may be read in at any time to update the current display.
Page 4.33
D3PLOT
Therefore you can apply a properties file to any model and, provided that it is not too dissimilar to the model from which the file was written, the effect should be to restore your settings almost completely.
Properties and Settings files are forwards, but not backwards, compatible.
Both of these file types evolve with successive releases of D3PLOT. A newer format file will not read into an older version of the code, however an older format file may be read into a newer version of the programme and - usually will function normally. There are some minor exceptions: some overlay attributes in a properties file from release 9.0 of D3PLOT may not translate properly to a newer release. This is not so much because of file incompatibility, but rather because of changes to the inner workings of the code itself which make the "old" attributes invalid. From release 11 onwards the properties file is now both model and programme-independent, and in particular properties may be exchanged between Oasys D3PLOT and PRIMER. The format of the file and an explanation of its contents can be found in section 5.5.3 If you have problems with incompatibility please contact Oasys Ltd for help and advice. Click here for the next section
Page 4.34
D3PLOT
Ambient light: Intensity. Shading type: Flat / Smooth / Dithered. Edge angle: Angular difference limit for smooth shading across adjacent facets.
Page 4.35
D3PLOT
Lighting Switch ON
These two examples show how a hemisphere, half SI contoured and half SH shaded, responds to the lighting switch. Note how turning lighting off destroys any perception of shape or depth. (The effect on the right could also be achieved with lighting ON by setting the Ambient light to 100% and having no point light sources active.)
Page 4.36
D3PLOT
This image has a single directional light to the right, and has the Ambient light set to 0%. Note how the lowlight areas are extremely dark and contain no detail.
Here is the same image with the Ambient light set to 40%. This has filled in the lowlight areas to some degree, but a higher value still is needed to illuminate some areas.
Why bother with ambient light? Why not just use more (and more realistic) point light sources? The short answer is speed and simplicity. Ambient light is cheap to compute and easy to define, whereas adding point lights slows down image redraw speed. And, as any photographer will testify, getting the position and intensity of multiple light sources correct is not as simple as it seems. However you have 8 light sources to experiment with: feel free! (But note that some graphics hardware may not operate correctly, or may run slowly, with more than two light sources.) The default in D3PLOT is a single directional light above and to the right of the observers position, and an Ambient light level of 40%.
Page 4.37
D3PLOT SET... Setting detailed light attributes The following detailed attributes for each light may be set: OFF/ON Turns this light on or off. Brightness Sets the light brightness in the range 0 - 100%. (nb: it is more efficient to turn a light OFF than to use 0% Brightness.) PRESETS > Provides some pre-computed positions for lights. These may not give exactly the locations you want, but they can form a good starting point. (The default light in D3PLOT, light 1, is positioned at "Right Shoulder".)
Page 4.38
D3PLOT
Light Tied to Screen space <== Before ..transform .. After ==> When a light is tied to Screen space it remains fixed in space as the object is transformed.
(In these examples the light sources have been added artificially to illustrate their positions. They would not appear on an actual plot.) Page 4.39
D3PLOT
User manual Version 11.0, March 2013 Flat, Smooth and Dithered.
Shading type:
This controls how facets are shaded, which in turn affects the appearance of curved surfaces.
FLAT shading
The outward normal of each element face is calculated and used to determine a single lighting value. This is applied to the whole face giving the faceted appearance shown here. This is quick to compute and, with a fine enough mesh, gives acceptable image quality. (The mesh overlay has been added here to emphasise that each facet has a single flat shade.)
SMOOTH shading
The outward normals at each vertex are averaged, making it possible to vary lighting smoothly across a surface. This technique is known as "Gouraud shading", and is only available in 3D graphics mode.
Page 4.40
D3PLOT
What dithering actually does, and how to fix problems that may arise from its use: (2D mode only)
On the left is an enlarged area of the dithered equivalent of the image above showing the bottom tip of the nose. The dither pattern is just visible in the image on the left, and if magnified further (right) it becomes obvious. There are only five different colours used in this image, yet it has been possible to show a wide range of shades. However spatial resolution has been lost in favour of colour range.
Dithering can occasionally cause problems when images are captured from the screen or laser-plotted. In particular there can occasionally be a "heterodyning" (beating) between the spatial resolution used for dithering on the screen and that used by the subsequent display device. This can show up as an apparent chessboard of large lighter and darker squares on the image, or as light/dark bands. Some software packages for manipulating bitmaps may show similar effects. If this happens you may be able to fix it with one of the following: Try generating the image with a different screen window size, and hence a different scale. This may be enough to stop the "beating" effect. If you have been working at 8 bit-plane resolution, but your screen supports 24 bit-plane "true colour", then use that instead. At 24 bit-plane depth all possible colours that the human eye can resolve (224 = 16,777,216) are available, and dithering is not required. The image will look better too.
Edge angle:
The angle at which smooth edges become sharp.
Page 4.41
D3PLOT
When smooth shading it makes sense to preserve some "sharp" angles, since most real-life objects have sharp as well as smooth edges. This is done by computing the angle between the outward normals of adjacent facets at vertices, and only averaging if this is less than the current Edge angle. This effect is evident in the images of the head above: the ridge of the nose is "sharp" whereas the rest of the face is "smooth". Edge angle can lie in the range 0 - 180 deg, (values > 90 deg are significant for 3D elements). The default of 60 degrees looks reasonably natural for most objects. 0 degrees is equivalent to Flat shading, and 180 degrees will eliminate all sharp edges.
Page 4.42
D3PLOT
Brightness Controls how light or dark the colour of the object is when illuminated, but the effect is to add matt colour (not whiteness, which would make it look shiny). Shininess Adds white highlights, but no colour, to make the object look shiny.
These attributes (of the object, not the lights) are set in the PROPS box - see Section 4.3.2.3. 1. OpenGL Programming Guide. Neider, Davis, Woo (ISBN 9 780201 632743) 2. Computer Graphics Principles and Practice. Foley, van Dam, Feiner, Hughes (ISBN 0 201 12110 7) Click here for the next section
Page 4.43
D3PLOT
4.3.4 Solids & Shells: Plotting results on solids and shells (2D and 3D elements)
The figure (right) shows the Data panel in Solids and Shells plotting mode (in this case displaying the Components sub-menu). This is the default data plotting mode in D3PLOT. It is available even if your model has no 2D or 3D elements since it contains the velocity vector plotting option (which is effectively data at nodes), although in this case some plotting options will be greyed out. From release 9.3 onwards this mode also displays data for Smooth Particle Hydrodyanics (SPH) and Airbag Particle (ABP) elements.
Page 4.44
D3PLOT
Middle
Bottom Is the innermost (most -ve local Z) integration point. In this example shell output has been defined with <maxint> = 8, giving the option of each of the eight integration points in the element. In the conventional case, <maxint> = 3, the "Layer" column will not be shown. (See note 2 below.
Normally you will be interested in results at a given integration point, but it is also possible to extract the following values scanned from all integration points through the thickness of the element: MAX_ALL MIN_ALL Finds the maximum (most +ve) value Finds the minimum (most -ve) value
MAG_ALL Finds the +ve or -ve value with the greatest magnitude. Result may be +ve or -ve since the calculation is: if ( |val| > |curr| ) curr = val
Page 4.45
D3PLOT
WARNING: In LS-DYNA analyses the top and bottom shell "surfaces" are not the outer fibres of the element if the default Gaussian integration scheme is used: they are located some way in from the outer fibres. The following table shows the location of the outermost integration points, as a function of shell half thickness (t/2), for the most commonly used numbers of points. No of Points 1 2 3 4 5 6 Distance from neutral axis as a proportion of t/2 (Gaussian integration) 0.0 (membrane) 0.577 0.775 0.861 0.906 0.932
Where you have written an odd number of integration points to the output file the "mid surface" will be the mid point. Where you have written an even number of points it will be the average if the two "middle" values. For example if you write 6 points it will be averaged from #3 and #4. Note 1: Note 2: While thick shells write results at surfaces too, by default this flag has no effect when they are plotted since their (visual) thickness permits all three surface results to be displayed simultaneously on their respective faces. This can be changed so that each surface is plotted separately, as described in Section 4.4.10 Historically LS-DYNA has reverted to trapezoidal integration for 6+ integration points, although this is undocumented and the author has a sneaking suspicion that more recent versions of LS-DYNA may use gaussian integration for up to 11 points. Examine such results with care!
Note If MAXINT is set to a -ve number, then LS-DYNA will write out data for in plane integration points. How to 3: interpret the results from these models in D3PLOT is described in Section 12.8.2.2 A more detailed description of shell output, with particular reference to "surfaces", "layers" and integration schemes, is given in Section 12.8.
Page 4.46
D3PLOT
4.3.4.3 ENVELOPE...
Envelope plotting can be used to plot either the minimum, maximum or the absolute maximum data values within a range of states. In addition to plotting the minimum or maximum values the times of the states that the values occurred at can also be plotted. If envelope plotting is turned on for an element based data component (i.e strain) then element averaging is automatically turned off (see Section 4.3.4.6). When envelope plotting is turned on Line Contours (see Section 4.3.4.8) are only available for node based data components (i.e velocity). Envelope plotting may also be used with the WRITE option (see Section 6.7) but it is not available during ANIMATION (see Section 4.5.1) or when the REFERENCE_STATE option (see Section 6.3.5.1) is being used. Note: At present ENVELOPE plotting only functions in 2D mode. Users running in 3D under OpenGL will be temporarily swapped back to 2D mode for the duration of an envelope plotting operation.
Clipping ignored
Notes on data averaging: Note Averaging of element data at nodes for contouring only takes place for element derived data, eg stresses. 1: Where the data being plotted is nodally derived, eg velocity, then averaging is not used and the settings above have no effect. Page 4.47
D3PLOT
Note Averaging has an effect beyond plotting: it can also influence how element-derived scalar data is computed at 2: nodes for WRITE and XY_DATA output. Note Averaging never takes place over dissimilar element types. For example where a node is common to both a 3: solid and a shell data at the node is computed separately for the "parent" element types, even if the data component type is valid for both types. Note Averaging is applied if requested, even if it might not be sensible to do so: this can be an issue when 4: directional components are plotted in element local systems. For example if LOCAL X_DIRECT_STRESS is used where two shells meet at a right angle (ie a flange meets a web) you may be averaging stresses in directions that are 90 degrees apart. Note A related error is to average across shells, using top or bottom surface data, when adjacent shells have inverted 5: surfaces; ie their outward normals (local Z axes) point in opposite directions. This is usually the result of a meshing error, and it can produce strange contours. (To check outward normals turn on the element local triads with DISPLAY_OPTIONS, LOCAL_TRIAD; or do a continuous-tone (CT) plot of the element outward normals using (geometric) component ON_OUTWARD_NORMAL.
The element local system is computed from its topology. A four noded element is shown here, for a 3 noded element Z is normal to the (flat) plane N1N2N3.
A cylindrical system is only suitable for elements that do genuinely lie in the plane of a cylindrical wall. The Y vector is perpendicular to the Z axis through the element centre.
Page 4.48
D3PLOT
Element local axes are calculated as follows: [X] (approx) [Z] (outward normal) [Y] [X] (warping correction) From vector N1N2 From cross product N1N3 x N2N4 From cross product [Z] x [X] From cross product [Y] x [Z]
Let [U] be the vector from the cylinder origin to the element centre, then axes are calculated as follows: [X] (hoop) from cross product [U] x [Long axis] [Y] (radial) from cross product [Long axis] x [X] [Z] is the same as the [Long axis]
Page 4.49
D3PLOT
4.3.4.7 MAX & MIN Displaying max and min values on plots
D3PLOT can calculate the maximum and minimum <n> values on the current plot, and display it at the top of the graphics window. Element-derived data components show element values, and nodally-derived ones show nodes. Not computed Shown on data plots Shown on all plots No max/min values computed or displayed Max/min values are computed, but only displayed on data bearing plots (CT, SI, etc) Max/min values are shown on all plot types. For non data-bearing ones the values shown are those of the currently selected data component. By default only 1 of each max and min is shown. You can choose any number, but space on the plot is limited and a practical limit is about 30 pairs of values. Very large numbers will also take longer to compute and store. By default both values are listed on the plot, and the relevant elements/nodes are labelled to identify them along with the values. All are switchable.
List/label options
Export to XY Data This option will calculate the max and min values for all states in the analysis, and export them as (x,y) data to the XY_DATA tool for graphical plotting. The actual results sent depend on the settings below: This frame only. All frame items. Envelope Generates curves only for the <n> items that are the max and min in this frame. This will result in <2n> curves. Generates curves for the <n> items that are the max/min in each state. This can result in up to 2 x #states x <n> curves if the max/min items in each state are different. This produces only two curves, a maximum and an minimum. The X axis is state time, and the Y axis is the actual max/min value at each state regardless of the actual element/node it comes from.
Export to WRITE This option is similar to Export to XY Data, except that it builds the list of elements/nodes based on the options selected, and exports them to the WRITE tool for numerical output at the current time.
Page 4.50
D3PLOT
Display on Data-bearing plots: Draw all normally Draw max/min and rest wireframe Draw max/min only Normal plotting with no restrictions The max and min <n> items are drawn in the current plotting mode, and the rest in wireframe mode Only the <n> max/min items are drawn in the current plotting mode.
LC (LC_LINE_CONTOURS) A line-contour plot draws lines of constant value across elements. In this example the lines have been labelled with their contour band numbers: this is optional, and controllable using the CONTOUR command. Note that the contour values, and hence the lines, lie in the middle of the equivalent solid bands above. By default LC mode plots are drawn as lines on a hidden-line element mesh, but "mixed-mode" plotting allows them to be superimposed on shaded or wireframe meshes too. See the PROPS box in Section 4.3.2.4.
Page 4.51
D3PLOT SI (SHADED_IMAGE) This is similar to a continuous-tone plot, but lighting is included to give more impression of shape. The LIGHT command, see Section 4.3.3, controls the lighting aspects of the plot; and there are special options in CONTOUR, see Section 4.4, to control the contouring aspects. Two options are provided:
Solid Draws solid contour bands, exactly as in a CT plot, except that lighting is added. Bands (Default) Fuzzy bands Draws smoothly varied colours, gouraud shading, with lighting. (This was the standard SI mode prior to release 9.2)
VEL (VELOCITY_PLOT) A velocity plot draws arrows showing the direction and magnitude of nodal velocities. Arrow length is proportional to velocity magnitude, and arrow colour is also based on magnitude using the normal contour band colours and bands. Both of these attributes are set with the CONTOUR command - see Section 4.4.
Vector plotting can select any of Displacement, Velocity and Acceleration; the default being velocity. If user-defined vector components for nodes have been defined they are also eligible for plotting in this mode.
Page 4.52
D3PLOT
Like LC mode plots VELocity plots are drawn on a hidden-line mesh by default. However mixed-mode plotting means that the underlying mesh may be rendered in shaded and/or wireframe modes - see the PROPS box in Section 4.3.2.4. ISO ISO surface plots draws surfaces at constant values, with lighting added. In 3D elements, as shown here, the contours will show surfaces of constant value through the body of the solid mass. In 2D elements the effect is the same as a Line Contour plot, drawing lines of constant value. Note that ISO plots of large solid meshes can be many times slower than, for example, SI plots of the outer surface. This is due to the "cube /square" law: an ISO plot has to consider all elements inside the mesh, whereas an SI plot need only consider external elements. CL (CLOUD_PLOT) A cloud plot produces points displaying the value of the selected data component at each node. These can been drawn as a fixed size of the users choice or proportionally to their value. This property can be set with the CONTOUR command - see Section 4.4. CL plots are a far "cheaper" way of seeing what is going on inside large solid meshes than ISO plots (or cut sections). This is because they dont have to worry about data averaging or complicated graphics, making them much faster to process. In addition drawing "blobs" is fast in hardware, making this a quick method of displaying data from very large models. Two data computation options are provided for element-derived data displayed in CLoud plots: Element centre (default) Averaged at nodes Raw (unaveraged) element values are displayed at the element centre locations Element values are averaged at nodes, and displayed at the node locations
In the nodally averaged case the results shown are equivalent to those seen in low resolution contouring, which has the effect of "smearing out" the peak and trough values at element centres. Nodally-derived data is always plotted unconditionally at nodal locations and, by definition, is not averaged in any way. This section has described the commands in the 2D/3D Solids and Shells plotting mode panel. But you should be aware that there are further commands that can influence the appearance of all plots located in the top menu box: Display_options, Label, Entity, Blank, Volume_Clip These are described in Sections 6.1 et seq. Click here for the next section Page 4.53
D3PLOT
4.3.5.2 INTG_POINT...
Selecting the integration point for results from "integrated" (Hughes-Liu etc) beams. The "extra" INTEGRATED results for these beam types only are written at the specified integration points. Only one can be plotted at a time, and this is selected here. (This is analagous to defining the integration point for output of shell data.)
4.3.5.3 ENVELOPE...
Envelope plotting for beams works in exactly the same way as for other element classes. The selection of states, data components and so on are identical. (See Section 4.3.4.4.)
Page 4.54
D3PLOT
Page 4.55
D3PLOT
PROJECTION Using "local" or "screen" projection for diagram plots. By default those data components which imply a local direction (ie shear and bending in/about beam local Y and Z axes) are drawn in "diagram" plots projected onto their "local" plane. For example in the left hand side of the figure above the bending moment Mzz is shown projected onto the plane of beam local XY. (The beam local axes have been turned on for clarity.) This gives a visual indication of the direction and sign of the component.
You can choose instead to project results onto the "screen" plane, as shown in the right hand side of the figure above. This draws results in the plane of the screen regardless of the beams orientation. This mode of display is used unconditionally for components that do not have an implicit direction (eg axial force, torsion, etc) DIAGRAM SIZE Setting the visual scale of diagram plots. The size of diagram plots is set by default such that the largest vector is about 500 screen units. You can change this at will: the figure above shows typical settings.
Page 4.56
User manual Version 11.0, March 2013 HATCHING Setting the density of diagram plot hatching
D3PLOT
LABEL_VALUES Labelling values on diagram plots. The left hand figure above shows the default hatching density: at roughly every 100 screen space units. On the right the hatching density has been increased by reducing its spacing to every 30 units.
Note: A "solid" diagram plot appearance can be achieved by reducing the hatching spacing to typically 10 units or below. The actual value will depend on the screen window size and device resolution. It requires a lot of screen vectors to achieve this effect, so dont use it where display speed or storage space are critical: eg during animation. The right hand figure above also shows the effect of turning on the LABEL_VALUES switch: values at beam end points are shown. This option is only useful when there are relatively few beams on the display, with a lot of beams being labelled the screen will become a mass of numbers. (The LABEL option, using "dynamic" labelling of beams with the DATA_VALUE switch on, provides a more selective way of drawing element data values on the screen.) REVERSE_END_2 Sign convention used for beam plot display. The convention when drawing bending moment diagrams is to plot the diagram on the tensile side of the element. However the mathematics would suggest otherwise: In the example used here (encastre beam, point load) the moments at the two ends of this beam are clockwise (+ve) and anti-clockwise (-ve) respectively, so at one end a +ve value must be drawn on the tensile side but at the other end a -ve value. Hence the need to reverse the sign of the "end 2" value for plotting purposes only. The author has never seen plots drawn without this reversal but, for completeness, the ability to produce them is provided with the REVERSE_END_2 switch: turn it off to see mathematically "pure" plots.
Page 4.57
D3PLOT
Various data output options exist depending on material type, beam formulation, number of integration points and user-defined settings. Unfortunately the output files do not contain enough information to allow beam results to be diagnosed unambiguously, so WARNINGS provides on-line guidance. You should also read Section 12.10 which describes beam output.
Page 4.58
D3PLOT
When the OPACITY_SWITCH is turned off the overlying structure is no longer opaque, (ie it becomes transparent), and the results in the beams obscured above become visible.
By default the OPACITY_SWITCH is off, ie beams which should not be visible are indeed obscured by the overlying structure. It can be turned on/off at will. Note: The OPACITY_SWITCH affects both beam and contact surface data plotting modes (the same switch in both contexts). It has no effect in other contexts, or upon plotting modes that do not display data.
Page 4.59
D3PLOT
CT (CONTINUOUS_TONE) This CT continuous-tone plot shows exactly the same results as in the diagram plot above. Now the results are drawn as thick blocks of colour on the beam centreline. This can give less cluttered plots, but no visual indication of the data or beam orientation is possible.
Page 4.60
D3PLOT
4.3.6 Contact Surface Plots Plotting results on contact surface (interface) segments
Visually contact surface segments have the same attributes as thin shells, and data may be contoured on them in the same way. To distinguish between the two element types contact segments in D3PLOT are hatched by default. This contact surface plotting mode must be used to display contact stress and force on segments. The distinction between this and normal 2D/3D element plotting is made to prevent confusion between the two element types. Note: If you have not read in a .CTF file D3PLOT will not show any contact segments as being present. The following data components may be plotted: The STRESS... and FORCE... categories are described in more detail in Section 12.11. The GEOMETRIC... category allows segment outward normals to be plotted.
Contact surfaces generate penalty forces at nodes, which are converted to "stresses" in LS-DYNA by dividing contact force by segment area. Strictly this is "contact pressure", rather than "stress", and you should not expect these values to be the same as the (genuine) stresses in the underlying elements. The contact surface results are a sanpshot at a particular time. As contact forces are particularly noisy, there may be a degree of randomness to the data plotted. The OPACITY switch contols structure transparency, allowing the contact forces to be seen through the structure.
Page 4.61
D3PLOT LC (LINE_CONTOURS) As with continuous-tone plots a Line-Contour plot of contact surface data is identical in concept to that of 2D/3D data. (This is the same model as above, but with #contour levels increased to 13, cross-hatching turned off for clarity, and the scale increased to show detail.)
SI (SHADED_IMAGE) The shaded-image plotting mode is identical in concept to that used for 2D/3D elements: 21 solid contours with lighting taken into account.
Page 4.62
User manual Version 11.0, March 2013 VEC (VECTOR_PLOT) Vector plots draw arrows of force at nodes on contact surfaces. Length is proportional to data magnitude, and colour is assigned using the current contour bar colours. (This example shows two spot-welded plates being pulled apart. The nodes in the hatched area form a welded contact-surface.)
D3PLOT
This section has described contact surface data plotting, and the (graphical) similarities with solid and shell (2D/3D) plotting in Section 4.3.4 will be apparent. As with that plotting mode there are further commands which influence the appearance of plots: Display_options, Label, Entity, Blank, Volume_Clip These are described in Sections 6.1 et seq. Click here for the next section
Page 4.63
D3PLOT
Page 4.64
D3PLOT
4.3.7.3 LENGTH, COLOUR, SYMBOL Setting principal stress/strain vector plot attributes.
LENGTH/WIDTH: Setting vector length. By default vector symbols are scaled by the data magnitude. LENGTH sets the maximum symbol length in model space units. To make it easier to see the vector symbols on some displays the . WIDTH of the lines used to draw the symbols can be increased. By deafult a line thinkness of 1 pixel is used. The FIXED option can be used to make all the vector symbols the same size regardless of the data magnitude. If this option is set then the colour of the vector symbols still represenst the data magnitude. COLOUR: Setting vector colour By default vectors are coloured using "contour" bands based on their data magnitude. This is the DATA option. You can choose instead to use colour to distinguish between the components of multi-valued plots, the FIXED option. SYMBOL: Vector symbol types By default the vector symbols have a HIERarchy: arrowhead for largest, inverted arrowhead for smallest, plain bar for middle. You can choose to have plain LINES instead if you wish.
Page 4.65
D3PLOT
As the process of opening and scanning the contents of large LSDA files can be very slow on network disks D3PLOT uses a separate thread for opening the LSDA file. While the file is still being opened and scanned the OTHER button will remain greyed out but the rest of the menus in D3PLOT will still be available. When the thread has finished opening the file the message Finished Opening LSDA file <filename> will be displayed in the Dialogue window and the OTHER button will turn blue and become active.
The list of data components that are available for all of these entity types (except Load Paths) is controlled by the file d3plot.componets in the installation directory. If in future releases of LS-DYNA new data components are added for these entity types then Oasys Ltd will issue a new d3plot.components file to make these components available. At present the following data components are supported. Page 4.66
D3PLOT
Spotwelds
Normal Force Shear Force Failure Force Failure Time Torsional Force Length DC Failure Function DC Normal Failure DC Shear Failure DC Bending Failure DC Area Requires DCFAIL file Requires DCFAIL file Requires DCFAIL file Requires DCFAIL file Requires DCFAIL file
SPCs
Springs/Dampers Force (translational springs and dampers) Elongation (translational springs and dampers) Moment (rotational springs and dampers) Rotation (rotational springs and dampers) Seatbelts Seatbelt force Seatbelt length Slipring pull through Retractor force Retractor pull out Cross Sections X, Y, Z forces Resultant force X, Y and Z moments Resultant moment Area
Page 4.67
D3PLOT
4.3.8.2.1 SPCs
This option controls the size of the symbols used to draw and contour SPCs. SPCs are contoured as a single colours square on the nodes they are located at. Only the nodes with an SPC on are contoured so it is easy to see which nodes have an SPC with zero force and which nodes dont have an SPC. Fixed Size Prop to magnitude All of the SPC symbols are drawn using the same size This option can be used to automatically scale the size of the SPC symbols in proportion to the magnitude of the data value. This specified the minimum size used when scaling SPC symbols in proportion to the magnitude of the data value.
Min (pixels)
Max (pixels) This specified the maximum size used when scaling SPC symbols in proportion to the magnitude of the data value. These options can be used to control the size of the arrows used when generating vector plots. Arrow Length This is the maximum length used to draw the arrows used for vector plots.
Line This option can be used to increase the Thickness width of the lines used to draw the arrows. Fixed Length By default the length of each arrow is scaled by the magnitude of the data value. If this option is selected then all the arrows will be drawn the same length and just the colour of the arrow will be used to indicate the value. This option can be useful if there is a large variation between values and the arrows for the smaller values are difficult to see.
When SPC forces / moments are contoured the rest of the structure is always drawn in greyscale with lighting.
Page 4.68
D3PLOT
4.3.8.2.2 Spotwelds
This option controls the size of the symbols used to draw some spotwelds. D3PLOT 9.4 can draw and contour 5 different types of spotweld Symbol Type V94 Symbols By default spotwelds are drawn using the symbol types that were introduced in version 9.4. where each type of spotweld has a different symbol as shown below. Spheres From version 10.0 onwards the default spotweld symbols can be replaced with spheres located at the center of each spotweld In addition to drawing each spotweld as a sphere the version 94 symbols can also be drawn in both wireframe and hidden line.
*CONSTRAINED_SPOTWELD
These are drawn and contoured as 2 diamonds connected together by a line. They are labeled as CWn
*CONSTRAINED_GENERALIZED_WELD_...
These are drawn and contoured as 2 diamonds connected together by a line. They are labeled as GWn
Page 4.69
D3PLOT
*MAT_SPOTWELD (beams)
These are drawn and contoured as 2 cubes connected together by a line. They are labeled as BWn
*MAT_SPOTWELD (solids)
These are drawn and contoured using the solid element that defined the spotweld. They are labeled as HWn
*DEFINE_HEX_SPOTWELD_ASSEMBLY
These are drawn and contoured using the solid elements that define the spotweld assembly. All of the solid elements are contoured using the same colour as the LSDA file contains a single value for each assembly. They are labeled as HAn
Spheres In some plots where the spotwelds lay between panels and can not be seen using the version 94 symbols swapping to spheres which protrude through the panels can allow the spotwelds to be seen.
Sphere Size To make it easier to view the spotweld locations the size of the spheres can be controlled using a number of different options.
Page 4.70
User manual Version 11.0, March 2013 Panel Gap x <factor> D3PLOT will calculate a panel gap based on the initial geometry of each weld. CONSTRAINED_SPOTWELD 0.5 x the distance between the 2 nodes
D3PLOT
CONSTRAINED_GENERALIZED_WELD_ 0.5 x the distance between the 2 nodes MAT_SPOTWELD (beams) MAT_SPOTWELD (solids) DEFINE_HEX_SPOTWELD_ASSEMBLY 0.5 x the distance between the 2 nodes 0.5 x the average of the distance between the 4 pairs of of nodes that make up the edges of the spotweld. 0.5 x the average of the distance between all of the pairs of nodes that make up the edges of the solids.
True Radius x <factor> This uses the radius of each spotweld. For each spotweld type D3PLOT will use the following for each radius. CONSTRAINED_SPOTWELD 0.5 x the distance between the 2 nodes
CONSTRAINED_GENERALIZED_WELD_ 0.5 x the distance between the 2 nodes MAT_SPOTWELD (beams) MAT_SPOTWELD (solids) 0.5 x beam cross section diameter If the weld was created as a PRIMER connection then 0.5 x the connection diameter will be used. If no connection data is available then D3PLOT will calculate a radius based on the solid geometry. D3PLOT will calculate a radius based on the solid elements geometry.
This uses the stipulated fixed radius size. This can sometimes be useful if some of the spotwelds are very small and can not easily be seen.
Scale symbols by If a Fixed radius is used then the fixed radius can be scaled according to the magnitude of value the data value when spotweld data components are contoured. Minimum size (%) If a Fixed radius is used then this option can be used to set a lower limit when the size is scaled by value. Version 94 symbols size This option can be used to scale the size of the version 9.4 symbols.
Page 4.71
D3PLOT Show Failure Time This option will automatically annotate any spotwelds that fail during the analysis with the failure time. Only spotwelds with a failure time greater than 0.0 are displayed. The failure times displayed are taken from the last state in the LSDA (binout) file and are constant regardless of the plot state time.
Dont display unfailed spotwelds To make it easier to identify the spotwelds that fail this option can be used to automatically turn off the display of any spotwelds that do not fail during the analysis As with the display of the failure time the information from the last state in the LSDA (binout) file is used to determine which spotwelds fail.
Spotweld Preference Options The following preference options cna be used to set the default options used to display spotwelds d3plot*swld_symbol d3plot*swld_quality d3plot*swld_radius d3plot*swld_panel_factor d3plot*swld_true_factor d3plot*swld_fixed_size Symbol for type for Spotwelds, either DEFAULT or SPHERE Quality of Spotweld sphere symbol (1-5) Display spotwelds using the PANEL gap, TRUE radius or a FIXED radius (PANEL, TRUE, FIXED) Factor to mulitple PANEL gap by when drawing spotwelds spheres Factor to mulitple TRUE radius by when drawing spotwelds spheres Default radius used when drawing spotwelds with a FIXED radius
Page 4.72
D3PLOT
4.3.8.2.3 Springs
By default springs are draw using "zig-zags". You can change these to Plain line style, in which they are drawn as simple lines. This saves vectors, reduces clutter, and can be useful during animation to improve speed and economise on memory usage. See Section 9.6 for more details.
Line Thickness (pixels): This options controls the thickness used to draw springs and seatbelts when they are contoured. If a If a model contains coincident springs with the same node numbering then the colour of the 1st spring that is drawn (the lowest ID) will be the one seen in the contour plot. If a spring translation data component is selected then any rotational springs will be drawn uncontoured in grey. If the component is a rotational component then any translational springs will be draw uncontoured.
Page 4.73
D3PLOT
4.3.8.2.4 X-Sections
From version 10.0 onwards of D3PLOT can draw the location of any *DATABASE_CROSS_SECTION definitions defined in the LS-DYNA model model (requires a ZTF file generated by PRIMER).
As well as drawing the location of cross sections D3PLOT can also contour force and moment results on them and generate force vector plots
Page 4.74
D3PLOT
These options can be used to control the size of the arrows used when generating vector plots. Arrow Length Line Thickness Fixed Length This is the maximum length used to draw the arrows used for vector plots. This option can be used to increase the width of the lines used to draw the arrows. By default the length of each arrow is scaled by the magnitude of the data value. If this option is selected then all the arrows will be drawn the same length and just the colour of the arrow will be used to indicate the value. This option can be useful if there is a large variation between values and the arrows for the smaller values are difficult to see.
Page 4.75
D3PLOT
Show Force Output Coordinate System By default the forces for a *DATABASE_CROSS_SECTION are written out using the global cartesian coordinate system but this can be modified by changing the parameters ID and ITYPE on the *DATABASE_CROSS_SECTION card.
Page 4.76
User manual Version 11.0, March 2013 This option can be used to display a triad at the cross section centroid which shows the coordinate system for force output. Using information from the ZTF file D3PLOT will update the triad if the local coordinate system is defined using either an accelerometer or a rigid body which moves during the analysis.
D3PLOT
Page 4.77
D3PLOT The loads can be plotted in either the local coordinate system defined by the line joining two *DATABASE_CROSS_SECTIONs or the global coordinate system.
These options can be used to control the size of the LOADPATHs used when generating plots. The local coordinate system of the each segment of the LOADPATH can also be shown. Diameter By default the diameter of each end of a LOADPATH segment is scaled based on the*DATABASE_CROSS_SECTION cross section area. Selecting the Fixed Radius option will set their diameters to the same size. If the Fixed Radius option has been selected then this option can be used to scale the diameters of each LOADPATH segment by its current data value. This will show the local coordinate systems of each LOADPATH segment.
Page 4.78
D3PLOT
4.4.1 LEVELS... Setting number of contour levels, their ranges, colours and number format
By default contouring is set to have: 6 levels Automatically computed values, scanned over all frames Colours from blue (low) to magenta (high) Automatic number format These default settings are shown right, the LEVELS sub-menu. You can modify these settings as follows:
Page 4.79
D3PLOT
4.4.1.1 Setting contour levels. (Automatic, Max_&_Min, User_Defined, Convert to Log Scale)
By default contour levels are AUTOMATIC over all frames. This means that the maximum and minimum values are computed prior to each plot, and the resulting bands spaced evenly between these. Automatic contour bands can be computed in two ways: Automatic mode Over all frames During a static plot Contour bands are automatically scaled to the max and min values in this plot only. (The same behaviour in both modes.) During an animation The "envelope" of max and min values of all frames making up the animation are calculated, then every frame of the animation is contoured using this same single range of values. So the contour bands and values are the same in every animation frame. The max and min values in each frame are computed separately, and each frame is auto-scaled to its own set of values. So the contour bands may change in each frame, and the effect is the same as a series of individually auto-scaled static plots.
In the figures above the contour levels have been set manually: the max and min values only are set in the left figure, user-defined levels for each band are set in the right figure. MAX_&_MIN levels have been selected, and the upper and lower values defined. The intermediate values are interpolated linearly and filled in for you, but you cannot change them.
Page 4.80
User manual Version 11.0, March 2013 The figure (right) shows the same panel set up for the plot in (b) above. USER_DEFined levels have been chosen, and all contour bands filled in. Every level has to be defined: note the uneven intervals.
D3PLOT
Hint:
Choose MAX_&_MIN first, fill in upper and lower-bound values, then switch to USER_ DEFINED. The interpolated intermediate values are remembered and may save typing.
CONVERT TO LOG SCALE will convert the current scale to a log scale. This works by taking the logs of the current min and max values and switching to a user defined contour ramp based on linear interpolation in log space. e.g. If the scale goes from 1 to 1000000, the log values will be 0 to 6, and interpolated values for 6 bands would be 10^0, 10^1, 10^2,... 10^6. Note that the min and max values must be positive to be able to convert it to a log scale.
The DISPLAY ALL EXPONENTS switch will put an exponent on each contour bar value rather than one exponent at the bottom of the bar that applies to all values. This is useful if the scale has been converted to a log scale so that the individual values can be shown with enough precision.
Page 4.81
User manual Version 11.0, March 2013 For each active window (Wn tab selected): The max and min values of all visible elements in all models is computed These become the max/min bounds for that window Changing what is displayed in that window will update these bounds Each window is independently calculated, regardless of the contents of other windows. During animation exactly the same rules apply, except that the "envelope" of values from all frames is used to calculate the max & min values. For each active window (Wn tab selected): The user-defined max and min values are applied to that window, regardless of contents.
Page 4.82
D3PLOT
It is important to understand the distinction between automatic contouring over animation frames, and automatic contouring at a given state.
Page 4.83
D3PLOT
Restricts the display to those items in the selected band, but does not alter the overall contour band limits. The effect is based on the centre value of elements, so if contouring is on (the default) you may see gradations of value outside the limits of the band chosen. To prevent this turn averaging off, or select a plotting mode (such as CLoud plots) which shows centre values only.
Scale to band
Resets contouring to max/min using the upper and lower values of the band chosen. Display is not limited to this range, so items outside the range will still be drawn. As Scale to band, but also sets limiting values to the original bands max/min, so only elements within the original band are shown. Resets contouring to Automatic (all states), and turns off limiting values if switched on by one of the options above. Resets contouring to Automatic (each states), and turns off limiting values if switched on by one of the options above. Is the equivalent of selecting Contour > Levels.
Limit to band
Reset to auto all states (middle mouse) Reset to auto each state Map contour panel
Restriction to a band is carried out using the Contours > Limiting Values function described in section 4.4.5. In effect the functions here set the upper and lower bounds, and turn on limiting. You can adjust these further by hand if you wish.
Page 4.84
D3PLOT
REVERSE Will reverse the current colour range for this number of levels.
Contour bands define the upper and lower values of each discrete band. For solid contoured plots (ie CT, SI) each band lies between these limits. For line contoured (LC) plots each line will lie at the mid-point of its band. Colour tables for contours are stored separately for each number of contour levels. So if you change colours for (say) 6 contour levels this will not affect colours for any other number of levels. During SI shaded-image plots the current number of contour levels is mapped onto 21 colour bands, interpolating linearly, regardless of the actual number of bands selected. This is to improve the colour resolution of plots. As a consequence colours are also interpolated within these 21 bands from the #levels set here. Thus defining more contour levels will give finer control over the colours used in shaded-image plots. Whichever way they are defined, contour bands must be in ascending, monotonic order. This is particularly significant for USER_DEFINED mode: you will not be permitted to create bands that have zero or negative intervals.
Note 4:
Page 4.85
D3PLOT
Note: Labelling is not necessary on colour devices, since line colour is sufficient to distinguish between contour levels, however on monochrome and greyscale devices it is needed to tell lines apart. Therefore if you are running on a monochrome display, or on any display with the laser switch on and the laser output set to be in GREYSCALE mode, line labelling will be applied regardless of the switch setting above. Click here for the next section
Page 4.86
D3PLOT
MEDIUM The value with the greatest magnitude at each node is found, then contour bands (or lines) are drawn linearly from edge to edge across elements. The element centre values are implicitly included since they will qualify as maxima at nodes: a safe overestimate. HIGH Data are averaged at nodes as before, but elements are then split into sub-areas using centre and mid-side values. This enables variations across elements to be seen, and peak centre values included. However it requires up to eight times as much computation, graphics storage and drawing effort as the other two modes.
The default mode is MED(ium) resolution since this is both "safe", (peak centre values are included, albeit smeared out to element vertices), and quick (computation, graphics data storage and drawing effort are small). To understand the effects of the three possible contour settings consider the following example: Two sheets are spot-welded together, and are then pulled apart.
The following plots (a - d) show the plastic bending strain in the top sheet as: Unaveraged LOW resolution MEDIUM res HIGH res
Page 4.87
D3PLOT (a)
(b)
Page 4.88
D3PLOT
(d)
Page 4.89
D3PLOT
This figure shows the ARROWS control panel. Length is entered in screen units, here 400 has been used.
Page 4.90
User manual Version 11.0, March 2013 This figure shows the control panel for the LIMITING_VALUES options. When the Limiting switch is off, (default), the other options in this panel are greyed out. Lowerbound value Upperbound value is the value below which data are not contoured. is the value above which data are not contoured.
D3PLOT
Action for defines what happens to excluded excluded elements, see below. You need to consider what action is to be taken with elements that are not contoured. There are three options, which it is convenient to take in reverse order.
The Auto bands range options determine how Limiting Values interact with automatic contour bands when limiting is active: Temp max + min Is used when the short cut "click on a contour band" option in section 4.4.1.2 has been used. This temporarily sets contouring to enforced max/min values, which conflicts with this mode, and should not be set manually. If automatic contour bands are in use then they will adjust themselves to the full range of data available, ignoring the lower and upperbound values set here. Therefore the contour band boundaries will not change as the upper and lowerbound values are changed here. Restricts automatic contour bands to the limits set here, changing as they change. Therefore whatever is drawn on the plot will exploit the full range of contour bands and colours available, making this suitable if you want the maximum colour and band discrimination for what is drawn.
The following three examples are a mould filling (fluids) analysis in which a plate comprised of solid elements is filled from below. They show the effects of the three Action for excluded options, in particular note how this affects the display of internal structure: This figure uses DRAW_IN_BLACK for elements that lie outside the limiting values. (Black is reproduced as white on a hardcopy as here.) Here we are plotting "void fraction", ie %age fullness of fluid, and only values in the range 0.8 to 1.0 (ie 80% full or more) are shown. It is clear that no internal structure is visible since elements on the outside faces, which are not full, obscure it.
Page 4.91
D3PLOT
This figure uses OUTLINE for elements that lie outside the limiting values. Only the outline of elements which are out of range is drawn, so that they do not obscure structure behind them. In this example free edge display ([DISPLAY_ OPTIONS] FREE_EDGE) has also been used to remove clutter of excess mesh.
Page 4.92
D3PLOT
This figure uses OMIT for elements that lie outside the limiting values. Now only those elements that are within the specified limits are drawn at all, those outside them are effectively blanked from the display.
Page 4.93
D3PLOT
The default state of the LIMITING_VALUES switch is off, so that none of these settings apply. When turned on it will apply to any data plotting mode, but clearly the OUTLINE and DRAW_ IN_BLACK options for excluded elements are only meaningful for 2D and 3D elements.
Page 4.94
User manual Version 11.0, March 2013 This figure shows an un-dithered shaded-image plot. Discrete contour bands are visible since they are drawn as polygons. This is much quicker to compute and draw than the dithered image below, and laser files are smaller, but the image quality is not so good. This is the default mode since it is quick.
D3PLOT
This figure shows the same model, but with dithering turned on. There are now no discrete contour bands, they have been blended smoothly into one another by the dithering process. But this image takes much longer to compute and draw, and any laser file will be much larger because a value is written at every pixel.
Page 4.95
D3PLOT Note 2:
Gouraud shaded SI images will often be generated faster than apparently simpler CT continuous-tone images on 3D devices. This is because fewer polygons are generated (gouraud shading only requires facet vertex, ie nodal, values). In addition 3D hardware is usually optimised to render smooth shaded and lit polygons quickly. Gouraud shaded images are also more economical of memory space than display modes that contain discrete sub-polygons of contour bands in elements. Again, this is because only nodal data values need be sent to the hardware (assuming low resolution contouring). For this reason gouraud shaded SI mode is often a good choice for building animations. If speed and memory space are at a premium the recommended settings would be: Gouraud shading on; Low resolution contouring; Either overlay off; or on, but with free-edge display also turn
Note 3:
Here is a simple cantilever of solid elements, loaded in bending, and plotted in CT mode.
Page 4.96
User manual Version 11.0, March 2013 And here is the same model, this time as a Cloud plot with variable symbol size:
D3PLOT
Page 4.97
D3PLOT
Here is the same cantilever as above, rendered as a default (opaque) ISO plot:
This is the same model using transparent "stippled" contours, with the lowest values (blue) rendered as opaque.
Page 4.98
User manual Version 11.0, March 2013 And here is the same image again, rendered using "Alpha blending". The quality of the transparency is much better although it would be slower to draw with a large model. However ...
D3PLOT
... using Alpha transparency does not always give the "right" answers. Here is the same image, this time with the high values opaque, and it is clear that the lower colours are not visible when they are behind the higher ones. This is because "Alpha blending" in the hardware is not, in itself, always a totally reliable way of producing realistic transparency because the results depend on the order in which facets are drawn. It may be necessary to revert to stippling, which will always give "correct" precedence of facets - albeit with a poorer spatial resolution - to get acceptable results.
Page 4.99
D3PLOT
Interpolated:
Simple:
Page 4.100
D3PLOT
Page 4.101
D3PLOT
4.5 Animation How to display, control, store and retrieve animation sequences.
In D3PLOT 8.0 there is no distinction between "static" and "animation" modes: a static plot can be thought of as a frozen slice of a dynamic animation sequence. Any conventional display mode can be animated at any time by pressing PLAY >, and halted again with STOP. Virtually all menu functions such as blanking, component change, and so on can be used while animating, as can dynamic viewing: it is not necessary to halt an animation in order to change the attributes of your image.
As well as the PLAY > and STOP controls in the State Display box the graphics window has a set of controls at its top left which can be used to control animation, and the state used for static display. The master slider in the State Display panel controls all graphics windows for which its Wn tabs are active. The slider and associated controls at the top of a graphics window control that window only.
Page 4.102
User manual Version 11.0, March 2013 STOPs the current animation. Starts animation (same as PLAY >) Jump straight to first or last frame Single step backwards (|<) and forwards (>|)
D3PLOT
The state slider allows you to scroll with the mouse to any state, and to slide dynamically through them. If an animation is playing using any of these controls (other than PLAY) will automatically stop it in order to execute the new commands.
Page 4.103
D3PLOT Custom animation definition You can select any permutation of states from the STATE LIST menu. (In this example states 7, 8, 11, 12 have been de-selected.) (DE-)SELECT_ALL SHOW_TIMES LIST_SELECTED BY_STATE... (De-)selects all states in the STATE LIST menu. Lists all available states in the database file. Lists more details about the currently selected states. Allows you to select states via <start> <increment> <end> syntax. (Convenient for models with very many states.)
Interpolating between states by defining time intervals. Note that this "custom" panel can only apply to one model at a time. When multiple models are present it will be restricted to the window(s) of a single model.
BY_TIME ...
Page 4.104
D3PLOT
Note that the "holding" operation in M2 is based on state number, not time. This "hold last state" logic applies whether the dissimilar models are in the same or different windows. (This is a change of behaviour in D3PLOT V92, in previous versions there was no synchronisation between windows, and models were only "held" if they were in the same window.)
What the "clock" in a graphics window shows with two or more models in a window.
Where there is only one model in a window then there is no ambiguity, and the clock at the bottom right shows the current states time. Where there are two or more models in a window then the clock shows: max (Time of M1, Time of M2, ...) If the times in the multiple models do not match within 0.1% then the clocks colour is inverted, typically black on white.
Page 4.105
D3PLOT Use ANIM > SET_STATES > Custom... to map the detailed state selection panel:
User manual Version 11.0, March 2013 Then truncate the number of states in all windows so that they all have the same number of states. In this example it has been limited to 12states.
You define <start time> <time interval> <end time> And D3PLOT will interpolate states as required to achieve the specified intervals. Interpolation is performed using a simple linear factor on the two "real" states that bound the required time. You can control animation on a per frame basis using the slider and associated controls at the top of the window, exactly as described in section 4.5.1 above.
Page 4.106
D3PLOT
Controlling the display (statically) "by state". To display the results (statically) at a "true" state while interpolating animations by time you need to revert to selecting the required state in the state control box. This does not change animation back to "by state" mode, it simply reverts temporarily to showing the image at the time selected. To revert to controlling animation by state, rather than by interpolated time, use any of the methods above to select states (eg ANIM > SET_STATES)
During interpolated animation by "time" the state box controls will always allow you to revert to showing a "true" state, not an interpolated one.
Interpolation of a low frequency curve In this case the green shaded areas show how the linearly interpolated results (red) underestimate the true values (black). Page 4.107
D3PLOT
Interpolation of a high frequency curve In this case, where the frequency of the curve is high relative to the sampling interval it is clear that linear interpolation (as well as the original points) will miss significant values.
Page 4.108
D3PLOT
Because you might choose a very large number of interpolated states D3PLOT does not store interpolated data for each frame, although interpolated coordinates are stored if space is available. Therefore there is a slight overhead as interpolated results are calculated "on the fly" during animation in these modes. Click here for the next section
Page 4.109
D3PLOT
VECTOR The data to redisplay each frame is stored in "vector" form in the D3PLOT (client) process itself. This is the default. PIXMAP 2D X-Windows only. Each image is stored as a "pixmap" in the X11 server, no animation data being stored in the client process.
OBJECT 3D OpenGL only. Each image is stored as graphical "objects" in the OpenGL server, no animation data being stored in the client process. Why so many different modes? The answer is the trade-off of replay speed vs. memory use, and the need to optimise this in some cases. For a small model this is not an issue, but as you start to approach the limits of your computer with larger models you may find that you need to alter the animation method, or even move to using two computers in client/server mode. The following table summarises this: Display mode DIRECT VECTOR PIXMAP OBJECT 2D X-windows 3D OpenGL Comments Speed: Slow Mem: Zero Speed: Fast Mem: Small Speed: Lightning Mem: Huge n/a Speed: Slow Use if memory is short and you can tolerate slow speed. Mem: Zero Speed: Best all-rounder, set as the programmes default. Medium Mem: Medium n/a 50+ frames/sec until you run out of memory, then dire! Runs well on remote server. Speed: Fast Mem: Huge Again fast until you run out of memory, then dire. Runs well on remote server.
When do I need to change my display mode? If you get warnings about running out of memory during animation you may need to switch to DIRECT mode. Because of the way the operating systems on computers work it may be necessary to exit and restart D3PLOT to clear memory usage, then switch to this mode before rebuilding animations. Advice is given on-line about this if memory usage warnings are issued. If the default mode (VECTOR) is not fast enough, and enough memory is available, you can switch to PIXMAP (X-Windows) or OBJECT (OpenGL) mode.
What is meant by "runs well on a remote server"? Under both X-Windows and OpenGL under X11 you are in fact using two processes: The "client" is the D3PLOT session itself, computing what is to be drawn. It passes these drawing requests to ... ... the "server", which is the process on the machine responsible for turning drawing requests into raster images on the display.
On a single machine the data transfer between the processes is fast - usually via shared memory - and OpenGL usage is generally direct from D3PLOT to the display card. However there are some obvious advantages to separating the tasks between two machines: the client process can use all its host machines resources to generate graphical requests, while the server can devote all its resources to displaying them. The disadvantage is that the data has to go down a piece of wire between the two machines, which may slow down data transfer. Therefore the best of all worlds is to store the graphics data in the server, whereupon the client only has to send a "draw this frame" request to render each frame of an animation.
Page 4.110
User manual Version 11.0, March 2013 Both PIXMAP and OBJECT display modes achieve this end in related, but different, ways.
D3PLOT
PIXMAP mode (2D X-Windows only) Is no slower to generate than VECTOR mode. Its replay rate can be phenomenally fast, (> 50 frames/second is common), and is independent of image complexity once the frames have been assembled. Smaller windows give faster replay rates and also use less memory. Memory requirements and replay rate depend on window size and visual depth. Memory required for each frame predictable: ([height x width x depth] bits / 8) bytes. If you run the server out of memory it will slow down drastically, and ultimately lock up or even crash. D3PLOT sets an initial limit of 32MBytes for Pixmap memory usage, but you can alter this limit, or choose to resize the window to fit within it. Being 2D any change to image content or viewing transform will require all frames to be rebuilt and re-transmitted to the server from scratch. OBJECT mode (3D OpenGL only):
Is no slower to compute in the client than VECTOR mode, but can take longer to draw during the first pass because of the overhead of building "objects" in the server. Is reasonably fast to redraw (usually about 1.5 - 2x VECTOR speed), but this is a function of the number and complexity of the objects that make up the image. Its memory requirements in the server are unquantifiable but large - typically up to 10 times that required for VECTOR mode. Since it cannot tell how much memory the server is using D3PLOT is unable to protect you from the ill-effects of excessive memory consumption there. Ultimately it may lock up or crash if driven completely out of memory. In 3D mode a viewing transform change imposes no speed penalty. All that is required is to send a new transformation matrix to the server. If the contents of an object change then only that object has to be re-computed and re-sent to the server. So the "cost" Page 4.111
Usually the memory consumption of OBJECT mode, and its less than phenomenal speed advantage over VECTOR mode, make its use impractical if both client and server processes are on the same machine. However if you have two machines available, or you are working from a remote host and want image transforms to be quick on your local machine, it is worth trying. Setting up a remote client/server connection: (This is only possible on machines running X11, ie Linux or Unix hosts) A description of how to display on a remote server is given in Sections 2.1 to 2.4, but briefly: Prior to running the Shell to invoke D3PLOT: On the client machine: On the server: Set the DISPLAY environment variable to point to <display>:0 on the server. (Eg setenv DISPLAY server_name:0 ) Make sure that windows can be opened by remote clients. (Under Unix the command is xhost + )
4.5.2.4 DELAY > Delaying playback speed to achieve an explicit number of frames/second.
By default an animation is replayed at the fastest speed that the computer can manage. Sometimes, especially in PIXMAP animation mode, this can be too fast and some frames get skipped. Alternatively if you are running multiple D3PLOT sessions, and you want animations to proceed simultaneously in several windows, you may find that you need to set an explicit display rate to stop one process "racing" ahead of the others. Therefore it is possible to specify how many frames per second are displayed using the preset definitions here, or by using the Custom... option to select any frame rate.
Page 4.112
D3PLOT
successive frames as an image is redrawn part way through a buffer swap and is thus made up of data from more than one frame. If this occurs then you should turn on "Wait for vertical refresh" on your graphics adapter. On Windows platforms this is usually achieved by <Right click on background>, Settings, Advanced, <graphics adapter name> and hunting through the options until you find the right setting. On Unix / Linux platforms it is more difficult, and you may need to consult your hardware supplier for help.
4.5.2.6 DATA_SCAN > How states are scanned to find max/min automatic contour levels during animation.
When you perform an animation of data with contours in "automatic" mode D3PLOT has to scan through all candidate states to find their max and min data values so that it can set the contour levels.
If you have a lot of states this can be slow, and in many cases you will know that your data values rise (or fall) monotonically, and that using values from the first and last states only will bound all possible values in between. Therefore you have a choice of: EVERY STATE FIRST/LAST This is the rigorous approach: every state is checked, and the true max and min values will be found. It can be slow if there are many states.
Only the first and last states selected for animation are scanned for their max and min values. This is the default. In order to protect you from missing peaks and troughs if, during the assembly of an animation, a data value outside the expected max/min values is found while in FIRST/LAST mode you will be warned and offered the chance to swap back to EVERY STATE. However if you do swap back it will be necessary to rebuild any frames that have already been computed in order to make them have contour bands representing the new max/min values.
Page 4.113
D3PLOT
VEL/VEC (VECTOR/ARROW) SH SI ISO CL Notes: (GREYSCALE SHADED) (SHADED_IMAGE) (ISO_SURFACE) (CLOUD) (1) (2) (3)
No wireframe hidden-line overlay. With hidden-line overlay. With gouraud shading is turned off. (See Section 4.4.7)
The differences between "cost" on 2D and 3D devices in the table above are because of the fact that in 2D the effort is put in initially when the images are computed, and redrawing speed is simply a function of the number of vectors. Whereas in 3D mode effort has to be expended every time a frame is rendered, although some functions are much faster because of the hardware assistance. For example HI hidden-line are the fastest display mode in 2D since they contain the fewest vectors, but relatively slower in 3D since each frame must be Z-buffered every time it is drawn. In contrast SI shaded image is slow in 2D since many contour bands (each costing a polygon) are used, but fast in 3D when hardware gouraud shading is used.
Page 4.114
D3PLOT
4.5.3.5 Under X-Windows use a smaller window, and a visual with fewer bit-planes.
Animation under X-Windows is achieved by writing the image to a "Pixmap" in memory, and then mapping it to the screen. Clearly this involves moving a lot of data: the product of screen width, screen height and screen depth. So reducing the window size will help, and indeed it is noticeable on most X displays how much animation speeds up as the window size is reduced. The "depth" of a screen is the number of bit-planes in the visual. Most X displays use an 8 bit-plane Pseudo or TrueColor visual, and there is no benefit to be gained from reducing this. But some high-performance displays may be set to a 24 bit-plane visual, which gives three times the depth resolution required by D3PLOT. (You will get this if you used X24 mode instead of X8 when you started the code - see Section 2.2) You can see what the depth of the screen is by looking at the text window from which D3PLOT was fired up, it will contain a message like: Acquired display: width = height = default #bit-planes = 1280 1024 8 (This example shows an 8 bit-plane visual)
If you are using a 24 bit-plane visual it may improve animation speed if you exit D3PLOT and restart it with an 8 bit-plane one. Use the X8 device.
Page 4.115
D3PLOT
4.5.5.1 ANIM >, SET_FRAMES Setting the number of frames that are to occupy 360 of the sine wave.
By default each 360 degree cycle of animation is split into 11 frames, which actually means 22 images, since the +ve and -ve cycles are symmetrical about their respective peak values. The SET_FRAMES command in the ANIM > popup menu (which replaces the SET_STATES command in this context) allows you to choose a different number. More frames will give a smoother but slower animation. The Custom... option permits any number of frames to be defined, and also defines the period for the sine wave. Normally the MAX->MIN option will be used, as this reflects the states internally to generate a 3600 animation from 1800 of frames. The MAX->MIN->MAX option is only required when generating files for an external viewer that is not capable of "reflecting" a 1800 sequence into a 3600 one. It looks stupid on the screen, but will duplicate the frames to produce a full 3600 sequence in the file.
Page 4.116
D3PLOT
4.5.5.2 The frames slider cycles through the 0 - 360 cycle of frames, not through states.
The frames slider, and other controls, cycle through the modeshape phase angle, not states. (See Section 4.5.1)
+ve/+ve factors, f = |cos(theta)| +ve/-ve factors, f = cos(theta) [Sx,Sy,Sz,Txy,Tyz,Tzx] stress tensor Everything not in the other two columns.Thickness [Ex,Ey,Ez,Exy,Eyz,Ezx] strain tensor Shell Area Shell force & moment resultants Volume [<outer fibre>] derived stresses Outward normal [X,Y,Z] displacements Basic [X,Y,Z] coordinates Current [X,Y,Z] coordinates Click here for the next section
Page 4.117
D3PLOT
The STATUS command has no sub-menus or arguments, it simply lists the current programme status. The following figure shows a typical listing:
The listing gives a cross-reference of the number of solid, beam, shell and thick-shell elements in each material; a summary of other entity types; a listing of each contact-surface, and the overall model dimensions. Lower down are also some key programme settings: blanking and volume-clipping switch status; the current in-core state number and time, etc. These are useful when D3PLOT is operating in command-line mode.
Page 4.118
D3PLOT
5 VIEWING CONTROL
Controlling all aspects of viewing in the "Viewing Control" box "Viewing" refers to the manipulation and presentation of images, rather than their actual generation. All viewing commands live in the "Viewing Control" box, located at the bottom right hand corner of the screen, and this section describes their use.
In the latter two cases the original drawing mode is always returned to at the end of the dynamic viewing operation. The wire-frame and free edge modes are provided to make transformations quicker for large models and/or slow computers: free edge is very fast. For the last case, with <left shift> & <left control> held down together, the order of pressing and releasing the meta-keys matters: press <left shift> before <left control>, and release in the opposite order, otherwise you will (correctly) get the image redrawn in wire-frame mode as the <left control> key is pressed and released.
Page 5.1
D3PLOT
If the mouse initial position is inside the central circle (radius (screen height/3)) then rotation is about screen XY axes. If the initial position is outside this circle then rotation will be about screen Z. You can tell which mode you are in by the cursor symbol. This is red, and: XY rotation uses [XY] Z rotation uses: [Z]
The relationship between mouse and image motion is intuitive in both modes. It is as if you had grabbed a point on the object near you, (this side of the object centre plane), and used this to move the image about its centre: XY mode Z mode Moving the mouse left/right rotates about the screen Y axis; Moving the mouse up/down rotates about the screen X axis. Moving the mouse in a circular direction rotates about the screen Z axis.
Rotation remains locked in its initial XY or Z mode for the duration of a dynamic viewing operation, regardless of where you subsequently move the cursor to, until you release a mouse or keyboard button.
The cursor symbol is yellow, and looks like: Translation always take place in the screen coordinate system, in the X and Y directions. The relationship between mouse and image motion is intuitive: the object tracks the mouse motion in the screen XY plane. The initial position of the mouse is irrelevant.
Page 5.2
D3PLOT
Mouse motion to the right and up makes the image larger, left and down smaller. The initial position of the mouse is irrelevant.
By default each scroll wheel "click" will change the magnification factor by +/- 5%, but this can be changed using the Options > Menu attributes panel, and altering the Zoom factor.
Page 5.3
D3PLOT
5.1.5 3D Mouse
From v11.0 onwards, dynamic viewing is also possible through the use of a 3D mouse. D3PLOT currently supports 3D mice produced by 3DConnexion. The 3D mouse is used in conjunction with a traditional mouse, by using one control to simultaneously pan, scale and rotate the model, while the traditional mouse is used for entity selection. Tilting or rotating the command cap of the 3D mouse will rotate the model around the geometric central point of the the visible entities. A rotation point can be manually set using "CN Centre node". Different models of 3D mice also contain buttons that can be used within Primer for various operations. You can assign functions, macros and javascripts to the buttons on a 3D mouse by using the shortcut panel. See section 3.8 for more information.
Page 5.4
D3PLOT
Save P <= and => Views <= and => Lock All Rev Ent
Command-line commands are also available (e.g.): RM 30 0 0 - rotate (about model x,y,z axes) 30 degrees about the X-axis. RS 30 0 0 - rotate (about screen x,y,z axes) 30 degrees about the X-axis.
Scaling mode
Page 5.5
D3PLOT
Page 5.6
D3PLOT
Using views D3PLOT always has a current "view" definition. This dictates how the image will appear when a drawing command is issued. You can save the current view to file at any time. Likewise you can retrieve a stored view to replace the current one at any time. The current view only exists in memory, and changing it has no influence on any views stored on file. (Indeed you dont need to have a stored view file: the default is none.) Commands STORE Stores current view both in memory and in a view file. Click on a green (unused) view and type a name. Up to 100 views can be stored in a file, and views can be overwritten at will. If no explicit file has been opened the default file plot.view is opened automatically and used.
Page 5.7
RENAME Rename a stored view DELETE You can delete any existing vies LIST FILE You can list information about stored views to screen Define a file name in which views are to be stored
Page 5.8
D3PLOT
There are three components in a "Locate target and eye" definition: Target position Eye position "Up" vector This is the coordinate in space at which the camera is pointing. This is the coordinate in space at which the camera (eye) is located This is the vector defining "which way is up". Panning the camera up and down would move it up and down this axis
The distance between the camera (eye) and target points is implicitly the current perspective distance, and this is reset when you Update the view. Perspective is switched on automatically if this is not already the case. Both target and eye positions may be defined explicitly as coordinates in space, or you may screen-pick a node and its coordinate will be extracted. By default D3PLOT tries to deduce the "Up" vector automatically, but you can override this by choosing a global vector, or by defining your own arbitrary vector.
Page 5.9
D3PLOT In this image the target point is the dummys nose, and eye point has been placed on the steering column just behind the wheel.
User manual Version 11.0, March 2013 In this image the target point is the same, but the perspective distance has been increased by a factor of three, effectively moving the eye point backwards out of the paper.
Photographers will recognise that the perspective distance is, quite literally, the distance between subject and camera, whereas the scale is the "zoom power" (or, more precisely, focal length) of the lens on the camera. Both images above show the dummy head at approximately the same scale, but the difference in perspective distance gives rise to very different images. If you are attempting to select viewing attributes to match an existing image you may find this quite difficult to achieve by hand since there are 11 independent variables to match in such an operation: Camera position (x,y,z coordinate = 3 variables) Subject position (ditto = 3 variables) "Up" vector (ditto = 3 variables) Scale (1 variable) Perspective distance (1 variable) The Match Image function below will calculate this for you when given at least four points on the image and structure to match.
Page 5.10
D3PLOT
Page 5.11
D3PLOT
To edit a point screen-pick either its node or point (or select it from the menu), then repick its node or point.
Page 5.12
D3PLOT
Page 5.13
D3PLOT
Page 5.14
D3PLOT
Page 5.15
D3PLOT
So 3D devices, especially those with hardware acceleration, give much faster graphics. However there are also drawbacks to using 3D graphics: more memory is required since the full scene has to be sent to the driver using [x,y,z] floating-point coordinates, and this can cause problems during animation when many frames have to be stored. In addition laser plots cannot be generated by the 3D driver, so the capability to switch temporarily back to 2D mode has to be preserved. Therefore there are options to control aspects of 3D graphics, and also the ability to switch back and forth between 3D and 2D modes.
Page 5.16
D3PLOT
5.4.2.1 Soft clip Clipping graphics outside the current screen window.
If you are dealing with a very large model, but are only looking at a small part of it, the 3D graphics driver can work unnecessarily slowly in its default mode of operation. This is because the whole model is sent to and manipulated by the graphics driver, despite the fact that you are only looking at a small part of it, in anticipation of your wanting to zoom out to see the whole of it. If you turn Soft Clip on, and redraw the image, the graphics will run faster. This is because the software has "clipped" (ie removed) those parts of the image not visible in the current window before sending it to the 3D graphics driver, so the 3D driver has to process fewer graphics entities. However this also means that if you zoom out those parts of the image outside the previous window will not be there. This is illustrated in the figures below.
In this example the user has zoomed in on the neck and upper chest region of a side-impact dummy (left hand image), and then zoomed out to what should show the full dummy. This exposes the jagged edges left by the 3D clipping algorithm. To see the missing elements you need to issue an explicit drawing command at the new scale to recalculate the clipping and send more elements to the 3D graphics driver.
Page 5.17
D3PLOT
The frustrum shown here assumes perspective projection. The Z clipping plane locations are shown when SHOW_PROJ is on, and this can be very helpful when using Z clipping, as otherwise it is easy to "lose" the clipping planes. The default near and far plane positions are drawn in green, and the plane locations in blue. So you can visualise movement relative to initial locations.
<right shift> + <right mouse> Moves the far clipping plane. <right shift> + <mid mouse> Moves the both clipping planes.
(Note that when the 3D options box is not mapped then the <right shift> and <right control> keys act exactly like their <left> equivalents, meaning that either side of the keyboard can be used for normal dynamic viewing.) In all cases moving the mouse up moves the plane(s) away from you, and down moves towards you. This is a form of dynamic viewing: the planes move and the image gets updated as the cursor moves. It is recommended that you turn the SHOW_PROJ switch, described above, on as this will enable you to see the planes moving in the projection box. To reset the planes to their default positions use the Reset Z clip NEAR and FAR buttons. This will reset them to their initial positions (shown by the blue lines in the projection box).
Page 5.18
D3PLOT
Saved properties were added in release 11 and they perform the following functions: All the attributes controlling the appearance of the plot are recorded whenever a property is saved using Save P. The attributes stored are: Colour, transparency, plotting mode and blanking status of all items in the selected model All settings in the Entity panel, ie visibility and labelling switches The current view parameters: scale, orientation, position, perspective.
Any number of properties can be saved in memory in D3PLOT, and you can scroll backwards and fowards through them using the <= and => buttons. The attributes reset whenever a saved property is made current are controllable, and notably the current view is not restored by default. Properties can be saved to file (extension .prp). This is an ASCII (human readable) file, written in a format that makes it portable between programmes, notably between Oasys D3PLOT and PRIMER, but others too if desired, making it possible to achieve the same image appearance in different programmes. Although the colour, transparency, display mode and blanking status are stored with respect to the items in the source model, reuse of the properties file is not limited to this model and it can be used to set properties on any model that shares similar contents and label ranges.
There is some overlap of capabilities between the ability to toggle between and save "Views", and the ability to include the current view in a saved property. This is an historical accident due to the way the software has developed, and the while saved properties always contain view information the default is not to apply this by default when a property is restored.
Once you click on it to save a property it will be updated to be SP i/j where i j is the current property number is the current total number of saved properties
You can still click on the renamed SP i/j to save further properties.
and
Once you have saved one or more properties you can use the <= and => buttons to cycle between them. Cycling left (<=) reduces the property number, and right (=>) increases it. It is possible to cycle backwards (left) to current property 0, which is explained below.
Page 5.19
D3PLOT
This panel lists the current saved properties status, in this example currently at state 2 of 2, and allows you to select a saved property state directly by number. Clear all saved properties deletes all saved properties in memory. Saved Attributes lets you control which components of a property are updated when you navigate to a saved property. All attributes are always saved, this controls what is updated when the property is restored. Blanking, Colour, Transparency and Plotting mode are all attributes of the items in a model. A saved property always contains all these attributes for all items in a model, regardless of whether or not they are currently visible. If items are added to the model after the property was saved their attributes will not be stored, since they werent known about at the time of saving, so they will not be updated when the property is restored. (See below for further notes on the effects of changing model contents.)
Page 5.20
D3PLOT
Entity and Label switches are the settings in the Entity panel and are model independent. A saved property contains the current status of all such switches for all possible item types, whether or not they are present in a given model. Viewing parameters are also model independent. The scale, orientation, location and perspective settings are stored. (This setting is not selected by default.)
Page 5.21
D3PLOT
A properties file contains the following blocks: Header name *PROPERTIES *PROP_MASKS *PROP_FAMILY Status Required Required Optional Description Defines the parameters of the following property state Describes the format of the data to follow Designates the family number of an adaptively meshed analysis. May be omitted for conventional analyses. Contains the actual property data for model items Contains information about "entity" panel settings Contains information about the current view settings Acts as an "end of property definition" marker Notes This sequence of blocks is repeated for each saved property.
The following two blocks are written in D3PLOT property files only and are not strictly "property" data. They are provided for backwards compatibility with the older style of properties file used prior to D3PLOT release 11. If present these two sections only occur once, at the end of the file. *EXTERNAL_DATA *MODEL_TRANSFORM Optional Optional Contains "external" data for "blob plots" as described in section 6.9.10 Contains "transformation" data as described in section 6.3.7 If present each of these sections appears once only.
Page 5.22
User manual Version 11.0, March 2013 For each saved property data blocks should appear in the following order: *PROPERTIES <code> <file version> <saved id> <title> <code> <file version> <saved id> <title> string integer integer string is the programme name, here D3PLOT is the version number of this file. This commences at 0 for release 11. is the saved property id, starting at 0 for "current". is an optional title. At present this will be ignored.
D3PLOT
This header block describes the basic parameters of the new saved property entry. *PROP_MASKS row 1: <keyword> row 2: <keyword> : : row n: <keyword> <keyword> <column> <mask> string integer integer
One of a known series of mask names. The column number on the line, starting at 1. Integer or hexadecimal value giving bits used.
The purpose of this block is to allow different programmes, which will almost certainly store information in different formats, to stipulate how they are presenting data, and also to specify how many columns (words) of data will be supplied in the *PROP_DATA block below. You dont need to understand this block unless you plan to generate property files yourself, or to read D3PLOT-generated property files into some other software. If this is the case please see "More about *PROP_MASKS" below. *PROP_FAMILY <family id> <family id> integer The adaptively meshed family number, starting at 0, for which the following *PROP_DATA information applies.
This header can be ignored except in the case of adaptively remeshed families which repeat the *PROP_FAMILY <family id> *PROP_DATA <data for family> sequence for each family in the analysis. This is becase each family can have different numbers of nodes and elements.
Page 5.23
D3PLOT
*PROP_DATA row 1: <item type> #n> row 2: <item type> #n> : : row n: <item type> #n> <item type> <start label> <end label> <word #1> <word #2> <word #n> string integer integer integer integer integer
<start label> <end label> <start label> <end label> : : <start label> <end label>
<word #1> <word #2> ... <word <word #1> <word #2> ... <word : : : <word #1> <word #2> ... <word
Item name, eg NODE, PART, etc The first label in the range, or FIRST or ALL The end label in the range, or LAST. Omitted if the start label is ALL. The first word of data, ie column 1 The second word of data, ie column 2 The last word of data, ie column n
The storage method here echoes the internal runlength-encoded format in which all items in the label range <start> ... <end> have the same property values. ALL is used instead of <start> .. <end> labels when all items of the type share the same attributes. FIRST is used in place of label <start> if this is the first item of its type, and LAST in place of label <end> if it is the last label. This is so that other models, perhaps with slightly different label ranges, will still apply the properties correctly. Data words #1 to #n must be supplied for every item even if they do not contain any useful data, in which case they can be zero. The number of words expected on each line, #n, is inferred from the highest <column> entry in the preceding *PROP_MASKS block. *PROP_SWITCHES row 1: <item type> row 2: <item type> : row n: <item type> <item type> <drawn> <labelled> <named> string integer integer integer
Item name, eg NODE, PART, etc Whether this item is drawn Whether this item is labelled Whether this item is named
This data block is optional: if omitted the "entity" panel settings will be left unchanged when the file is read. Each data field <drawn>, <labelled>, <named> is, at its simplest, 1 for true and 0 for false. However within D3PLOT some item types have sub-keywords, and further bits can be used to denote the individual status of these.
*PROP_VIEW Matrix row 1: Matrix row 2: Matrix row 3: Offsets: Scale: Perspective: <X/Y/Z cosine> <X/Y/Z trans>
<X cosine> <Y cosine> <X cosine> <Y cosine> <X cosine> <Y cosine> <X trans> <Y trans> <Scale factor> <On/off> <Distance>
The X/Y/Z components of the unit cosines for that matrix row The X/Y/Z component of the translations required to position the model in front of the eye position. The scale factor from model space to screen (4096 x 4096) space
Whether perspective is on (1) or off (0) The perspective distance (from eye position to model centre)
This data block is optional. If it is omitted the view will not be updated when the file is read.
Page 5.24
D3PLOT
*PROP_END (This block has no data) This block signifies the end of the current property definition.
Here is an example properties file from a small model. $ File J:\sled_model_binout\new_lg09_008.prp written at Wed Dec 07 15:12:34 2011 $ $ D3PLOT Version : 11 $ File Version : 6 $ $ *PROPERTIES $ $ Code File version D3PLOT 6 $ State id Title 0 $ $ *PROP_MASKS $ $ Attribute Word Bits $ --------------------------BLANKED 1 0x2000 $ MODE_MASK 2 0x3 BRIGHT_MASK 2 0x3c SHINE_MASK 2 0x3c0 OVLAY_MASK 2 0xc00 OVL_R_MASK 2 0x7000 OVL_G_MASK 2 0x38000 OVL_B_MASK 2 0x1c0000 OVL_CURRENT 2 0x200000 OVL_DEFAULT 2 0x400000 ENTITY_DEF 2 0x800000 $ ALPHA_MASK 3 0xff000000 RED_MASK 3 0xff GREEN_MASK 3 0xff00 BLUE_MASK 3 0xff0000 $ $ *PROP_FAMILY $ Family id 0 $ $ *PROP_DATA $ $ Type Label #1 Label #2 Word #1 Word #2 Word #3 $ -----------------------------------------------------------------------------------------$ NODE ALL 0 0x1ffeab 0xffffffff BEAM ALL 0 0x3c7eab 0xffff00ff SHELL FIRST 64 0 0x207eab 0xff0000ff SHELL 65 128 0 0x238eab 0xff00ff00 SHELL 129 256 0 0x3c0eab 0xffff0000 Page 5.25
D3PLOT
SHELL 9055 9056 0x307eab 0xff9900ff SHELL 9057 9058 0x22feab 0xff00bbff SHELL 9059 LAST 0x3f8eab 0xffffff00 SPRING FIRST 1 0x23dd37 0xff00ffa8 SPRING 2 2 0x378d37 0xffa8ff00 SPRING 3 3 0x3d8d37 0xffff7f00 SPRING 10000093 10000096 0x3f8d37 0xffffff00 SPRING 10000097 LAST 0x3c7d37 0xffff00ff SBELT FIRST 107 0x23fd37 0xff00ffff RETRACTOR 1 1 0x207d37 0xff0000ff SLIPRING 1 2 0x238d37 0xff00ff00 PRETENSIONER 1 LAST 0x3c0d37 0xffff0000 JOINT FIRST 14 0x207eab 0xff0000ff JOINT 15 LAST 0x3c0eab 0xffff0000 GLOBAL ALL 0xd37 0xffcdcdcd PART FIRST 1 0x207eab 0xff0000ff PART 2 2 0x238eab 0xff00ff00 PART 3 3 0x3c0eab 0xffff0000 PART 4 4 0x3f8eab 0xffffff00 PART 5 5 0x3c7eab 0xffff00ff PART 6 6 0x23feab 0xff00ffff PART 7 7 0x307eab 0xff9900ff PART 8 8 0x22feab 0xff00bbff PART 9 9 0x23deab 0xff00ffaa PART 2001 LAST 0x21feab 0xff0077ff $ $ *PROP_SWITCHES $ $ Entity type switches Drawn Labels Names $ ----------------------------------------------------$ NODE 0 0 0 BEAM 0x1 0 0 SHELL 0x1 0 0 SPRING 0x1 0 0 Belt_type 0x1e 0 0 JOINT 0 0 0 GLOBAL 0 0 0 PART 0 0 0 $ $ *PROP_VIEW $ $ Current viewing attributes $ -------------------------Page 5.26
User manual Version 11.0, March 2013 $ Matrix row 1: 9.845316E-001 1.740706E-001 1.997507E-002 Matrix row 2: -5.696383E-002 2.101849E-001 9.760019E-001 Matrix row 3: 1.656945E-001 -9.620420E-001 2.168492E-001 Offsets: -3.505000E+002 -4.200000E+001 2.824991E+002 Scale: 2.318954E+000 Perspective: 0 4.503000E+003 $ $ *PROP_END $ $ $ $ *EXTERNAL_DATA $ External data 0 0 1 1 20 20 20 0 0 0 1 0.000000e+000 0.000000e+000 1.000000e+000 1.000000e+000 1.000000e+000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 $ $ *MODEL_TRANSFORM $ 0 0.000000e+000 0.000000e+000 0.000000e+000 0 0 0.000000e+000 0 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0.000000e+000 0 0.000000e+000 0.000000e+000 0.000000e+000 $ $ End of file
D3PLOT
Therefore bright red, with no transparency, would comprise 100% Red, 0% Green, 0% Blue, 100% Alpha.
Example 1: External data contains each colour component as a separate floating point value in the range 0.0 to 100.0
In this case the easiest solution would be to express your colours as 4 separate values. These must be integers, and the Page 5.27
D3PLOT
full bit field must imply 100%, so the easiest solution would be to convert the floating point range 0.0 to 100.0 into values in the range 0 to 255 by multiplying by 2.55 and writing the result as integers. The data masks you define might then be: RED_MASK GREEN_MASK BLUE_MASK ALPHA_MASK 1 2 3 4 255 255 255 255 Each colour channel is defined in a separate integer word Red = word #1, Green = word #2, Blue = word #3, Alpha = word #4 and lies in the range 0 - 255 And a typical property line to define some shells with labels 1 to 10 that are cyan (green + blue) and 50% transparent would then be Item name SHELL Start label 1 End label 10 Word 1: Red value 0 W2: Green value 255 W3: Blue value 255 W4: Alpha value 128 .. further columns ...
The choice of columns 1 to 4 for the RGBA components is arbitrary, you could choose any columns you like.
Example 2: External data contains each colour component packed in a single 32 bit word
A more compact, and very common, way of storing RGBA data is to express each colour component in the range 0 255, which requires 8 bits or 1 byte, and to pack these four bytes into a single 32 bit word. Drawn as a diagram we could express the 32 bits in this word as: Highest byte: Alpha bits AAAAAAAA BBBBBBBB GGGGGGGG We can now define our colour masks, assuming that the colour word is in column #1, as RED_MASK GREEN_MASK BLUE_MASK ALPHA_MASK 1 1 1 1 0x000000ff 0x0000ff00 0x00ff0000 0xff000000 Blue bits Green bits Lowest byte: red bits RRRRRRRR
Hexadecimal (0x...) format has been used here, but the values could equally well - if less conveniently - be expressed in decimal. For example the Red mask 0x000000ff is the same as decimal 255, and it would be legal to use that instead. Using this format our 50% transparent cyan shells would now be defined more compactly as: Item name SHELL Start label 1 End label 10 Word 1: RGBA 0x80ffff00 .. further columns ...
Again hexadecimal has been used here, since the decimal equivalent would be an unwieldy negative number.
D3PLOT
The following are D3PLOT-specific and reflect its internal storage of colour. External programmes would not normally use these, and can ignore them. They are included here for completeness. OVL_CURRENT OVL_DEFAULT ENTITY_DEF Whether element overlay uses "current" colour or some other Whether element overlay uses the parent element colour Whether elements use their default parent colour
Page 5.29
D3PLOT
Page 5.30
D3PLOT
Attached Blank
Measure Properties
D3PLOT
T/HIS
Memory
Page 6.1
D3PLOT (b) Define a <list> of these entities After you have chosen an entity type you must define a <list> of entities to be processed This figure shows a typical panel displayed after a command. You can select a immediately by clicking on or dragging across visible entities. Other options are: Key in ALL ALL_VISIBLE To type in a range; To select all entities; All currently visible entities;
SCREEN Pick points defining a polygon within POLYGON which entities will be defined Or select entities on material(s) using the menu (here headed NODES ON).
Page 6.2
User manual Version 11.0, March 2013 ALL All eligible elements in area By default area picking of a mesh that contains solids or thick shells will include elements that are eligible for display, but which have not actually been drawn because they are interior to the mesh. You can think of this as all elements in the "tunnel" behind the screen area: blanking in this way will punch a clear hole right through the mesh as shown in this example.
D3PLOT
EXT Only Alternatively only those external elements which have actually elements been drawn, for a 3D mesh the EXTernal surface, will be selected: elements culled from the display because they are internal are not selected. The effect of a pick in this mode is like peeling an onion: only the outer layer is removed in each selection pass. Contrast this example with the image above: only the outer layer of solids has been removed.
Page 6.3
D3PLOT a TO b (STEP c) 1 TO 100, All in context ALL or * Range limits FIRST and LAST -20 TO 40 STEP 4,
All of these input types above may be mixed at will on a single line. Continuation lines, using \, may be used in the same way as for command words. You can mix screen-menu and command-line input at will. Next section.
Page 6.4
D3PLOT
You can cut down what is displayed by "blanking" nodes and elements. (Unlike ENTITY display control blanking is selective: you can blank and unblank individual elements.) Each node and element in your model has an internal blanking flag, which is initially set to off (ie the entity is visible). You can turn this flag on by blanking that entity, and in subsequent plots it will not be drawn until unblanked again.
OFF Turns blanking OFF so that all items are drawn even if they have been blanked. This option does not reset the blanking status of items so that when blanking is turned ON again items that were previously blanked are still blanked.
Page 6.5
D3PLOT
User manual Version 11.0, March 2013 These options can be used to modify the blanking status of a complete category of elements. In addition these option can also be used to BLANK / REVERSE / UNBLANK the whole model.
Pick items individually to be blanked / unblanked, (see below for more details) Pick items by area to be blanked / unblanked (see below for more details) Type in the ID of items to be blanked/unblanked Redraw the image Lists the blanking status of all items With this option selected any item that shares a node with an item that is picked is also blanked or unblanked along with that item The UPDATE LEVEL controls whether items are blanked dynamically. If the UPDATE LEVEL is set to 3 then dynamic blanking is turned on.
Left Mouse
Pick an item
Middle Mouse Reject the last item selected (Update Level 1 & 2) Right Mouse Other Options : REJECT ALL VISIBLE QUIT TOLERANCE BLANK UNBLANK APPLY UPDATE PLOT Reject the last item selected (Update Level 1 & 2) Select all items currently visible on the screen. Items outside the curtrent screen area are not selected. Quit without blanking/unblanking selected items (Update Level 1 & 2) Define a screen tolerance for picking items. Items that are selected are blanked Items that are selected are unblanked Blank / Unblank selected items (Update Level 1 & 2) and then return to the main BLANK menu (Update Level 1,2 & 3) Redraw the image with the currently selected items blanked / unblanked. Deselect an item (Update Level 1 & 2)
Page 6.6
D3PLOT
Define a rectangle and select items within it. Same as Left Mouse Define a rectangle and deselect items within it. (Update Level 1 & 2)
Other Options : REJECT QUIT BLANK UNBLANK APPLY UPDATE PLOT Reject the first point selected Quit without blanking/unblanking selected items (Update Level 1 & 2) Items that are selected are blanked Items that are selected are unblanked Blank / Unblank selected items (Update Level 1 & 2) and then return to the main BLANK menu (Update Level 1,2 & 3) Redraw the image with the currently selected items blanked / unblanked.
Return to the main BLANK menu. Items that are selected are blanked Items that are selected are unblanked Blank / Unblank selected items (Update Level 1 & 2) and then return to the main BLANK menu (Update Level 1,2 & 3) Redraw the image with the currently selected items blanked / unblanked
Page 6.7
D3PLOT
2 (MEDIUM)
3 Immediate update. Every time you (FREQUENT) (un-)blank something the display will be redrawn immediately to show the effect of the change. Very large models on slow displays may become cumbersome if this is used. It is recommended that you keep the default UPDATE LEVEL of 2, and use the UPDATE PLOT button explicitly to see the effect of changes. (The "Quick Pick" blanking option provides "instant" blanking, and is a better way of achieving this behaviour.)
Page 6.8
User manual Version 11.0, March 2013 RED The whole of the item is blanked.
D3PLOT
GREEN The whole of the item is unblanked. BLUE Some of the item is blanked. If a BLUE menu entry is clicked on the item will be completely blanked. Clicking on the menu entry a second time will then completely unblank the item - it is not possible to return to the partially blanked state. If an option other than PARTS is selected then the list is automatically updated to list the appropriate items. To reduce the number of generic entity types the SEATBELT and SURFACE buttons are linked to popups containing related entity types. If DYNAMIC blanking is active then items are blanked / unblanked as they are selected in the list. If DYNAMIC blanking is not active the menu will be updated as items are selected but the image will not be updated until either the view is changed (rotated, zoomed etc) or the image is explicitly redrawn (HI, CT, SH etc).
Next section
Page 6.9
D3PLOT
6.2 VOLUME_CLIPPING
By default no volume clipping is in effect, and pressing the VOLUME CLIPPING button will give the main panel in its basic state, as shown in the figure (right).
Page 6.10
D3PLOT
Align the long (height) axis on one of the global X, Y or Z axes with the relevant button.
Page 6.11
D3PLOT
To reposition it press and hold: LEFT mouse button: MIDDLE mouse button RIGHT mouse button Translate in global X direction Translate in global Y direction Translate in global Z direction
Page 6.12
D3PLOT
6.2.3.1 BASIC
Clipping is based on undeformed nodal geometry. So the same elements are always visible regardless of their deformations or any changes of view.
6.2.3.2 DEFORMED
Clipping is based on the deformed nodal geometry at each state. So elements may pass in and out of the clipping volume as they move and deform.
Page 6.13
D3PLOT
6.2.3.3 SCREEN
lipping is tied to screen coordinate space. Thus rotation and scaling operations, as well as deformations, may move elements in and out of the volume
6.2.4.3 Location Plot Location plots showing 4 views of the current volume
This figure shows the image above, with the volume-clipping switch turned on, drawn as a "location" plot. The display mode used is that of the most recently issued drawing command. This draws 3 standard views (on XY, YZ and XZ), and also the current view in the bottom right quadrant. The GRATICULE (see DISPLAY_OPTIONS) is also turned on to give you numeric feedback.
Page 6.14
D3PLOT
6.2.5 SAVE/RETRIEVE Managing the storage and retrieval of clipping volumes on disk
There is only ever one "current" clipping volume definition, but up to 100 such definitions can be stored in an external "volume.clip" file, and any number of such files may exist. Volumes are model-independent and may be shared between dissimilar analyses
Page 6.15
This figure shows the storage and retrieval sub-menu. The four commands in the left hand column manipulate volumes as follows: STORE GET Stores the current volume definition in the file. Reads a stored definition which overwrites the current one.
RENAME Renames a stored definition. DELETE FILE... Deletes a stored definition. Lets you enter a new "volume.clip" filename: Any filename is permissable, but volume.clip is assumed, and the extension ".clip" is recommended (but not mandatory). Note that volume.clip files are binary, and are not normally transferrable between different machine types. Nor will you be able to read or edit them. However transfers between typical workstations (using IEEE format) will usually work OK.
Only GET affects the current definition, the other commands leave it unchanged. All storage and retrieval operations take place using the current "volume.clip" file. If such a file has not been opened explicitly a file called volume.clip is opened automatically (and an empty file of this name is created if it doesnt already exist.) You will note that volumes are stored with names as well as numbers. These are optional, but help when identifying which volumes does what. A maximum of 40 characters is permitted for each volume name.
Page 6.16
D3PLOT
Function affected by clipping Averaging of element data at nodes Calculation of free edges
6.7.2
Page 6.17
D3PLOT
This figure shows the generic DEFORM panel, which gives access to its functions.
Artificially separates parts by applying "explosion" vectors to them Allows scales other than 1.0 to be applied to graphical displacements. Subtracts the displacement at a node from that at all others, effectively "fixing" it in model space. Fixes three nodes, forming a local coordinate system, against which all displacements are drawn. Makes results relative to those at one or three nodes Makes results relative to a "reference" state in this or another model Apply translation, reflection, rotation and scale to a model as it is read in
DEFORM options apply at a mixture of "per window" and "per model" levels.
All the options will apply to the windows selected by the W1 .. Wn tabs, but wherever node labels are used the following rules apply: Node labels will be mapped onto all relevant models. If a node does not exist in a particular model then that feature will be disabled in that model. If you screen-pick nodes you have to say which model they are to be picked from, but once picked the "label" rules above apply. An exception is that the TRANSFORM option always works on a per-model basis.
Page 6.18
D3PLOT
This figure shows the basic "Explosion" control panel in its initial state. In this example no explosion vectors have been defined yet, as can be seen in the status feedback area.
You can use the definition methods above in any order: for example use AUTOMATIC to get an initial estimate, then Factor them, or modify them by hand. The vectors are only stored when you give the DONE command. The vectors you define will take effect the next time you issue a plotting command.
Page 6.19
D3PLOT
Then define a (non-zero!) Distance, or apply a %age factor to the existing value. When you have defined the centre of explosion correctly press APPLY, and you will be asked to define a <list> of parts to which to apply vectors. Vectors for each part will be calculated based on the distance from the part C.of.G to the centre defined here, factored in proportion to the Distance value. The vectors generated are not usually ideal, but they provide a good starting point from which they can be "tweaked" to give the required image.
Note 3:
Page 6.20
D3PLOT
The MAGNIFY_DISPLACEMENTS panel is shown in the figure (right). To enter factors type in [Fx,Fy,Fz], or use one of the pre-programmed factors (x5, x10, etc). The CANCEL button sets all factors back to the default of 1.0. The Factor on Curr slider applies the given factor to the current values - an easy way of setting any value. When you have defined the factors use DONE to return and apply them. Factors take effect the next time you update the plot, and stay in effect until changed again. Note 1: Note 2: Factors only apply to plots. They have no effect on written of X-Y data output, calculation of volumes etc, or contoured values of displacement. Magnified displacements may be used in conjunction with the other DEFORM options: see Note 3 in Section 6.3.1.4 for the order of operations.
Page 6.21
D3PLOT
This second figure shows what happens when a node in the dummys pelvis is fixed using FIX_NODE.
The FIX_NODE facility allows you to specify a node that remains fixed at its undeformed position, regardless of any displacements that may occur. This is implemented by finding the displacement vector of the node at each complete state, and subtracting that vector from the coordinates of every node in the model. In the example above one would fix a node on the sled, which would then appear to be fixed in space, and simply see dummy motion within it. (If a rotation as well as a translation is required you can use SHIFT_DEFORMED instead: see Section 6.3.4.) Page 6.22
User manual Version 11.0, March 2013 This figure shows the FIX_NODE control panel in its default state: no node is fixed. To fix a node PICK it, or type in its label. Once defined this mode can be switched on or off. FIX_NODE applies a model space offset to what is drawn: it is a translation of the model, updated for each state. (It is not the same as VIEW, CN (Centre on node) which is a purely graphical transformation that sets the viewing centre for rotations.)
D3PLOT
Note 1: Note 2:
FIX_NODE (which applies a translation) and SHIFT_DEFORMED (which applies both a rotation and a translation) are mutually exclusive: you can only have one or the other active at one time. The node used in FIX_NODE (which affects the graphical displacements) is the same as that used as a single REFERENCE_NODE (which affects the contoured and reported values). They may be used separately or together. FIX_NODE can be used at the same time as "explosion" vectors and magnified displacements: see Note 3 in Section 6.3.1.4 for the order of application.
Note 3:
6.3.4 SHIFT_DEFORMED Translating and rotating a model back to its undeformed position.
Sometimes it is useful to be able to move a deformed structure back to its undeformed position, for example to measure knock-back (crush) following an impact. In many cases this will involve applying a rotation as well as a translation, and the FIX_NODE option described in Section 6.3.3 (which only applies a translation) will not be adequate. Consider the following example: a ship hits a concrete caisson, punches a hole through it with some damage to its bow plates, and also pitches up as at tries to climb over the caisson. Measure the damage to the bow plates. The situation is shown in the figure below left, and in the figure below right the deformed and undeformed shapes of the ship are shown. Clearly the rotation the ship has undergone makes it hard to measure the deformation
Page 6.23
D3PLOT
By using SHIFT_DEFORMED to pick three nodes that are representative of the rigid body motion of the ship, translation and rotation can be applied to bring the deformed geometry back to overlay the undeformed, making measurement possible: see the figures left and right below).
The SHIFT_DEFORMED panel is shown right. You can screen-PICK the nodes, or type them in directly. Once defined this mode can be switched on or off at will.
Choosing sensible nodes for SHIFT_DEFORMED. The three nodes you choose form a right handed coordinate system, so they must not be colinear (or become colinear due to displacements), and the order of their definition is significant: see the figure below.
Page 6.24
D3PLOT
The local coordinate system [X,Y,Z] is defined as shown here, and the inverse of this is applied to rotate the model back to its undeformed state. The displacement of node 1 is subtracted from all nodes in the model to bring it back to the undeformed position. (FIX_NODE applies this translation only, thus it is a subset of SHIFT_DEFORMED, which is why the two operations cannot be used at the same time.) You should try to choose three nodes whose relative position will not change too much as the model deforms, so that their motion is representative of the rigid body motion of the structure as a whole. And node 1, from which the rigid body translation if computed, is the most significant. For example in a frontal impact car crash analysis you should nodes at the back of the car. If your model has some rigid bodies then nodes on them would be ideal. Note 1: Note 2: Note 3: SHIFT_DEFORMED cannot be used at the same time as FIX_NODE, since the translations they apply would conflict. SHIFT_DEFORMED can be used in conjunction with "explosion" vectors and magnified displacements. The order of application is given in Note 3, Section 4.8.14. SHIFT_DEFORMED uses the same three nodes as those in REFERENCE_GEOMETRY. The difference is that shifting the model simply changes the graphics displayed, whereas reference geometry changes the data values contoured and output. They can be used in conjunction or separately.
The SAVE/RETRIEVE button allows multiple local coordinate system definitions to be saved, retrieved and deleted from a csys.loc file, written in the model directory. This means that local coordinate systems can be reloaded across different sessions of D3Plot without having to recreate them.
Page 6.25
D3PLOT Pressing the GET button brings up a list of available coordinate systems in both the csys.loc file and any *DEFINE_COORDINATE_NODES definitions in the ZTF file.
Page 6.26
D3PLOT
Displacements, Velocities and Accelerations are calculated with respect to the value at that node. For example if V is a velocity vector: VN = VN - V0 VN = modified velocity vector at node <n> VN = original velocity vector at node <n> V0 = current velocity vector at reference node <N0>. Three Nodes You pick three nodes <N1,N2,N3>. N1 is the origin, and the nodes form a right-handed coordinate as for SHIFT_DEFORMED above.
Displacements (only) are calculated with respect to this system such that for displacement vector D: DN = R . [DN - DO] DN = modified displacement vector at node <n> DN = original displacement vector at node <n> D0 = current displacement vector at reference node <N0> R = the rotation matrix to transform back to the selected coordinate system
Page 6.27
D3PLOT
Here is the "raw" image, showing that the sled is moving rapidly backwards.
REFERENCE_NODE now switched on. Here is the revised velocity plot now that the REFERENCE_NODE has been switched on. The velocities of the sled at node 9018 have been subtracted from all velocities, making those on the dummy effectively relative to the sled. (Should we wish to fix the sled in model space, and to draw the deformed shape of the dummy relative to that throughout an animation, we could also use FIXED_NODE. However the two operations are independent and do not have to be combined.)
Page 6.28
D3PLOT
SHIFT_DEFORMED turned on. This is the same model at the same state, but now SHIFT_DEFORMED has been switched on, and the model has been rotated back to the coordinate system formed by N1N2N3, translated back to origin at N1. Note that the rotation and translation are back to the undeformed locations of nodes N1 to N3. (This step is not necessary in order to calculate data relative to reference nodes, but it makes the example much clearer.)
Page 6.29
D3PLOT
Contours of X displacement now shown. This plot shows global X displacement, which is approximately along the length of the tube. However because both ends of the tube have rotated it is difficult to estimate the movement of the two ends relative to one another. We can see that it approximately 177.66 + 36.74 = 214.4, but this may not be good enough. In order to obtain a more accurate value it is necessary to express the displacements in terms of the coordinate system formed by N1N2N3. Remember: SHIFT_DEFORMED only affects the deformations drawn, it has no effect on the values that are contoured or written out. REFERENCE_NODES turned on, and contours of local Z displacement shown By switching on REFERENCE_NODES, and selecting output in the local system, we can now plot displacements in the local Z direction relative to the left hand end. It is now clear that the actual peak movement at end two is actually 227.23, somewhat higher than our estimate from the approximate global X plot above. This technique is very useful when calculating "knock-back" and "intrusion" displacements at particular locations in a model.
SHIFT_DEFORMED turned off, but REFERENCE_NODES left on. This plot demonstrates that while SHIFT_DEFORMED and REFERENCE_NODES are related, and share the same nodes, they can act independently. SHIFT_DEFORMED has been turned off, so the deformed shape is now the "true" shape, but the contours are still expressed in the local Z of the axis system defined by N1N2N3. This is a harder plot to understand, because the axis system of the plotted results is not that easy to discern.
Page 6.30
D3PLOT
WARNING: Since reference nodes can be defined on a "per-window" basis, but WRITE and XY_DATA are "per-model", there is a potential ambiguity if multiple windows on a model have been defined as having different reference nodes - which windows settings will be used for the written/graphical output? The answer is those of the most recently drawn window, which is not easy to determine reliably. Therefore if you are planning to use this option you are strongly advised: either: or: Only to have a single window open on the model If you have multiple windows open, to ensure that all of them have the same reference node settings.
Page 6.31
D3PLOT
This is the default case. You select a reference state in the current model, and results are plotted relative to this state. If you have multiple models in a window then each model will be plotted relative to itself. Data from the reference state are subtracted from those in the current state, and the results displayed. It is perfectly possible to choose a reference state later than the current one, and hence to get "negative" results, the computation is simply: <data>displayed = <data>
current
- <data>
reference
This is the more complex case of plotting data from this model relative to a state from a different model. If you have multiple models in a window each model in that window will be plotted relative to the reference model. The principle is exactly the same: the reference data is subtracted from the current, but mapping of reference model onto current is done as follows: Mapping is "by external label". The results from node label <i> in the reference are subtracted from those for node label <i> in the current model. And likewise for elements. No checking for geometrical or topological proximity takes place. No check is made that node <i> (or element <j>) in the two models are equivalent, or even remotely in the same place - either topologically or geometrically. If no equivalent label is found, zero is reported. If no matching node or element can be found in the reference model, then zero is reported as a result - regardless of the actual value in the current model. This means that models which are topologically nearly identical compare well, but areas which have been remeshed may give very misleading comparisons.
Page 6.32
D3PLOT
This is the default case, invariably used when plotting data relative to the current model. You simply select a valid state from the model, and this is used as the reference state. It is perfectly legal to select a fixed state from a different model too.
This meaningless if the reference model is the current model, since results will always be zero. But if plotting relative to a different reference model it is a powerful tool, especially during animations: For each state <i> the data from the equivalent state <i> in the reference model is subtracted. This means that you can see how the differences between two models vary over time. Obviously it is important to make sure that the states in the two models have the same times, as no check is made for time equivalence.
Whether or not reference geometry is used for the shape that is plotted on the screen. Note that "coordinates used for plotting" and the component "displacements" are kept separate, and can be controlled individually. These are the values contoured, vector plotted, written by the WRITE command and reported by XY_DATA. This is the display of undeformed geometry on the plot only (when drawn). Normally this will always display state #0, but if you turn this on the geometry of the reference state will be used instead.
Page 6.33
D3PLOT
Therefore, as in this example, negative von Mises stresses can be generated since, in some locations, the stress at an earlier state was in fact greater. (Incidentally this illustrates that the reference calculation is performed upon the scalar output of the data component computation, not upon its individual tensor components.)
Page 6.34
D3PLOT
Here is the same image, with the displacements in the reference model subtracted from the "true" ones above. The "current" state has been used in the reference model (M1), and this is reported on the plot.
Page 6.35
D3PLOT
It is not that easy to visualise the differences in shape from the contour plot above, since they are obscured by the gross deformations of the structure. So in this plot reference geometry has been used for the current (plotting) coordinates as well, showing the difference in displacement between the two models. Effectively this is the undeformed geometry + the difference in displacement between the two models.
Displacements have also been magnified by a factor of 2.5 using MAGNIFY_ DISPLACEMENTS to exaggerate them, making them clearer. REFERENCE STATE - Notes 1) If the reference state is set to state 0 then all values reported will be the absolute values. 2) If an analysis contains pre-stressed elements then state 1, not state 0, should be selected if values relative to the pre-stressed values are required. (State 1 is a genuine set of results at analysis time zero, state #0 is a synthesised set of zero values.) 3) The reference state option is not available for a model that includes adaptivity, see Section 4.2.5. 4) Using the reference state option will increase the amount of memory used by D3PLOT slightly, as two complete states have to be stored simultaneously. REFERENCE MODEL - Notes 1) Any model can be used as a reference model, but it should be reasonably similar to the original if sensible results are to be obtained. 2) Using a reference model will slow down plotting since the <current> vs <reference> lookup by label imposes an overhead. It can also slightly increase memory usage.
Page 6.36
D3PLOT
6.3.7 TRANSFORM
Applying translation, rotation, reflection and scale to a model as it is read in. By default model data are read in verbatim, but it is possible to apply transformations to them as they are read so that the data stored in memory is "as transformed". This can be useful if you wish to overlay models, or perhaps to compare left and right-handed versions of the same model. Any combination of the following may be applied: TRANSLATE REFLECT ROTATE SCALE Apply a [dx,dy,dz] translation Reflect about a point on the X, Y or Z axes Rotate by angles [theta x, theta y, theta z] about an [x,y,z] centre of rotation Apply scale factors [sx,sy,sz]
All transformations are applied in the global axis system in model space, and if multiple transformations are specified they are performed sequentially in the order above. Each transformation must be turned on using its [tick] box in order to be active, its parameters must be defined, and finally Apply must be used to apply the current transformation(s) to the model. Transformations apply to the specified model only, and may be applied, modified or cancelled at any time. Each such change results in all data currently in memory being deleted and reread as required in its new form.
TRANSLATE
Translate model by vector [dx,dy,dz] By default no translation is applied, but you may apply a vector [dx,dy,dz] in global model space. Translation is applied to: Coordinates (New coord) = (old coord + translation vector)
REFLECT
Reflect model in one of the global X, Y or Z axes about a point on the relevant axis
Page 6.37
D3PLOT
Firstly select which of the X, Y or Z axes to reflect about, and then the distance from zero (ie position) on that axis where the reflection plane is to be located. Reflection is applied to: Coordinates Velocity and acceleration vectors Other vector data (eg forces/moments ex binout file) Stress and strain tensors Other tensor data (eg ex binout file) For the relevant coordinate Cnew = Distance - (Cold Distance) The sign of the relevant term is changed
The sign of off-diagonal (shear) terms with the reflection axis in is changed. For example reflection about the X axis results in Txy and Tzx terms changing sign.
ROTATE Rotate model by angles [Tx,Ty,Tz] about centre of rotation [Cx,Cy,Cz] Define rotation angles, which are specified in degrees about the global X Y Z axes, and also the centre of rotation. Rotation is applied to: ([R] is the 3x3 rotation matrix, [R] is its transpose, "New" and "Old" below are vectors or tensors as appropriate) Coordinates Velocity and acceleration vectors Other vector data (eg forces/moments ex binout file) Stress and strain tensors Other tensor data (eg ex binout file) New = [R] x [Old - centre] + centre New = [R] x Old New = [R] x Old x [R]
[ 0 Cx -Sx ] [ 0 Sx Cx ]
[ -Sy 0 Cy ]
Page 6.38
D3PLOT
Concatenating these together in the order [X, Y, Z], ie [Rz].[Ry].[Rx] gives the compound rotation matrix of cosines [Rc]: [ [ [ Cy.Cz Cy.Sz -Sy Sx.Sy.Cz - Cx.Sz Sx.Sy.Sz + Cx.Cz Sx.Cy Cx.Sy.Cz + Sz.Sz Cx.Sy.Sz - Sx.Cz Cx.Cy ] ] ]
From which it can be seen that a set of Euler angles can be extracted as follows (using the notation <ij> is row <i>, column <j>) Theta X = arctan(32/33) Since (Sx.Cy / Cx.Cy) = (Sx / Cx) Theta Y = arcsin(-31) Theta Z = arctan(21/11) Since (Cy.Sz / Cy.Cz) = (Sz / Cz) Therefore if you have 3x3 matrix [Rc] simply calculate the theta angles using the equations above, convert to degrees and apply as [Tx,Ty,Tz] to get the same effect in D3PLOT. SCALE Scale model by factors [Fx,Fy,Fz] in global axes Define factors in each of the global X Y Z axes. Scale is applied to: Coordinates New = Old x Factor
Apply Applies the currently defined transformation(s) The following actions take place: All data that has been read in for the active model are deleted from memory All windows that reference this model have their cached data deleted, and also any element normals (for lighting) that have been computed are deleted. This means that any future operations referencing the active model (plots, WRITE, etc) force a fresh "read from disk" operation during which the new transformations are applied. For large models on a slow or remote disk this can be a slow operation (it is nearly equivalent to closing and reopening the model), so it is best to get transformations sorted out before building large animations.
Page 6.39
D3PLOT
Command-line syntax
For batch usage it may be more convenient to specify transformations using the command line. The operations above are under /DEFORM, TRANSFORM and are organised as follows: ---+--Tx Ty Tz TRANSLATE or OFF | | | +--- REFLECT Axis Distance | or OFF | | +--- ROTATE Tx Ty Tz Cx Cy | Cz | or OFF | +--- SCALE | | | +--- CANCEL Sx Sy Sz or OFF <No arguments> Translate by Tx Ty Tz, eg: translate 10.0 0.0 -100.0 translate off "Axis" is X or Y or Z, "distance" is position on axis, eg: reflect Y -1500.0 reflect off Tx Ty Tz are rotation angles in degrees, Cx Cy Cz is centre of rotation, eg: rotate 0 0 30 100.0 10.0 -20.0 rotate off Scaling by factors Sx Sy Sz, eg: scale 2.0 2.0 2.0 scale off Turns off ALL transformations (leaving values unchanged)
There is no "Apply" command in command-line syntax, as transformations are active as soon as they are specified.
Page 6.40
D3PLOT
6.4 CUT_SECTIONS
The Cut Section menu is invoked from the Tools menu or from keyboard shortcut X. A cut-section, sometimes referred to as a "cutting plane", is a flat plane that cuts through the model. It may be located anywhere in space and oriented at any angle. When the Cutting switch is turned on the intersection of the plane with the model is calculated and the interpolated cut plane is drawn. This is possible in all D3PLOT display modes, (including animation), and for those that display data this will be displayed on the cut plane. Various options, described below, define if and/or how the model either side of the plane is drawn. The forces acting on the cut-plane, integrated from element stresses, may be calculated and output.
Page 6.41
D3PLOT
6.4.1 Some important rules governing cut sections that must be clearly understood:
Only one cutting plane can be current at any one time, although any number may be stored on disk and retrieved at will. The plane will only be active if turned on. By default (as with volume clipping) no plane is defined, and it is switched off. Only Solid, Shell, Beam and Thick shell elements are cut. Other element types, such as joints, springs, stonewalls, etc, are unaffected. You may want to remove these from the display when using cut planes since they will span the plane. Forces and moments on cut planes are also only calculated for elements of these four types which are unblanked, the others are ignored. This is because these are the only element types for which stress &/or force results are consistently available. Forces and moments are calculated from solid and thick shell stresses, shell force and moment resultants, and beam forces/moments. Therefore if any of these are rigid no forces will be computed for the relevant materials, even though the elements may be carrying load. Forces on planes are calculated reasonably accurately. Moments are only approximate and should only be treated as (usually under-) estimates.
Page 6.42
D3PLOT
LS-DYNA Method
This option allows import of definitions in the format used by the LS-DYNA *DATABASE_CROSS_SECTION keyword: Normal vector tail coordinate Normal vector head coordinate Edge vector head coordinate If you have written a .ZTF file from PRIMER than any database cross sections in your original input deck can be imported by using the Import DATABASE_SECTION option.
Note: LS-DYNA cross sections use lagrangian ("basic" in D3PLOT terminology) space.
When you define a cut section using this method you will be asked if you want to swap to "basic" space for compatibility with LS-DYNA. This is explained in more detail below in section 6.4.3. (See Appendix II for an oa_pref option that will allow you to set this as your default definition method.)
Page 6.43
D3PLOT
Page 6.44
D3PLOT
Where there is more than one model in the window(s) affected then the following rules apply: For each model the labels of the nodes are looked up. If all the necessary nodes (3 in "3 nodes" case, 1 in "constant X/Y/Z" case) are found then the normal logic will apply based on the current coordinates of the nodes in each model, and the section will be updated at every state. If a node is not found then the "follow" logic is turned off for that model, and the plane will remain static in its initial position for that model. Note that using this logic over multiple models may mean that the planes in each model may not be the same, as the defining nodes may move differently. Exercise care using this option!
Page 6.45
D3PLOT
No local element moments are calculated within solids: they are constant stress elements. Fully integrated solids with more than one integration point. Fully integrated solids are, of course, not constant stress elements and they can support bending moments. However by default these element types only report averaged results for a single integration point at the element centre to the PTF file meaning that they are still effectively constant stress elements with no bending for the purposes of post-processing. It is possible to write data from all 8 points to the PTF file, and D3PLOT will read these results, however support within the code for this is very limited and does not currently extend to calculating local bending. This issue will be dealt with in future releases. Thin shells: The forces are calculated using the shell force resultants [Fx,Fy,Fxy,Qzx,Qzy] which yield a force tensor in the shell local coordinate system. This tensor is rotated to the cut plane system and forces are calculated as for solids above. Local element moments are also obtained by rotating the moment resultants [Mx,My,Mxy] to the cut plane axes. Note that you should take care to distinguish between the Timoshenko convention local moments derived from stresses (Mx, My, Mxy), and the bending moments acting about the cut plane axes (Mxx, Myy, Mzz): Mx = local bending moment per unit width due to local X direct stress. This gives rise to bending term Myy about the element local Y axis. My = local bending moment per unit width due to local Y direct stress This gives rise to bending term Mxx about the element local X axis Mxy = local torsion moment per unit width due to local XY shear stress This gives rise to torsion term Mzz about the element local Z axis The signs of the local bending moments Mxx, Myy and Mzz take into account the orientation of the cut plane with respect to the element local axes. Shells calculate stresses in the (thin) plane of the shell, and do not develop a full 3D stress state. Therefore forces and moments in shells are reasonably accurate so long as the cut plane intersects the element "cleanly" at something close to 90 degrees as shown the the diagram below. Oblique cuts will still give reasonable results so long at the cutting angle is not too shallow. Very shallow cuts may "fall off" the edges of the element as shown on the right below, and give misleading results.
Page 6.46
D3PLOT
If shell force and moment resultants are not present in the database then the element stress tensor is used instead. However Only the mid-surface results are used, treating the element as a quasi-solid, which means that element local bending moments are not calculated. (Since the location of the element integration points and the degree of plasticity are both unknown it is impossible to calculate an accurate local bending moment.) The global element stress tensor is rotated into the plane of the cut section, and forces are calculated by multiplying the relevant terms by the cut area through the element. The cut area is calculated from length of the cut through the element at its neutral axis multiplied by the element thickness.
Thick shells: The cut face through the element is calculated in exactly the same way as for a solid, yielding an area. The middle surface stress tensor is then applied over this area to give element forces as for solids above. It is not possible to calculate thick shell moments properly since no moment resultants are available, and the distribution of bending stress through the element is unknown. So no local moments are calculated for these elements. Beams: Forces: These are treated in much the same way as shells where force and moment resultants are available. The three beam forces normally written [Fx,Fy,Fz] are actually a direct axial force Fx, and two transverse shear forces which should really be written Fyx and Fzx: (as in shear forces in Y and Z respectively on a plane of constant X). Cut section forces are calculated by : (1) Treating these as a symmetric force tensor [Fx ] [Fyx ] [Fzx 0.0] Note that only those terms applying to the beam "long" X axis are populated.
0.0 0.0
(2) Rotating this tensor from beam local to plane local coordinate system [Fx ] [Fyx Fy ] [Fzx Fzy Fz]
This gives a fully populated tensor in the local system of the cut plane.
The plane normal axis is Z, therefore we are interested in terms: Fz : Normal force Fyz: Shear force in Y Fxz: Shear force in X
Page 6.47
D3PLOT
Forces and moments in beams are reasonably accurate so long as the cut plane intersects the beam cleanly at roughly 90 degrees.
.Moments: These are straightforward: The moments [Mxx,Myy,Mzz] are treated as a vector, and are rotated from beam local to cutting plane system and used directly.
Page 6.48
D3PLOT
Beam sign conventions are consistent from LS-DYNA release 971 onwards
At some stage during the development of LS971 this problem was fixed, and results now use the "integrated" convention for all beam types. This is consistent with the reporting method for other element types in LS-DYNA, where results are the forces and moments within the element.
Page 6.49
D3PLOT
This figure illustrates how the sign convention affects moments. Since the force above is "acting on the plane" from its outside it generates a +ve moment about the plane XX axis. If the plane were rotated 180 degrees about its local X axis, reversing "behind" and "in front" sides, then the sign of the moment about XX would be negative. In addition the plane Y axis would now point downwards, and the shear force in Y would be +ve.
Page 6.50
D3PLOT
Fz is Z force normal Mzz is moment to the plane. about local ZZ In BASIC space the following are used, all axes being in the global model system. Fx is force in the global X axis Fy is force in the global Y axis Fz is force in the global Z axis Mxx is moment about the global XX axis Myy is moment about the global YY axis Mzz is moment about the global ZZ The plane centroid at any given state is the average coordinate of the cut elements, this means that it moves as the model deforms. In particular note that moments are calculated about plane global axes acting through n the current plane centroid as calculated from the average of all cut elements.
Page 6.51
D3PLOT
D3PLOT Cut sections, and LS-DYNA Cross sections are separate and different within D3PLOT: D3PLOT Cut sections, as described in this manual section, Are user-defined and can be modified dynamically during post-processing. Cut dynamically through the model using graphics calculations to display the cut structure. Calculate forces and moments from a limited subset of elements using the forces, moments and stresses reported in those elements. Force and Moment calculation can be in local or global systems, and the user can control dynamically (by blanking) the elements in which it takes place. Only a single cut section can be active at a time, although any number may be stored for later retrieval.
LS-DYNA Cross sections, as defined under *DATABASE_CROSS_SECTION in the LS-DYNA user manual: Are defined in the original keyword input deck. Have their forces and moments calculated by LS-DYNA during the analysis, and reported to ASCII secforc and/or binout files The section geometry and elements which are cut are stipulated in the input deck, and cannot be changed during post-processing. The force system of the results is always global, and the cutting space lagrangian (basic). Neither can be changed during post-processing. Can have their geometry imported and displayed in D3PLOT via a ZTF file Can have their results, which are always in the global system, extracted from a binout file and displayed in D3PLOT. Any number of cross sections may be defined, and all can be displayed in D3PLOT if read as described above.
It is possible to use the geometry of an LS-DYNA Cross section definition to define a D3PLOT Cut section, which will overlay the two definitions. Selecting Basic space for display and the reporting of forces and moments should give very similar results. The results will probably not be identical for one or more of the folllowing reasons: D3PLOT extracts results from the PTF files, and the time of a given state may not match exactly the nearest time written at "time history frequency" in the binout file. If forces are varying rapidly this can give rise to significant differences. D3PLOT can only work with the limited subset of element data available in the PTF file. (No bending data in thick shells, no spring output, etc) D3PLOT cut sections calculate forces from all unblanked elements that are intersected, whereas LS-DYNA cross sections can control the elements considered both by defining a subset of parts and by limiting the extent of the section in its local XY plane. Careful blanking could be used to reproduce the same result, but it can be difficult to get exactly right.
Page 6.52
User manual Version 11.0, March 2013 Consider the following example of a cantilever cut along its length: In this example a cantilever made of solids is loaded downwards at its free end. There is a cutting plane defined in DEFORMED space roughly half way along its length, with the positive side (+ve Z axis) being the free end.
D3PLOT
The force acting on the cut plane from its +ve side acts downwards. In the plane local coordinate system this is in the negative Y sense. The moment acting on the plane is in the positive sense about the local XX axis.
Page 6.53
D3PLOT Methods of obtaining written force output Method 1: Instantaneous force output on Cut-section menu
Method 2: FORCES... Command in the Cut-sections menu Output here lists the 3 forces and 3 moments broken down for each material that actually contributes force, together with a summary for the whole model. Remember that elements which are blanked are not included, and materials which do not contribute any force are also not reported in order to keep the list short. An example is shown below:
Method 3: WRITE TO FILE Command in the Cut-sections menu Outputs the same data as above, but writes it to a csv file Method 4: WRITE Output (as an entity type) When a cut-section is current the SECTION entity will be available as an "entity" type in the WRITE menu: To use this select SECTION and then a data component. You can select a scalar component, (such as FX_X_CUT_FORCE as shown here), or a summary of all forces and moments. The advantage of using WRITE is that the results can be directed to file for subsequent use. An example of such output is given below:
Page 6.54
D3PLOT
++++++++ Data at time .30046E-02 ++++++++ CUT_SECTIONs:listing of CS_CUT_SUMMARY Cut section: Fx Fy Fz Mxx ----------------------------------------------------------------------------------------------------------------------------------------------------Section -9.667E+03 1.290E-04 -2.004E+00 -5.770E+01 Obtaining XY graphs of cut-section forces wrt. time. It is possible to use cut-section forces as a valid entity type for output in the XY_PLOT command, in a fashion similar to WRITE. When there is a current cut-section the entity type SECTION will be available in the XY_PLOT panel. Choose the SECTION "entity" type, followed by a scalar data component, and the results of that component versus time will be generated. Results can be written to disk as "curve" files, using the name sect001.cur etc, and also drawn as graphs in D3PLOT. The figure below shows typical output of X cut force vs. time.
Note that you can also write plotted results to a curve file using the FILE... command on the plotting panel. (See Section 6.8 for more details.)
Page 6.55
D3PLOT
CX/Y/Z_CENTROID
Page 6.56
D3PLOT
6.4.5 Positive & Negative Action Controlling display of structure either side of the cutting plane.
By default when cutting planes are switched on only the cut elements are drawn normally, with the remainder in wire-frame.. But it is possible to draw the mesh on both positive and negative sides of the plane at three levels of complexity. Each side can be controlled separately. The options are: OMIT The mesh on this side is not drawn at all.
OUTLINE The mesh is drawn in "line" mode. This means no hidden-surface removal, and the cut plane will be visible through the mesh. NORMAL The mesh on that side is drawn normally, with contoured data if applicable. Contours will be continuous over cut and uncut faces. This image shows a cut section with the default settings(with both sides in outline mode)
Page 6.57
D3PLOT This image shows a cut section set to Omit on the positive side of the cut and Normal on the negative.
D3PLOT
Normally only a single cut section is created, however you can choose to create multiple parallel sections at a constant spacing either side of this "base" section. Turn this feature on/off by enabling the Multiple Cuts tick box. Choose the spacing between planes. The default value is approximately 10% of the largest diagonal of the bounding box around the model. By default cuts will extend the full distance on either side of the base plane to include the whole model, subject o a "sanity check" limit of 999 planes on each side. You can limit this by setting the numbe rof planes Np on +ve and -ve sides, both values being in the range 0 - 999.
Here is an example of a multiple plane allowed to repeat the default number of times, so that it spans the whole model from end to end. Wireframe plane display has been switched on to show the "base" plane.
Page 6.59
D3PLOT
Here "thick cuts" have been turned on for the example above, showing how they can be used in conjunction with multiple planes.
Here the number of planes (Np) has been limited to 3 on the -ve side and 2 on the +ve side,showing 6 in all (as the base plane is always drawn). The thickness of the sections has also been reduced.
Page 6.60
D3PLOT
Multiple cut planes can be used with both Basic and Deformed space, and may have contours displayed on them. However you should note the following: Generating the graphics for multiple planes can become quite slow if many cuts are made through a large model. This simply because it requires a lot of maths to calculate all those slices, so dont be surprised if processing these sections is slow. Once computed the rendering of multiple "thin"planes should be reasonably fast, however multiple "thick" sections may be quite slow to render since the hardware is having to do a lot of clipping calculations each time the display is updated. Screen-picking from multiple sections is also difficult since, in theory, an element could be cut many times giving many potential candidate locations for selection. Therefore screen-picking is only approximate when multiple sections are in use, and while it should find "cut" elements it may occasionally also select elements that are not visually correct. If this happens try moving the selection point a little.
Page 6.61
D3PLOT
Page 6.62
D3PLOT
This example shows an eigenvalue analysis of a hollow box of shells. A cut section of constant Z has been applied half way along, and contours of Y displacement drawn. The "capping" of the shells shows the displacement around the cut section. The default thickness of 2D element caps is the physical thickness of the shells x 1.0. This is often an unsatisfactory value since shells tend to be so thin that this results in a single pixel width line at most image scales, therefore you can choose either to use the true thickness x some factor, or a fixed width. The latter, in this example 10.0, is often more satisfactory.
Page 6.63
D3PLOT
6.4.10 SAVE/RETRIEVE Managing the storage and retrieval of cut-section definitions on disk.
There is only ever one "current" cutting-plane definition, but up to 100 such definitions can be stored in an external "section.cut" file, and any number of such files may exist. Sections are model-independent and may be shared between dissimilar analyses. Storing and retrieving cut-sections: This figure shows the storage and retrieval sub-menu. The four commands in the left hand column manipulate sections as follows: STORE GET Stores the current section definition in the file. Reads a stored definition which overwrites the current one.
RENAME Renames a stored definition. DELETE FILE... Deletes a stored definition. Lets you enter a new "section.cut" filename: Any filename is permissable, but section.cut is assumed, and the extension ".cut" is recommended (but not mandatory). Note that section.cut files are binary, and are not normally transferrable between different machine types. Nor will you be able to read or edit them. However transfers between typical workstations (using IEEE format) will usually work OK.
Only GET affects the current definition, the other commands leave it unchanged. All storage and retrieval operations take place using the current "section.cut" file. If such a file has not been opened explicitly a file called section.cut is opened automatically (and an empty file of this name is created if it doesnt already exist.) You will note that sections are stored with names as well as numbers. These are optional, but help when identifying which section does what. A maximum of 40 characters is permitted for each section name.
Page 6.64
D3PLOT
You can use BLANKING to control the visibility of selected nodes and elements, but sometimes you may wish to remove a complete category of entity type from the display list. The ENTITY menu provides this capability: when an entity category is switched off it is never displayed in subsequent plots (of any type) until explicitly turned back on again. The entity panel also controls label display and the display of entity names. By default only the elements in a model are drawn, with no labels, node symbols or other information appended to them. You can add extra information to plots, control the display of classes of information and label items dynamically on the screen using the menu. This can be acessed in 3 ways, the shortcut key E, the top bar menu DISPLAY > ENTITIES or the button ENT. This panel controls the display of elements and nodes, (ie basic "structural" items); also their symbols, labels and local direction triads as well as the display of "other" items, such as constraints, contacts, rigidwalls, etc; and also their labels, symbols and other related displayable data. It must be stressed that these commands only permit or deny the display of classes of information, they do not control the visibility of individual items or models. For example they might be used to enable the display of nodes. This would permit nodes in any models to be displayed provided they were not made invisible by some other command.
Page 6.65
D3PLOT
The left hand column of the panel dictates the display of the right hand column. At any one time a "master" category will be selected from the left-hand column (in this example Elements is selected). The "master" categories each contain further "child" categories below them. The right hand column displays the appropriate "child" categories for the selcted "master". The Label columns control whether or not the items will be labelled (with the information selected under Label with. The Drawn columns control whether or not the items will be drawn. "Child"categories can be controlled individually (in the example shown the display of beams has been turned off), however they cannot be set so as to be drawn or labelled if the "master" category is not set to be (setting a "child" to be on will automatically switch the "master" setting on). Some LS-DYNA entity types can have a name defined for them. The Name columes control which items will have their names displayed if they are defined. Both the label and name of an entity can be displayed at the same time. Label with determines what is actually drawn as a "label" when labelling is selected for an element or node class. Selecting multiple labelling categories will lead to compound labels being generated (eg M1/H1001/P12/). As this example illustrates different models may contain different entity types. Where all currently selected models contain a type (for example Shells here) the selection box has a white background, whereas if only a subset do then the box will have a grey background to denote its "mixed" status. Displaying a large number of labels can be very slow and plots will become very cluttered if too much information is displayed. By default D3PLOT will generate a warning if the labelling options selected generate more than 1000 labels. The on screen warning is only displayed the 1st time this label limit is reached and the choice to either ignore the limit or to change the limit will be given. The default number of labels that D3PLOT displays before generating a warning can be changed used the preference option d3plot*max_labels: 1000 The on screen wanring message can also be disabled by setting the following preferenced to FALSE. d3plot*label_warning: FALSE At any time the label limit can be reset or modified using the options in the entity panel.
Each class of element may be selected for display and/or labelling individually. Here the display of beams has been turned off. The ALL ELEMS row selects them all.
Page 6.66
User manual Version 11.0, March 2013 Associated data: Local direction TRIADS are drawn for element types with coordinate systems.
D3PLOT
This figure shows an example of shells which have been labelled with: MODEL Mnnn for Model number <nnn> LABEL PART Snnn for Shell <nnn>. Pnnn for Part <nnn>.
D3PLOT attempts to group labels logically and to locate them so that they dont overlap, but if you try to add too much information you will end up with a total mess on the page. The "attached" nodes in this figure have also been switched on: these are drawn as asterisks (*) at the relevant element vertices.
Page 6.67
D3PLOT
Page 6.68
D3PLOT
Here is an example of SPCs and Prescribed motion re/constraints from an actual model. This image has "labels" turned on, and has been enlarged to show the symbols more clearly. Note that in the X direction translational constraint is due to a Boundary_Prescribed_Motion, whereas rotational restraint has been applied via a Boundary_SPC.
Next section
Page 6.69
D3PLOT
Page 6.70
D3PLOT
Page 6.71
D3PLOT The figure (right) shows the MEASURE control panel (which can be accessed by pressing M as well as from the "Tools" menu). From version 10.0 onwards D3PLOT can keep track of up to 100 measurements. Each measurement can be in a different window or it can be between different models within the same window. Select the first measurement Select the previous measurement Goto measurement (n) Select the next measurement Select the highest measurement defined + 1. Once a measurement has been defined it will be drawn on the screen along with the corresponding value. By default all measurements will be drawn along with the values. Specifies the colour used to draw the current measurement. Specifies the colour used to draw all measurements apart from the current measurement. Show all measurements not just the current one Display values next to each measurement If this option is selected then the current measurement will be incremented as soon as enough node/points have been selected. This option will add labels to any nodes used to define a measurement. The five measurement functions here are described in below. All of them use screen-picking with the cursor to select points or nodes, and report results in a special table in this panel.
Page 6.72
D3PLOT
Screen points are arbitrary locations on the screen picked with the cursor. They are not located on or attached to the model in any way. Distances reported for screen points are reported in screen space units. Point to Point Measuring the distance between 2 points. Pick pairs of points with the cursor, and the distance in screen space units between them is reported. (Screen space units have the scale of model space, but projected onto the 2D plane of the screen.)
Point angle Measuring the angle between 3 points. Pick three points with the cursor. The angle (on the 2D screen plane) between vectors P1P2 and P1P3 is reported.
Node functions:
Nodes are picked on the model, and all distances and coordinates are reported in model space units. The nodal coordinates used are those of the state currently in core. Node to Node Measuring the distance between 2 nodes. Pick two nodes with the cursor. The distance in model space units between them on XY, YZ and ZX planes and in 3D space is reported.
Node angle Measuring the angle between 3 nodes. Pick three nodes with the cursor. The angles on XY, YZ, ZX planes and in 3D space between vectors N1N2 and N1N3 are reported.
Node to Origin Nodal position and distance from [0,0,0] Pick a node with the cursor. Its current coordinates and distance from the origin in model space units are reported.
Export to XY_PLOT Make a graph of distance for the current measurement. Four separate curves will be generated for each measurement containing the X, Y, Z and magnitude components using all time-states in the model. The plots can be saved as curve files or transferred to T/HIS if the T/HIS link is open. Export to ALL XY_PLOT Make a graph of distance for all measurement. Four separate curves will be generated for each measurement containing the X, Y, Z and magnitude components using all time-states in the model. The plots can be saved as curve files or transferred to T/HIS if the T/HIS link is open.
Page 6.73
D3PLOT
User manual Version 11.0, March 2013 Local Coordinate System Measurements can be made within a local coordinate system if desired. Press the RETRIEVE button to select a coordinate system from either the csys.loc file (defined in the Shift Deformed panel) or any *DEFINE_COORDINATE definitions in the ZTF file. Deformed coords / Undeformed coords If a coordinate system defined by nodes is selected (i.e. from the csys.loc file or a *DEFINE_COORDINATE_NODES definition in the ZTF file), you will have the option to use either the deformed or undeformed coordinates of the the nodes. If you select deformed the coordinate system will update with the model.
Page 6.74
D3PLOT
The WRITE command allows you to write to the screen and/or file just about any piece of information in the database files accessed by D3PLOT. It is designed to list information at a given time, if you want to plot data (in XY graphical form) you should use the XY_DATA command described in Section 6.8 instead. The main WRITE control panel is shown right.
The ENTITY, SCAN, GLOBAL SUMMARY, KEYWORD DATA, COMPRESS, COINC ELEMENTS and UNATT_NODES commands generate output, as described in Sections 6.7.1 to 6.7.7 below.
The OUTPUT_TO... options define where the results are to be written. See Section 6.7.0 below. File: is the name of the disk output file.
OUTPUT_TO_DIALOGUE Is the dialogue box. Listings up to 200 lines long can be handled by scrolling, but output longer than this will be lost. It has the advantage that is remains visible for reference during ensuing operations, whereas "listing box" output is lost. OUTPUT_TO_FILE Is an ASCII disk file. Output of any length may be written.
Any permutation of these options may be used at the same time, and switched on/off at will.
Page 6.75
D3PLOT
Page 6.76
User manual Version 11.0, March 2013 Element No: Data value ----------- ------------------------S1 9.656122E+07 S2 1.965423E+08 S3 1.445315E+08 S4 1.689751E+08 S5 1.331927E+08 S6 1.176105E+08 S7 1.465435E+08 S8 1.561687E+08 S9 1.550533E+08 S10 1.043070E+08 S11 1.613382E+08 S12 2.154273E+08 ++++++++ Data at time .35909E-01 ++++++++ Nodes: listing of VV_VELOCITY_VECTOR Node -------------1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 2000 2001 2002 2003 2004 VX --------------.0000E+00 -3.6481E-07 -7.4297E-07 -7.5988E-07 .0000E+00 -3.2251E-07 -7.7683E-07 -8.3489E-07 .0000E+00 -3.6481E-07 -7.4297E-07 -7.5988E-07 .0000E+00 3.6482E-07 7.4297E-07 7.5988E-07 .0000E+00 VY -----------.0000E+00 -1.5074E-07 -1.5094E-06 -2.2915E-06 .0000E+00 -3.7708E-07 -1.5576E-06 -2.3889E-06 .0000E+00 -1.5074E-07 -1.5094E-06 -2.2915E-06 .0000E+00 -2.2947E-07 -1.4183E-06 -2.4126E-06 .0000E+00 VZ ---------------.0000E+00 -1.8178E-07 -1.0158E-07 -2.4309E-08 .0000E+00 -1.7842E-17 -2.8229E-13 -2.7706E-13 .0000E+00 1.8178E-07 1.0158E-07 2.4308E-08 .0000E+00 1.8178E-07 1.0158E-07 2.4308E-08 .0000E+00
D3PLOT
Mag -----------.0000E+00 4.3457E-07 1.6854E-06 2.4143E-06 .0000E+00 4.9619E-07 1.7405E-06 2.5306E-06 .0000E+00 4.3457E-07 1.6854E-06 2.4143E-06 .0000E+00 4.6775E-07 1.6043E-06 2.5295E-06 .0000E+00
Page 6.77
D3PLOT
6.7.1.5 ENVELOPE
Instead of reporting results at a single time-state, D3PLOT can calculate the maximum or minimum values occurring over a selection of time-states. Once a component has been selected the user can press APPLY and the output will be generated. For the example above it will look like this (taken from file output): Page 6.78
User manual Version 11.0, March 2013 D3PLOT "write" output file. (22-Nov-95 12:27:49) Database file: /users/dyna70/test/tall Title: test1 ++++++++ Data at time .35909E-01 ++++++++ SOLIDs: listing of UNAVERAGED GLOBAL X_DIRECT_STRESS Element No: Data value --------------------------------H1 5.155513E+06 H2 -1.659268E+07 H3 -1.020761E+07 H4 -2.168100E+07 H5 -2.182096E+07 H6 -1.125487E+07 H7 5.599310E+05 and so on to the 80th element
D3PLOT
Scalar and compound data components In the example above the component X_DIRECT_STRESS was used, this is a "scalar" value that generates only one number per element. In WRITE it is sometimes convenient to be able to be able to write out "compound" data, ie more than one number per entity. Examples of this are stress and strain tensors for elements, force and moment summaries for beams, etc. Therefore you will find such components available in the "specific" component panels, generally at the bottom of component lists. For example under stress there are ST_STRESS_TENSOR and PS_PRINC_ STRESS_SUMMARY components. Examples of output from these is given below: ++++++++ Data at time .35909E-01 ++++++++ SOLIDs: listing of GLOBAL ST_STRESS_TENSOR El No: ---------H1 H2 H3 H4 H5 Sx ------------5.1555E+06 -1.6593E+07 -1.0208E+07 -2.1681E+07 -2.1821E+07 Sy ------------1.1453E+07 -1.9981E+07 1.3946E+07 2.9476E+07 3.9145E+07 Sz ----------1.7028E+06 -1.2872E+07 -9.4400E+06 -2.8595E+07 -3.0982E+07 Txy ----------2.8189E+07 3.5470E+07 3.2251E+07 1.9464E+07 -2.4756E+06 Tyz ------------9.2431E+06 -4.0756E+07 -2.9166E+07 -3.1784E+07 -3.4087E+07 Tzx ----------5.0026E+06 1.1448E+07 6.6445E+06 7.4274E+05 -1.5587E+06
++++++++ Data at time .35909E-01 ++++++++ SOLIDs: listing of PS_PRINC_STRESS_SUMMARY Principal stresses ------------Cosines-------------El No: cx cy cz ----------------------------------------------------------------------H1 Maximum : 2.6341E+07 .79188 .60700 -.06694 Middle : 4.5134E+06 .21564 -.17539 .96059 Minimum : -3.5449E+07 .57134 -.77510 -.26978 H2 Maximum : 3.1369E+07 .40057 . 72321 -.56259 Middle : -3.7253E+06 .76642 .07203 .63829 Minimum : -7.7090E+07 .50214 -.68686 -.52543 "Geometric" and other "miscellaneous" data components As well as analytical data values it is possible to extract "geometric" data components. For nodes and elements these appear under the TOPOLOGY and MISC... generic buttons. Here is an example of component LN_LIST_OF_NODES output for solids:
Page 6.79
D3PLOT
++++++++ Data at time .35909E-01 ++++++++ SOLIDs: listing of LN_LIST_OF_NODES El No: n1 n2 n3 n4 n5 n6 n7 n8 -----------------------------------------------------H1 1 11 12 2 101 111 112 102 H2 2 12 13 3 102 112 113 103 H3 3 13 14 4 103 113 114 104 For element types for which no analytical data are available (lumped-masses, springs, joints, seat-belt types) only topologically derived components are available. For example here is a typical SUMMARY output for springs: ++++++++ Data at time .35909E-01 ++++++++ SPRINGs: listing of SUMMARY Spring No: Material Type N1 N2 --------------------------------------------------SP1 1 Trans spring 243 101 SP2 1 Trans spring 151 233 SP3 1 Trans spring 252 110 SP4 1 Trans spring 160 242 For a full list of data components available in the WRITE command see Sections 12.3 - 12.14.
Therefore you should take care when using WRITE to extract element data averaged at nodes. Whenever WRITE tabulates data it prefaces it with its full data component name and, for nodal results, it also states whether the figures are "averaged" or "unaveraged".
AIRBAG
GROUPS
Page 6.80
D3PLOT
INCLUDES Refers to the contents of include files. Include files are similar to groups in that they can contain a mixture of entities and the same rules apply. Output for these categories of information under ENTITY is selective: you can choose those materials or surfaces for which you want to see results. To list complete summary information you can use the GLOBAL_SUMMARY option in the main WRITE menu instead: this summarises data for all materials or all contact surfaces, which may be more convenient. Next section
Page 6.81
D3PLOT
Page 6.82
D3PLOT
Note that an element which is off the current screen because of scale or view-point is still "eligible" for plotting.
Page 6.83
D3PLOT
Mass
104.088 -87.916 1.152E+06 -19.311 -37.918 7.879E+06 100.652 -844.292 2.099E+06 26.443 -384.108 4.536E+06 0.000 0.000 1.024E+06 17.916 -234.561 1.669E+07 14.320 584.463 n/a
Note: The "Sum" of all material values is frequently less than the (whole) "Model" values above. This is because the "Model" values include the contribution from any lumped-masses, contact friction, etc that are not part of "material" data.
Resultant 8.07831E+09
Page 6.84
User manual Version 11.0, March 2013 Master 3 Slave Master 4 Slave Master 0.00000E+00 0.00000E+00 -4.27069E-02 -1.77204E-02 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 3.57985E-02 8.63122E+00 0.00000E+00 2.35839E+02 0.00000E+00 0.00000E+00 Note 1: Note 2: Note 3: Note 4: Note 5: 0.00000E+00 2.35839E+02 8.63139E+00 0.00000E+00 0.00000E+00
D3PLOT
Normal contact surfaces with both slave and master sides will have equal and opposite forces on each side. For example surface #1 here. The contact force file only contains forces for nodes on segments. Where discrete nodes form one side of a surface then no forces are written for that side. For example surface #4 above is "Discrete nodes (slave side) impacting surface (master side)", and forces only appear for the master side. Single-surface contacts only have a slave side, and the net force on such a contact surface is zero. However plots will show a distribution of force on the individual segments of the contact. Contact surface types using a one-way treatment (eg types 10 and 21) write forces for the master side only. Surface #3 above is such a surface. Contacts using a constraint rather than a penalty formulation do not generate forces. (However contacts using "soft constraint" still generate forces.)
6.7.3.4 NODAL_RB_SUMMARY Summary energy and velocity for nodal rigid bodies
Nodal rigid bodies write energy and rigid body results in the same way as materials: GLOBAL data: Summary of Nodal rigid body data Energies x 1.0E+12 Matl: Kinetic Internal Total 1 2 Sum Mode Next section 0.000 0.000 0.000 2.248 0.000 0.000 0.000 0.000 0.000 0.000 0.000 2.248
Velocities x 1.0E+03 Vx Vy Vz 0.025 0.000 0.007 27.127 0.000 0.010 0.007 0.088 0.000 0.000 0.000 9.480
Page 6.85
D3PLOT
------------------------------------[None found] ------------------------------------BEAMs Element No:Coincident element(s): ------------------------------------B13001 B13002 B13003 B13004 B13002 B13003 B13004 B13005 B13003 B13004 B13005 B13006 B13004 B13005 B13006 B13007 B13005 B13006 B13007 B13006 B13007 -------------------------------------[Total of 21 coincident BEAMs] SHELLs Element No: Coincident element(s):
B13006 B13007
B13007
-------------------------------------[None found] --------------------------------------------------------------------------INTERFACEs Element No: Coincident element(s): --------------------------------------I30 I81 I102 I153 --------------------------------------[Total of 2 coincident INTERFACEs] Every element category in the file is checked through and a summary report as above generated. As in the example above [None found] is reported when no coincident elements are found in a particular category.
Page 6.86
D3PLOT
Page 6.87
D3PLOT
Page 6.88
D3PLOT
Page 6.89
D3PLOT
Only Hughes-Liu integration beams can have cross section integration with quadrature integration rules. With a ztf file D3plot can find this information itself so the option is always greyed out. However, without a ztf file you need to decide whether they are all Hughes-Liu beams in which case the number of integration points will be decided by the BEAMIP for beams in the Control Card in the ptf file. If "Resultant beams present" is selected, itll assume theres only one integration point in all the beams. There are cases where BEAMIP and MAXINT is set zero in the model which leads to no stress information for Beams or Shells respectively, D3plot therefore will not write *INITIAL_STRESS_BEAM or *INITIAL_STRESS_SHELL. NODAL COORDINATES and INITIAL NODAL VELOCITY When nodal information of elements is required, such as Nodal coordinates (*NODE) and Initial nodal velocity of shell (*INITIAL_VELOCITY_NODE), beam and solids, for the elements selected, the nodes on such elements will be automatically flagged for nodel information output. Please note that by selecting all Entities, it will only include nodes on all Entities, this does not guarantee all nodes in the whole model to be included for information output. A switch is available to select whether or not to write the nodal restraints to the *NODE card. This can be useful if you want to merge the exported nodes back into a model without the original constraints.
*KEYWORD $ Keyword file written by D3PLOT from plot file $ Z:\testfiles\cantilever\beam_shell.ptf $ $ $ ++++++++ Data at time 0.20008E-02 ++++++++ *INITIAL_STRESS_BEAM 12 2 4 1 3.594E+01 0.000E+00 0.000E+00 0.000E+00 0.000E+00 1.994E-01 0.000E+00 3.594E+01 0.000E+00 0.000E+00 0.000E+00 0.000E+00 1.994E-01 0.000E+00 -3.592E+01 0.000E+00 0.000E+00 0.000E+00 0.000E+00 2.761E-01 0.000E+00 -3.592E+01 0.000E+00 0.000E+00 0.000E+00 0.000E+00 2.761E-01 0.000E+00 *INITIAL_STRESS_SHELL 31 1 3 0 0 0.0000000 3.479E+00 -3.919E-04 4.838E-02 3.005E-07 4.622E-06 4.487E-01 0.000E+00 -0.5000000 -1.094E-02 -7.716E-07 2.783E-02 -5.075E-07 4.560E-06 1.809E-01 0.000E+00 0.5000000 -3.501E+00 3.903E-04 7.282E-03 -1.316E-06 4.498E-06 -8.687E-02 0.000E+00 *INITIAL_STRAIN_SHELL 31 -2.756E-07 -7.238E-08 4.445E-07 -9.425E-12 8.468E-11 1.994E-01 3.360E-06 -5.005E-05 1.498E-05 1.511E-05 -2.449E-11 8.357E-11 1.994E-01 -1.613E-06 *ELEMENT_BEAM 12 8 100 101 127 *ELEMENT_SHELL 31 1 80 81 78 206 *NODE 78 8.989016E+01 1.500000E+02 3.950482E+00 0. 0. 80 9.986085E+01 1.600000E+02 4.715574E+00 0. 0. 81 8.989016E+01 1.600000E+02 3.950481E+00 0. 0. 100 9.999877E+00 2.500000E+02 4.969115E-02 0. 0. 101 1.999884E+01 2.500000E+02 1.934823E-01 0. 0. 206 9.986085E+01 1.500000E+02 4.715574E+00 0. 0. *INITIAL_VELOCITY_NODE 78 -2.744E+02 8.881E-04 5.102E+03 80 -3.398E+02 -7.816E-05 5.955E+03 0.000E+00 0.000E+00 0.000E+00 81 -2.744E+02 -9.552E-04 5.102E+03 0.000E+00 0.000E+00 0.000E+00 100 -2.869E-01 0.000E+00 5.765E+01 0.000E+00 0.000E+00 0.000E+00 101 -2.618E+00 0.000E+00 2.204E+02 0.000E+00 0.000E+00 0.000E+00 206 -3.398E+02 5.687E-05 5.955E+03 0.000E+00 0.000E+00 0.000E+00
Page 6.90
D3PLOT
Page 6.91
D3PLOT
LSDA (binout) data components can also be embedded in the REORDERED format file. This could be useful if the LSDA file is large as the data components cannot be plotted until it has been read in. By embedding them in the file they are available instantly. This operation can also be performed in batch using the dialogue commands: /UTILITES PTF_COMPRESS See Appendix VII for the full set of commands. OUTPUT TYPE SELECT PARTS SELECT STATES MAX FAMILY SIZE Select whether to write out the file in ORIGINAL or REORDERED format. This option can be used to select a subset of the model. After selecting the PARTs that are going to be written to the new set of PTF files the PTF State Size will be recalculated to show the size of each PTF state in the new files. This option can be used to select a subset of the STATEs in the original model for output to the new set of PTF files. The maximum family member size that will be written out can be specified here. By setting this high enough it can be used to fit all the states into one file. By default it will be set to the size of the maximum family member in the model that is being cut down. NOTE: If the family size is set to a value lower than the state size, when D3Plot writes out the file it will silently increase the family size so that it will create one state per family member. As well as selecting a subset of PARTs and STATEs it is also possible to turn off the output of some data components to the new PTF files. Depending on what data componets and entity types the original model contains the table in the bottom section of the menu can be used to either select or deselect optional data components for output. Due to the way the PTF file format works it is not always possibel to turn a data component on/off for a single entity type. If for example your model contains both Shells and Thick Shells then both the Stress Tensor and Plastic Strain must be either be truned on or off for both types of elements. Similarly the Strain Tensor must apply to all Solids, Shells and Thick Shells. As data components are turned on/off the PTF State Size will be recalculated to show the size of each PTF state in the new files. INCLUDE NODES FOR ZTF ITEMS The PTF/D3PLOT files only contain information for the basic LS-DYNA element types. If you also have a ZTF or XTF file then D3PLOT will use the extra information in these files to draw Springs. Joints etc. If you select a subset of PARTs for output it is possible to select a PART that is attached to one end of a Spring without selecting the PART connected to the other end of the spring. If this option is selected then D3PLOT will automatically ensure that the nodes at the end of any springs (or any other elements) that are no-longer attached to PARTs are also output to the new PTF files so the items can be drawn correctly. EMBED ZTF DATA IN FILE WRITE SELECTION / READ SELECTION If the file is being written in REORDERED format you can embed the ZTF data into the file.
These two options can be used to save and retrieve the options selected in the panel by writing a file containing the relevant dialogue commands. This file can be used as an argument on the command line (-ptfcut=<filename>) to ouput a cutdown version of the ptf file. This could be done as part of an automatic process at the end of an analysis to create files with a subset of results and/or reordered to make post-processing faster.
Next section
Page 6.92
D3PLOT
Page 6.93
D3PLOT
Three different data extraction and plotting methods are provided, and are descrived in more detail below: (1) Data vs Time (2) Data vs Data (3) Composite Plots data (Y axis) vs time (X axis) Plots data (X and Y axes) over a range of times Plots data (X and Y axes) for a range of items at a time.
Output may be sent to any of: XY Plot On screen graphical tool that displays curves. It permits curve selection, zooming, labelling and symbol display; it also allows you to select a subset of curves to be written to file. .cur Files ASCII format files written in "curve file" (.cur) format. The default filenames will become "live" if you select this option, and you may use these or define your own names. .csv Files Comma Separated Value format files. The curves may be written in "X,Y,X,Y" or "X,Y,Y,Y" format. The default filenames will become "live" if you select this option, and you may use these or define your own names. The data requested are extracted from the complete states as they are read in, and stored on scratch backing store. When everything has been read in then the file(s) are generated and the XY plot drawn according to what output has been requested. XY plot management is described in Section 6.8.4, and file management in Section 6.8.5. The data on backing store is "remembered" until you leave the programme, or overwrite it by reading in some more results. So once a set of data has been created you can exit and re-enter XY_PLOT at will to review it.
Page 6.94
User manual Version 11.0, March 2013 Typical graphical output from XY_PLOT is shown in the figure below
D3PLOT
A typical file (the results for Material 1 above) is shown below. This is written in T/HIS "Curve" file format (see Section 4.8.5.5 for a description of this format): $ $ $ $ $ ---------------------------------------------------------D3PLOT "T/HIS_INTERFACE" output file. (22-Nov-95 20:22:11) Database file: /users/dyna70/test/lg09 Title: lg09 : Large Test 9: Belted sled test ----------------------------------------------------------
D3PLOT: Material data TIME KE_KINETIC_ENERGY Material 1 .000000E+00 2.490001E-03 4.990020E-03 7.490039E-03 9.999956E-03 1.249986E-02 1.499976E-02 1.749984E-02 1.999997E-02 2.249011E-02 2.499991E-02 Kinetic energy 7.222228E-05 1.272031E+01 3.979501E+01 6.687062E+01 9.656306E+01 1.276856E+02 1.723507E+02 2.691978E+02 4.552962E+02 7.637439E+02 1.173867E+03
Page 6.95
D3PLOT
It is also possible to select and deselect times from the STATE_LIST menu. Click on an undepressed state to select it, or on a depressed state to deselect it. This menu always the shows what has been selected, regardless of the selection method used. And you can mix selection methods: for example you could select states by time, then modify the result in this menu.
Page 6.96
User manual Version 11.0, March 2013 Important notes on internal state lists: Order is important:
D3PLOT
The order in which states are selected is significant. If you pick entries #1, #4, #2 from the menu here, or when defining a <list>, then that is the order in which they will be processed. Implicit in this is the fact that states can be repeated, for example the sequence <#1, #2, #3, #2, #1> is quite legal, subject to the space restrictions below. The amount of space set aside for storing state lists is 2x the number of states available. Thus you could store the sequence <#1 - #n - #1>, but no more than this.
Space is limited:
Page 6.97
D3PLOT
Page 6.98
D3PLOT
Here is an example of output from such a plot, showing Von Mises Strain (X axis) against Von Mises Stress (Yaxis). This shows the classic stress vs strain curve for mild steel.
Page 6.99
D3PLOT
Page 6.100
D3PLOT
6.8.4 COMPOSITE_DATA Data vs data for a list of items over a range of times.
"Composite" data is similar to "Data vs Data" except for the vital difference that: Each curves contains (x,y) data for the list of items selected, in order, at a particular time. Therefore the number of curves = the number of states selected, not the number of items And the number of points in each curve = the number of items selected. This plotting mode is useful for displaying the variation of a quantity across space in a model over a range of times, as the examples below show. IMPORTANT: The order in which points are written in composite curve is the order in which they are defined, unless subsequently sorted. If you screen-pick items they will appear in the order picked up to a limit of 1000 items If you select by area, polygon on "all" they will appear in ascending label order Sort by: sorting data points. When points are picked by screen area, or some other unordered means, their order is usually "wrong". You can use the Sort by options to correct this, and these are described below.
Page 6.101
D3PLOT
Page 6.102
User manual Version 11.0, March 2013 Composite plot of X vs Y coordinates showing formed profile
D3PLOT
Page 6.103
D3PLOT
Page 6.104
D3PLOT
Page 6.105
D3PLOT
Sure enough, some of the nodes are not ordered in ascending X coordinate, giving a muddled plot.
By default no sorting takes place, but you can sort by any of the options in this menu. In this case sorting by CX_COORD, the current X coordinate, will work for the plot above, and the plot below shows how this corrects the image. Note that: The current Sort by option remains current until changed. Any data subsequently extracted will be sorted in this way. You can resort data currently cached in backing store at any time
Page 6.106
D3PLOT
After sorting by Current X coordinate the points are back in a sensible order.
Next section
Page 6.107
D3PLOT
Page 6.108
D3PLOT
Closes the XY plotting window. Data is left unchanged on backing store. Writes the currently selected curves only to "curve" or "csv" files. The syntax and other conventions for these files are described in Section 6.8.6. Redraws the current graph with only those curves selected for plotting. Uses the cursor to zoom in on a rectangular area of the graph, and enlarges this to fill the whole window. Both X and Y scales become set explicitly, ie taken out of automatic mode, by this command. Resets the X scaling to automatic. Resets the Y scaling to automatic.
Page 6.109
D3PLOT Grid Key Symbols Lines Labels => T/HIS Sel_All Toggles the grid at tick mark intervals on/off. (Default off) Toggles the curve "Key" listing on/off. (Default on) Toggles symbol (ie letter) display at points on/off. (Default off) Toggles lines between points on/off. (Default on) Lets you redefine title and axis labels.
Copies selected curves to linked T/HIS (when running) (See below) Selects all curves for plotting.
Unsel_All Deselects all curves for plotting. Sort... Filter... Sorts the order of appearance of curves in the key Filters visible curves by colour and symbol (See below)
Page 6.110
D3PLOT
By default the curve "key" will appear in order of item definition, sorted by ascending label number. However when confronted by a plot with many curves often it is useful to be able to pick out the largest or smallest, and this can be achieved with Sort.... You can sort by any of the criteria X max/min/mag, Y max/min/mag, and the effect will be to reorder the curve key as appropriate. For example: here is a plot of von Mises Stress for 4624 shells over time - confusion - which is the highest value?
Using Sort... by Y max reorders the key with the top Y values at its top, making it possible to turn on just the top few curves, which are plotted below.
Page 6.111
D3PLOT
When you have many curves the FILTER option is another way of limiting what is displayed. Clicking on a letter selects only the curves with that symbol, and on a colour only those of that colour. You can use both at once to restrict selection to just curves of that letter/colour combination. Use APPLY to plot just those selected, and DONE to return to the main plotting options menu.
The number of free curves available in T/HIS is shown, and you can choose which of the local XY_DATA curves to export. These will become the next free #n curves in T/HIS. (If linked T/HIS has not been invoked via the THDATA command the => T/HIS button will be greyed out, and this function will be unavailable.)
Page 6.112
D3PLOT
Page 6.113
D3PLOT
The reason for this syntax is that more than one file may be generated by an output command, and some sort of systematic naming convention is required. By default the following filenames are used: For global model derived data vs. time: For part derived data vs. time: glob001.cur/csv part001.cur/csv
For contact surface derived data vs. time: surf001.cur/csv For element derived data vs. time: For nodally derived data vs. time: For any COMPOSITE data: For cut-section data: For group data: For include file data: elem001.cur/csv node001.cur/csv comp001.cur/csv sect001.cur/csv grp001.cur/csv incl001.cur/csv
You can change them if you wish, but it is recommended that you do not. If you omit the NNN part of the filename string D3PLOT will insert it for you.
<name>1000.cur to
Thus there is a maximum of 9999 files in a sequence. Each new file output operation starts a new curve file, and D3PLOT will enforce the addition of integers to the base filename to ensure that each file has a unique name.
Page 6.114
D3PLOT
(2) Existing files are never overwritten. Before a new file is opened a test is made to see if one of the same name already exists and, if it does, the NNN value is incremented until a vacant filename is found.
Line n+6: <X value> <Y value>(REAL numbers) : And so on for further curves.
For more information see the T/HIS Users Manual. Next section
Page 6.115
D3PLOT
The UTILITIES menu is shown in the figure (right). It provides a home for commands that have no other more logical place in the D3PLOT programme structure, and also for functions under development. As the programme develops the latter commands will move out to their own menus. Quick links to sections: 6.9.1 Target Markers 6.9.2 Modify Title 6.9.3 Failure Options 6.9.4 Graphics 6.9.5 Data Components 6.9.6 Metal Forming 6.9.7 Die Closure 6.9.8 Visualisation 6.9.9 Settings File 6.9.10 External Data 6.9.11 Shortcut Keys 6.9.12 Compress 6.9.13 Response Spectrum Analysis 6.9.14 Coarsen 6.9.15 Clamp Data 6.9.16 LC Combination
Page 6.116
D3PLOT
The figure (right) shows an example of a dummy model with target markers applied. Markers are made up a circle with quadrants of alternating colours. On the greyscale reproduction used here they do not stand out very well, but in colour they are much more marked. They are attached to nodes and are drawn only if their parent node is visible. They are always drawn in the current plane of the screen regardless of the true orientation of any underlying mesh. Marker Radius
If expressed in model space, the default, marker radius will be about 3% of the model overall dimension, and size will change as you zoom in and out. If expressed in screen space marker radius will be a fixed size, independent of the model dimensions, and will not scale as you zoom in or out.
Page 6.117
D3PLOT
Note 2:
6.9.2 MODIFY_TITLE... Changing the title string used for the header on plots.
The analysis title taken from the .PTF file is normally used for the header on plots, and also for headers in output files. You can change this by simply typing in a new string, followed by DONE. This will take effect the next time you update the plot. Changes here have no effect on the title stored permanently in the PTF file. Next section.
Page 6.118
D3PLOT
Page 6.119
D3PLOT
LS-DYNA writes deletion tables at the end of every state in the output file which set a flag against any element that has been deleted. In normal usage elements start off "alive", then "die" (get deleted) if their material model implements failure and they are deemed to have failed, and they remain dead for the rest of the analysis. However some keywords in LS-DYNA use these tables in a slightly different way, for example *DEFINE_CONSTRUCTION_STAGE, can result in an element starting off "dead" and then coming to life at some later stage in the analysis. Therefore D3PLOT cannot adopt the "once you are dead you remain dead" approach as its default, and instead the deletion status of every element at every state is stored so that elements can die and come back to life at will. However there is a bug in some versions of LS-DYNA where elements that "die" due to material failure are (correctly) marked as deleted at that state, but somehow this information is lost later on in the analysis and they appear to come back to life again. Since deleted elements have no stiffness they can develop huge deflections, and drawing these can mess up plots horribly, so a means of solving this problem is required, and the No_Reincarnation feature provides this. Clicking on No_Reincarnation does the following: For every model in the database D3PLOT starts at state 1 and works its way linearly forwards to the last state, propagating the deletion status of elements forward by setting the deletion status of an element in state <i> to be a logical OR of that and its status in state <i-1>. Therefore once an element is deleted it cannot come back to life again. This process may be slow if the analysis has many states since D3PLOT has to read the deletion status of each state if it is not already in memory. States will only be in memory if they have been displayed, so if you have read in a model and then jumped directly to the last state it will have to read the deletion tables of all the intervening states. If set this flag remains in force for any model read subsequently. If unset reading of any subsequent models will behave normally, ie deletion status in each state will revert to being independent of any other state. However propagation of deletion in models to which this process has already been applied is not undone - once applied to a model this process is irreversible, and if you need to revert to normal deletion behaviour in that model you will have to Reread it.
(The "failure" options below are included for completeness, but they are not recommended for general use: contact Oasys Ltd for more details.)
Page 6.120
D3PLOT
6.9.5 DATA_COMPONENTS Listing the current database contents to screen, and current data components to file.
This command is an aid to debugging the software, so you dont have to know how to use it! It lists to the screen and to file diag.out the following table: D3PLOT version 7.0: Data component summary printout ======================================= # in database Solids Thin shells Thick shells Beams ( 16) ( 4624) ( 0) ( 0) Stress tensor 6 * 1 6 * 3 6 * 3 n/a Plastic strain 1 * 1 1 * 3 1 * 3 n/a Strain tensor 6 * 1 6 * 2 6 * 2 n/a Extra variables 0 * 1 0 * 3 0 * 3 n/a Forces & moments n/a 8 n/a 6 Thickness & energy n/a 4 n/a n/a Plastic beam data n/a n/a n/a 0 Deletion flagged T T T T In addition it writes to file only a listing of the D3PLOT internal data component tables. These are bitwise encoded listings cross-referencing data components against element type and other internal flags. They have no significance to users. Next section Page 6.121
D3PLOT
Page 6.122
D3PLOT
In addition to the shell elements that are represented by white dots the graph also contains a number of lines relating to physical and artificial phenomena. FLC Forming Limit Curve. This curve represents the point at which the material would fail. This curve may be generated from an equation or read in from a file, see Section 6.9.7.3 for more details. This curve represents a safety margin. It is generated automatically by subtracting a constant value from the FLC, see Section 6.9.7.3.
Safety
Page 6.123
Pure Shear
Pure Shear
where
E(major), E(minor) R
Graph Options
DISMISS Closes the FLD plotting window. SAVE ZOOM POINT Save the points and the curve data to a curve file for reading into T/HIS. Uses the cursor to zoom in on a rectangular area of the graph, and enlarges the area to fill the whole window. Select a point on the graph. The ID of the nearest shell to the point is then written out to the dialogue area and the shell is labelled in the graphics window if it is visible.
X_AUTO Resets the X scaling to automatic. Y_AUTO Resets the Y scaling to automatic. GRID KEY TITLE HELP Toggles a grid at the tick mark intervals on/off (Default off). Toggles the curve "Key" on/off (Default off). Toggles the analysis title on/off (Default on). Gives on-line help.
Page 6.124
D3PLOT
The STRAIN PATH option allows the user to plot the Major Engineering Strain v Minor Engineering Strain path for the selected entities, see Section 6.9.7.2. This produces a plot of Major Engineering Strain v Minor Engineering Strain at every plot-state, see the following figure. This option is useful as it shows the strain-route taken by an element. For example, if the material properties defined by the user do not allow failure then this plot may help to highlight elements that appear to be okay at the end of the analysis but are likely to have failed during the analysis if failure criteria had been included in the material model. If the selected entities are shells then D3PLOT will display the first 20 shells that have been selected. If a material has been selected then D3PLOT will only display the first 20 shells in that material.
User manual Version 11.0, March 2013 -ve minor strain, between safety curve and pure shear curve.
MARGINAL WRINKLING Between pure shear curve and uniaxial compression curve. STRONG WRINKLING LOW STRAIN Below uniaxial compression curve.
These options automatically set the following items before the plot is generated. 8 Contour levels and colours (see Section 4.4) No element averaging (see Section 4.3.4.5)
After the plot is completed these values are reset to their previous settings. FORMABILITY (CT) Plot
Page 6.126
D3PLOT
Page 6.127
The MAJOR & MINOR option produces a vector plot of the MAJOR and MINOR engineering strains, see the figure below, where the Major Engineering strains are shown with normal arrow heads and the Minor Engineering strains are shown with inverted arrow heads. This can only be plotted if the strain tensor has been output to the PTF files for shell elements.
The following items may be modified before the plot is generated by changing the values in the Principal Stress/ Strain menu, see Section 4.3.7. Number of contour levels Contour colours Length of the vector arrows Shell surface (top, middle and bottom)
The engineering strains are calculated from the shell element strain tensor using the following equations. These calculations ignore any through thickness strains.
Page 6.128
D3PLOT
If the FLC is generated from an equation the following parameters are entered in the boxes: Thickness, N, R, Safety, and Low Strain.
The FLD curves are then generated according to an empirical formula which is generally applicable for steels as follows: If E[minor] < 0 If E[minor] > 0 E[major] = FLD + E[minor] * ( 0.042 * E[minor]+0.627 ) E[major] = FLD + E[minor] * (-0.0086 * E[minor]+0.785) FLD = ( N/0.2116 ) * ( 23.36 + 14.042*min(T, 3.0)) R = Normal Anisotropy Parameter Page 6.129
Where
Other data values SAFETY LOW STRAIN Forming Limit Safety Margin. Strains are ignored if
The safety curve on the FLD and STRAIN PATH plots is automatically generated by subtracting the SAFETY value from the FLC. Next section
Page 6.130
D3PLOT
Page 6.131
D3PLOT
Final shape
Page 6.132
D3PLOT
Once a type has been chosen the standard D3PLOT selection menu is used to define the actual elements or parts. Each side may be any mixture of 2D and/or 3D elements: solids, shells, and thick shells, although in most cases (as here) shells will be used. Sides may be defined by element and/or part, and may have elements added and removed at will, and elements may be deformable or rigid. Definition by part has advantages in adaptively remeshed cases, as in this example, since the part definition is "remembered" across remeshes and the extra elements are auto-matically included in the relevant side. Elements may not exist on both sides at once, and adding an element to one side that already exists in the other will cause it to be removed from the older definition. This cross-check is automatic. The definition panel is updated immediately to show how many elements there are on each side, and you can SKETCH each side at any time to confirm your choice.
6.9.7.4 How the closure calculation works, and the output it produces.
It is necessary to calculate the distance from each workpiece node to the nearest facet on the die. This is done by determining which facet a node will be projected onto when contact is made, and computing to the vector distance (less element thicknesses) between node and facet. This is very similar to the *CONTACT_NODES_TO_SURFACE problem in LS-DYNA, except that D3PLOT must consider nodes at some distance from, as well as in contact with, the die surface. For nodes close to or in contact with a facet this is a simple calculation, but when a node is quite a long way from the Page 6.133
D3PLOT
die problems of ambiguity ("Which facet will I ultimately make contact with?") and complexity ("I need to be tested against many distant facets") arise. To get round these problems, and to achieve a reasonably short computation time, a bucket-sorting process is used: The volume of space around the workpiece, plus a margin, is calculated and then sub-divided by (x,y,z) coordinates into a 3D matrix of "buckets". Each bucket is a smaller, rectilinear volume of space. Each workpiece node is assigned to a bucket, based on its coordinate. Die facets may lie in one or more buckets, or none at all if very distant. For each die facet closure is only calculated for workpiece nodes that exist in the same or immediately adjacent bucket(s) as the facet.
D3PLOT uses a 10x10x10 (x,y,z) array of buckets, and chooses default dimensions such that closure values up to about 20% of the longest workpiece dimension will be calculated. Thus node closures will fall into one of four categories: Node location In Contact Meaning Value
Near to contact Uncomputed The node is too far from the die for a closure distance to be computed, or has fallen into a "tunnel" between facets (see below). Uninvolved For nodes not in the workpiece, so not involved in the closure calculation at all. Closure categories and associated values Note 1: These values are defaults which can be changed, see OPTIONS... below.
The workpiece node lies on or behind the die facet surface. (The penalty algorithm in LS-DYNA 0.0 means that a node may penetrate an element.) The node is reasonably close to a facet, and a closure distance can be calculated. > 0.0 -1.0 1 -2.0 1
Page 6.134
D3PLOT
This figure illustrates the final state of the example shown earlier. Here the "die" side is actually the punch, since that is the shape against which we wish to measure closure. Note that the contour levels have been chosen explicitly, with unequal intervals, to illustrate the following: The centre of the workpiece is fully in contact: green area, value = 0.0. There is a zone of progressive opening roughly half way up the walls, where a gap between workpiece and punch is opening up: yellow (0.01) to red (0.5). The rest of the workpiece has a gap of 10mm or more (purple). All punch (ie the "die" side) nodes, for which no closure values are calculated, are blue, having the value of -2.0. There is a small patch of "uncomputed" nodes (light blue, = -1.0) at about 4 oclock on the workpiece. The reasons for this are explained later.
Page 6.135
D3PLOT
For workpiece nodes the average thickness of all elements meeting at the node is used, for die facets the actual value is used. For each side individually you can apply a factor to the "true" value, or override it with an explicit value. (You may wish to do this if you have used artificial thicknesses during the calculation, since this will affect contact geometry.) OPTIONS... Controlling calculation parameters The default parameters chosen by D3PLOT should be satisfactory in most cases, but there are situations when you may wish to alter them. The OPTIONS... command gives access to the following adjustable parameters. "Die facet overlap %age" controls the extent to which die facets are artificially enlarged (in the in-plane direction) for the purposes of checking workpiece node projection. This is important where the die surface is convex with respect to the workpiece, since it helps to prevent workpiece nodes falling into the "tunnels" between projected facet volumes. This can be illustrated as follows:
Page 6.136
User manual Version 11.0, March 2013 Using the Die facet overlap %age value to prevent nodes being lost on convex surfaces When workpiece nodes are being projected onto a convex die surface problems can arise when nodes lie in the dead zones ("tunnels") where facets meet. This is illustrated here: nodes marked * lie in the areas opposite die facets, and so "know" which facet they are likely to be projected onto. Nodes marked + in the shaded tunnel areas dont "know" which facet they will be projected onto, and so no closure value is calculated for them. Clearly this problem becomes more acute as the distance of a workpiece node from the die increases, and is the main reason why closure values for such distant nodes may appear randomly to be classified as "uncomputed", and given a value of -1.0.
D3PLOT
Page 6.137
D3PLOT The situation can be improved by artificially increasing the width of die facets so that they overlap, using the "Die facet overlap %age" factor. This is illustrated here: a value of 10% (the default) has been used, and this shows how the "tunnel" dead zone has been made smaller, and also extended further away from the die surface. Clearly larger values will lead to fewer nodes being lost in "tunnels", but this must be balanced against the fact that it may lead to invalid closure values being calculated when nodes are projected onto the wrong facets because these have become artifically extended. This is a case for engineering judgement.
Using the Sort Bucket oversize %age to include distant die facets The volume of space used for bucket sorting is based on the dimensions of the workpiece, not the die. Therefore if the die is much larger, or some considerable distance away, then there is a good chance that many facets on it will lie outside the bucket volume, and this means that they wont be considered when computing closure. Increasing the Sort bucket oversize %age value from its default of 20% may include these ... BUT: Closure values calculated from distant facets are likely to be unreliable, since by the time the workpiece and die meet at that point their respective structures will probably have been deformed so much that contact will actually occur at some other location. Increasing the bucket volume will increase the number of nodes and facets in each bucket. The time taken to compute closure rises as a function of (NWorkpiece * NFacet) in each bucket, and these values increase as a function of bucket volume, ie linear dimension cubed. So increasing the bucket size can lead to a rapid rise in the time taken to compute closure, in the worst case by a fourth power.
Or, put another way, you need good reasons to increase this value! Controlling the values used for uncomputed, uninvolved and distant nodes. These values do not affect the calculation at all, only the values assigned to special cases. Set uncomputed to: Is the value assigned to nodes on the workpiece for which no closure value can be computed. By default this is -1.0, but you can choose any value - although you should avoid values that might be confused with valid results (ie zero or small +ve numbers).
Set uninvolved This is the value assigned to all nodes in the model that are not part of the workpiece. The default to: is -2.0, but again you can choose any sensible value.
Page 6.138
D3PLOT
Nodes with computed closure values greater than this value have them reset to the "uncomputed" value. By default this is +1.0e20, ie no nodes will ever fall into this category, but you can set it to a sensible upper-bound value.
The advantage of using negative values for uncomputed and uninvolved nodes is that they will never be valid closure distances, and so can be isolated during contouring by judicious choice of contour bounds, or excluded from plots altogether with the Limiting Values option in the CONTOUR menu.
The closure calculation has to be repeated when: Either the workpiece or die contents are changed, by adding or removing elements. Any closure parameter (thickness, bucket size, etc) is changed. A new complete state is read in. A velocity arrow or contact force vector plot is carried out. (Since the temporary storage space used is overwritten by these two plotting modes.)
While closure is being calculated a "progress" bar is written to the dialogue box stating how far, in %age terms, the calculation has gone. You can use STOP to terminate it prematurely at any time.
6.9.8 VISUALISATION
The figure (right) shows the VISUALISATION control panel. This option allows input files for ray tracing codes to be generated. Output files may be written in a format suitable for either RADIANCE or POV-RAY. Notes 1) Only shell elements/materials may be selected for output. 2) ASCII files generated using this option can become very large due to the input formats required by POV-RAY and RADIANCE.
Next section
Page 6.139
D3PLOT
Page 6.140
D3PLOT
Page 6.141
D3PLOT
On the New Model panel you can choose to read any Settings or Properties files present after you have read in the model. The default filenames used will be: The most recent Properties file in the model directory of the name: <filename>_nnn.prp The most recent Settings file in the current directory of the name: d3plotnnn.set These will be applied as if they had been read in explicitly above using RETRIEVE_SETTINGS.
Page 6.142
D3PLOT
Page 6.143
D3PLOT
name This is a demonstration example Will read the title "This is a demonstration example"
cont_format <format>
Denotes how the number format of the contour bar is determined. <format> can be auto, manual, scientific or general. The exponent number to use for a manually defined contour bar number format. The number of decimal places to display on a manually defined contour bar number format. Denotes automatic contours to be used with <#bands> levels where 1 <= #bands <= 13 Contour bounds are determined by scanning the data once read.
cont_format manual Will set the contour bar number format to manual cont_exp 3 Will set the exponent number to E+ 3
cont_exp <exp>
cont_dp <dp>
cont_dp 2 Will set the number of decimal places to 2 automatic 10 Will use automatic contour levels with 10 bands
automatic <#bands>.
levels <#levels> <L1> <rr> <gg> <bb> <L2> <rr> <gg> <bb> to #levels lines
Denotes manually specified contours with <#levels> values where: 2 <= #levels <= 14 Each level has a value <Ln> followed by Red Green Blue colour components, each component being in the range 0 - 100. Colour <i> spans the band <i> to <i+1>
levels 6 0 0 0 100 5 0 100 100 10 0 100 0 15 100 100 0 20 100 0 0 25 100 0 100 Sets up 6 levels, ie 5 bands, from blue to magenta
Note on contour levels / bands: Commands "automatic" and "levels" are mutually exclusive, you cannot have both. If neither is defined then the default is "automatic" with the same number of levels as currently used for normal contouring. In the "levels" case you must follow the levels command with the correct number of lines of data.
Page 6.144
User manual Version 11.0, March 2013 Only one of these options may be used. circle_f is a fixed diameter circle_v <factor> circle <min_dia> circle_v is a variable diameter <max_dia> circle, with diameter set to <factor * data> rect_f <width> rect_f is a fixed size rectangle <height> rect_v is a variable size rectangle of width <fac_w * data> and rect_v <fac_w> height <fac_h * data> <fac_h> <min_dim> <max_dim> In both "variable" cases there is limiting minimum and maximum size for the symbol. circle_f <diam> If nothing is defined the default is a fixed size rectangle of 20 x 20 units. show_value <true/false> show_nid <true/false> Whether or not the data value is drawn as a label on top of each points symbol. The default is false. Whether or not the node id is drawn as a label on top of each points symbol (for points defined with <ndata>). The default is false. Whether or not the x,y,z coordiantes are drawn as a label on top of each points symbol (for points defined with <data>). The default is false. Whether or not arbitrary text is drawn as a label on top of each points symbol. The default is false. Data point values. Each point must have an (x,y,z) coordinate followed by a value. The value may be floating point or integer. Some optional arbitrary <text> (limited to 80 characters) can be written at the end of the line to annotate the data. If there are spaces in the text it needs to be enclosed by " ". Any number of data values may be input, by default none is defined. ndata <node_id> <value> <text> Defines a data <value> at node <node_id>. The data value will remain constant, but its plotted position will always be the nodes current coordinate at a given time. Some optional arbitrary <text> (limited to 80 characters) can be written at the end of the line to annotate the data. If there are spaces in the text it needs to be enclosed by " ". Any number of data values may be input, by default none is defined. circle_v 0.1 30 250
D3PLOT
Would set a variable diameter circle based on 0.1 * the incoming data value, and subject to a minimum size of 30 units and a maximum of 250 units. rect_v 0.2 0.1 100 300 Would set a variable sized rectangle, width = 0.2 * data, height = 0.1 * data, with a minimum size of 100 units and a maximum of 300 units. Screen units are based on the scaled screen unit of 4096 units across the window width. show_value true Would cause values to be drawn. show_nid true Would cause node ids to be drawn. show_coord true Would cause coordinates to be drawn. show_text true Would cause arbitrary text to be drawn. data 10.1 20.2 30.3 500.0 "some text" Would make a point at position (10.1, 20.2, 30.3) with a value of 500.0 and some text will be displayed if the show_text flag has been set to true (see above).
show_coord <true/false>
ndata 101 350.0 "some text" Would specify a value of 350.0 at node 101 and some text will be displayed if the show_text flag has been set to true (see above)
Page 6.145
D3PLOT beam <x1,y1,z1> <x2,y2,z2> <colour> Defines a "beam" (really just a line) from (x1,y1,z1) to (x2,y2,z2) in colour number <colour>. At present colours are hard-wired as follows: 1. Red, thin line 2. Green, medium width line 3. Blue, thick line (This feature is a crude solution and will probably develop in the future.)
User manual Version 11.0, March 2013 beam 1.0 1.0 1.0 2.0 2.0 2.0 2 Would drawn a medium width green line from (1,1,1) to (2,2,2)
Page 6.146
D3PLOT
Some examples. Note that displaying the underlying model in grey usually works well as it gives good contrast with the coloured symbols, as does using transparency to show underlying structure.
Page 6.147
D3PLOT
Here the symbols in the plot above have been changed to rectangular, varying; and display of data values has been turned on.
Here symbols have reverted to fixed size squares, and two "beams" have been added to demonstrate their appearance.
Next section
Page 6.148
D3PLOT
Page 6.149
D3PLOT
D3PLOT
6.9.12 COMPRESS
This option can be used to generate a new set of PTF/D3PLOT files for a model that contain only a subset of the Parts and States in the original model. See section 6.7.7 for more details. Next section
Page 6.151
D3PLOT
Page 6.152
D3PLOT
Page 6.153
D3PLOT
Where: Are the participation factors for mode <i> in the global X, Y and Z directions. These are extracted from the eigout file output from Dyna. Are the spectral accelerations for mode <i> in the global X, Y and Z directions. These are extracted from the Time Period vs. Acceleration curves provided by the user. Is the frequency of mode <i>.
Is a factor that is applied to the results by Dyna to make the mode shapes visible. This is extracted automatically by D3Plot from the results file. Is the results value at mode <i>
There are two important points to note: 1. All results values are processed this way. This will not make sense in some cases, for example, thin shell thickness will be incorrect in the combined mode. 2. Thin shell stress tensors are rotated to the elements local coordinate system of the undeformed geometry before they are combined. They are rotated back to the global coordinate system in the combined mode.
Page 6.154
User manual Version 11.0, March 2013 By default the results from all the modes will be combined, but if you wish you can choose to only consider a subset of modes. To do this, press the Modes button to bring up the panel shown on the right.
D3PLOT
Where: Is the response for mode <i> Is the response for mode <j>
Page 6.155
D3PLOT
User manual Version 11.0, March 2013 Is the Cross Modal Coefficient for modes <i> and <j>
Where: Are the damping ratios for modes <i> and <j>
As with the SRSS method the follwing two points should be noted: 1. All results values are processed this way. This will not make sense in some cases, for example, thin shell thickness will be incorrect in the combined mode. 2. Thin shell stress tensors are rotated to the elements local coordinate system of the undeformed geometry before they are combined. They are rotated back to the global coordinate system in the combined mod By default all modes will be processed and the damping for each mode is set to 5%. As with the SRSS method you can chose to select only a subset of modes to consider by pressing the Modes button. This will bring up the panel shown on the right. Also in this panel different damping values can be set for each mode.
Page 6.156
D3PLOT
The combined mode can be output two different ways, either in a new family member of the opened model or as a completely new file. In both cases the combined mode will have a frequency value of 10*the highest mode in the model. A log file will also be produced in the folder where the model resides called "resp_spec.txt". This contains information about which input files were used, the combination method, and the factors calculated by D3Plot to produce the combined mode.
Custom Allows user control over all the coarsening parameters. Mild coarsening is the recommended level for most models, as it tends to give the best trade-off between speed and image quality.
Page 6.157
D3PLOT
This is the original image. Time to animate a frame on representative hardware: approx 95mS / frame
This is the same model using Mild coarsening. Some "speckling" is evident and the overlay is poking through in a few places. However time to animate this model is now reduced to about 50mS / frame.
Page 6.158
D3PLOT
Finally here is the same model using Severe coarsening. More artefacts are visible, and the large patches are clearly evident on the glass panels. However time to animate now approx 30mS / frame, which is over 3x as fast as the original model above.
Page 6.159
D3PLOT
Unconditionally
Use for LI, HI and Overlay determines whether or not the coarsened mesh lines are used for wireframe plots, and overlay on shaded and contoured plots. Normally you should leave this box unchecked, as the coarse overlay is not representative of the true mesh, however it can be useful when tuning some of the other parameters. Outward normal error, Edge straightness error and Max edge attributes. Play with these at your peril! The default values usually work reasonably well, but they have been arrived at by trial and error over a wide range of models rather than by any scientific means. It is beyond the scope of this manual to explain the theory behind them. State used for coarsening mesh determines which state is used when extracting the coarse "Patches". An example of using this is given below. Normally this should be the last state, as this will usually have the greatest deformation and hence limit the elements that can be merged into patches. However if the last state is corrupt, or you are only displaying earlier states, you may get an improvment in both image quality and speed if you choose an earlier state. Update Coarse mesh using parameters below. If you modify any of the detailed parameters the coarse mesh will not be recalculated, and the changes will not therefore take effect, until you press this button.
Page 6.160
D3PLOT
Page 6.161
D3PLOT
Page 6.162
D3PLOT
Page 6.163
D3PLOT
Loadcase Name
Specify a name for the combined loadcase.
Select Subcases
Select the subcases to combine
Page 6.164
D3PLOT
Set Factors
Factors can be applied to the selected subcases (Default = 1.0)
Read/Write Combinations
To save time having to create different loadcase combinations each time a new D3PLOT session is started, the combinations can be saved to a text file. The combinations can then be read back into D3PLOT in later sessions. The file is a simple text file and could be generated by an external program as part of an automatic process. The format is: START_SUBCASE,<name> <subcase_id>, <factor> <subcase_id>, <factor> <subcase_id>, <factor> . . etc. END_SUBCASE START_SUBCASE,<name> <subcase_id>, <factor> <subcase_id>, <factor> <subcase_id>, <factor> . . etc. END_SUBCASE . . etc. The file is not model specific so you could save combinations from one model and read them in for another. If a selected subcase ID doesnt exist in the new model it is ignored.
Page 6.165
D3PLOT
6.10 GROUPS:
Groups as of V9.0 of D3PLOT (Nov 2003) have been extensively rewritten to remove some limitations and to provide new features. In particular: You may now have an unlimited number of groups. The previous limit of 30 is removed. Groups are now automatically stored in a ".grp" file for this model, and are "remembered" across successive runs of D3PLOT, with no intervention required by the user. ".grp" files are model dependent. The ascii *GROUP format used by Primer may be read in as ".asc" files, and converted to internal groups. These files may be created simply by hand, and are model independent. ".asc" files may also be written. They are also read by T/HIS, and this permits groups to be used consistently across the software suite. Groups may be used in most contexts where selection takes place, for example BLANK, WRITE, etc. They can be set up for a model in any of the following ways: Defined interactively during a D3PLOT run using CREATE. Read in from an external ascii (.asc) groups file Read in from an "old" binary (.bin) groups file Reread from a previous D3PLOT run, made available automatically via the <jobname>.grp file. For backwards compatibility the "old style" binary groups files ".bin" may still be read (see section 6.10.8 below), but they are no longer written and their use is deprecated.
Page 6.166
D3PLOT
CREATE
Create groups by selecting an entity type (e.g. PART), then selecting using the normal methods. You must STORE the group to make it available for blanking and other operations. STORE saves the group to memory, but not to disk.
SAVE
SAVE stores all selected groups in an ascii (.asc) groups file, making the groups portable across different models. The format of this file is described in section 6.10.1 below.
Therefore you may read in any number of ascii group files, and the most recent definition of a group in such a file will Page 6.167
READ_OLD... Reading "old" (pre version 9.0) binary .bin groups files.
For backwards compatibility the ability to read older .bin binary groups files has been preserved, however D3PLOT can no longer write these files. These files contained up to 30 groups which, in pre 9.0 versions, were hard-wired as labels 1 to 30. When read back in the following rules are applied:
Group labelling.
Each group in the .bin file is stored as the first free group id for this model. Therefore assigned group ids will depend on what has been created &/or read in previously. You are informed about the label assigned to each group as it is read in.
Page 6.168
User manual Version 11.0, March 2013 *GROUP <title> <label> (<props>) <Properties>
D3PLOT
This is a header designating a new group. <title> may be up to 80 characters wide <label> is in the range 1 to 99999999 (However large numbers are deprecated ) <props> are optional graphical properties to be applied to this group - see <Properties> below. From release 9.3.1 onwards the following optional "properties" may be added, in free format (space or comma separated) in columns 11 to 80 following <label> <colour> <transparency> <display mode> <overlay mode> <overlay colour> <brightness> <shininess> <blanking status> colour name, or RrrrGgggBbbb 0 - 100 WIRE, HIDDEN, SHADED, CURRENT NONE, FREE, ALL, CURRENT colour name, or RrrrGgggBbbb 0 - 100 0 - 100 BLANKED / UNBLANKED
Only required fields need to be defined, and trailing fields that are omitted result in "no change" to the relevant property. If intermediate fields are not to be changed then an asterisk "*" should be inserted. For example the line: 10 red * * green * 70 Means: <group label 10> <colour contents red> <no change to display mode> <no change to overlay mode> <overlay colour green> <no change to brightness> <shininess 70%> <no change to blanking status
This "property" information is applied when the group is read in from ASCII file, but in 9.3.1 was not stored inside D3PLOT. If the group was exported to file again this information was not present. From 9.4 onwards if the group is exported this information is now present, updating properites if they have changed. There are a few rules that D3PLOT follows when writing the "property" information: If the entities in a group all have the same value for a property then this is what is written; If the entities in a group have different values for a property, and the "Use first entity properites" switch is on, the value of the property of the first entity in the group is written; If the entities in a group have different values for a property, and the "Use first entity properites" switch is off, a "*". is written. PRIMER neither reads, stores nor exports this information. This "properties" line is an interim development inserted for release 9.3.1 and this capability will be developed in the future.
Page 6.169
User manual Version 11.0, March 2013 <item> must be one of PART, SURFACE, NODE, SOLID, SHELL, BEAM, TSHELL, MASS, DISCRETE, SEATBELT, ACCELEROMETER, SLIPRING, PRETENSIONER, JOINT, RIGIDWALL, SEGMENT. If preceded by a minus sign (eg -PART) then these items are removed from the group. <range> must be one ALL all items in that category eg PART ALL of: <i> : <j> <start> to <end> range eg SHELL 10 : 200 <i j k l Up to 5 discrete labels on a eg SOLID 10 20 33 45 m> line 200 As many lines as required to define the group may be used. The "proper" group definition in Primer also supports the suffix BOX <label> at the end of a line, meaning that the preceding definitions on that line are limited to what lies within the *BOX definition. Because D3PLOT doesnt "know" about boxes these are ignored, and you should avoid the BOX suffix if you are planning to use group files outside Primer.
*END
This is optional, and is taken to mean the end of the file. A physical <end of file> is treated as terminating the last group in the file, and no *END is required.
Any number of group definitions may exist in a file, with the next *GROUP header effectively terminating the previous group definition. The easiest way to create a groups file is to write one from D3PLOT, and then look at it in a text editor. The format is extremely simple and easy to understand. Warnings: a) D3PLOT groups contact surfaces, if they are present, by interface segment. Since segments are not numbered in a LS-DYNA input deck, or indeed may not even be present for contacts defined by anything other than segment sets, attempting to read these back into PRIMER will fail and such definitions should be edited from ascii groups files if they are to be used for this purpose. b) Group files written by PRIMER may contain BOX arguments, limiting the geometric region in which items are included. Because D3PLOT doesnt "know" about boxes it cannot apply these, and they are ignored. Therefore if you are intending to create groups that are portable across programmes it is recommended that you do not use the BOX argument. Next section
Page 6.170
D3PLOT
6.11 ATTACHED
The ATTACHED menu can be used to find entities that are physically attached together. Each time you press ATTACHED D3PLOT does the following: Looks at what you want to find attached (beams, shells etc.). Find what is immediately "attached to" what is currently visible . Unblanks these newly found items Redraws the image. The result is progressively more and more of the model being drawn until nothing attached to what is currently visible (which is not necessarily the whole model) remains to be unblanked and drawn. NOTE: This is slightly simpler than the Attached function in Primer as it only finds items attached at nodes.
Page 6.171
D3PLOT
Page 6.172
D3PLOT
Page 6.173
D3PLOT
Page 6.174
D3PLOT
The display and labeling of items in "time-history" blocks can also be controlled using the Mark Items and Label Items buttons in the T/HIS Global Command menu.
Page 6.175
D3PLOT
After turning on the timeline in a T/HIS graph You can drag this bar in the T/HIS window to a new point, and the D3PLOT graphics window will jump to the new time. Equally if you move the D3PLOT graphics window to a new state the bar in the T/HIS plot will update. Note that the timeline bar can only be positioned at times in the complete state (.ptf) file, since only these times are available as plotting states for D3PLOT. (Although D3PLOT can interpolate between states it would be potentially misleading to associate a "real" time-history value at some intermediate time with an interpolated graphical state.)
Page 6.176
D3PLOT
CHILD T/HIS graphs can have their window borders removed by docking the windows using the Dock option in the Toolbar of each window.
6.12.2.3 Parent
This option only applies to CHILD windows. Each T/HIS graph can be positioned within any D3PLOT window.
Page 6.177
D3PLOT
6.12.2.4 Position
This option only applies to CHILD windows. Each T/HIS graph can be positioned automatically into one of the four quadrants: bottom/top left/right. Alternatively each T/HIS window can be moved and resized by clicking and dragging on its borders and positioned anywhere within the parent D3PLOT window. This example shows a DOCKED window located in the bottom right hand quadrant of the graphics window. No button bar is drawn because the mouse is not in that window.
Page 6.178
D3PLOT
. Only one item can be located at a time: each new pick supersedes the previous one. To turn off the crosshairs deselect LOCATE in the T/HIS panel.
Page 6.179
D3PLOT
Parent
Position Set the position for CHILD windows (see Section 6.12.2.4 for more details)
Page 6.180
D3PLOT
Page 6.181
D3PLOT
6.13 Trace
Trace adds lines ("traces") showing the motion history of selected Nodes, Airbag Particles and SPH elements. The entities traced are user-selected, and the attributes of the trace lines are also selectable. Here is an example of a crush tube on which the corner nodes of the plattens have been selected for traces. The outline undeformed geometry is also displayed to show how the trace paths display the path from original to current geometry.
Page 6.182
D3PLOT
3. 4.
The meaning of the remaining controls is as follows. Click on an item to go to its detailed description. Trace Type Set the type of entity to select (Nodes, Airbag Particles and SPH elements) Sets the colour to be used. May be fixed or based on data values at the node. Trace line width. May be fixed or based on dat avalues How many points prior to the current node position are shown. The line can be solid along its length, or can fade out. The line itself is always shown, but you can also choose to show the current and previous symbols In hidden mode the lines are subject to hidden surface removal, ie they co-exist with other items. In wireframe mode they are effectively drawn on top of any structure and will always be visible. Export to XY_PLOT Make a graph of the global co-ordinates of the nodes at each time-state.
Trace Colour
Trace width
Trace length
Page 6.183
D3PLOT
Page 6.184
D3PLOT
If you have previously performed some sort of data-bearing plot that has generated values at nodes then DATA colours will draw traces bearing those colours at the selected entities. This allows you to show how values have changed over time. For example the image below uses DATA mode to display colours showing X displacement on the example above. Here the traces have been added to a shaded image contour plot, but they would still be coloured if added to a non-data-bearing plot.
The image below shows another example using DATA mode to display Translational Energy for airbag particles.
Page 6.185
D3PLOT
Page 6.186
D3PLOT
Show all states before curr. This shows all states from #0 to the current one.
Show all states This shows all states, including those both before and after the current one.
Page 6.187
D3PLOT
Page 6.188
D3PLOT
In "Wireframe" mode trace lines are effectively drawn above the model and will always be visible.
6.13.9 XY Plot
Make a graph of the global co-ordinates of the traces at each time-state. The plots can be saved as curve files or transferred to T/HIS if the T/HIS link is open.
Page 6.189
D3PLOT
Page 6.190
User manual Version 11.0, March 2013 (1) Read from file (2) Simple formula Data is read from externally supplied ascii data file(s) Data is calculated internally from a "simple" formula using standard internal data and arithmetic. Data is calculated using a small Javascript file.
D3PLOT These three methods are easy to use, and in particular Simple Formulae may be created interactively. They are suitable for simple processing on a per node or element basis.
Data is created via the Javascript interface (see section 11), not to be confused with method (3) above This is a much more powerful method than the three above, in that data can be extracted in an arbitrary fashion and written likewise, however it is not interactive. It is described briefly in section 6.4.18 below, and the API functions are described fully in the Javascript Interface Appendix.
Page 6.191
D3PLOT
Node scalar A single scalar value at nodes Node vector So/Sh scalar So/Sh tensor Beam scalar Beam vector 1. A [x,y,z] vector at nodes (3 values) A single scalar value at solids, shells, thick shells A [xx,yy,zz,xy,yz,zx] tensor at ditto (6 values) A single scalar value at beams A [x,y,z] vector at beams (3 values)
Define a component name. A default name will be generated, but any name (up to 30 characters, an unique) may be used so long as it is unique: it must not conflict with any built-in component names, or any other user-defined component names. Define a data source from one of: Data is read from externally supplied ascii data file(s) Data is calculated internally from a "simple" formula using standard internal data and arithmetic. Data is calculated externally using a Javascript file.
2.
Define a "root" data filename, simple formula or Javascript filename depending on the data source.
2. Finally CREATE the new component to save it. There is also a category of "User Defined Binary Components", referred to as UBIN, that may only be generated by the separate Javascript interface to D3PLOT (not to be confused with the "Javascript file" data source referred to here). See the Javascript Interface documentation for more information about these.
Page 6.192
D3PLOT
An existing component may be edited at any time. Click on Edit... Choose the component to be edited from the menu Change its attributes. Click on Update to save the changes The component name and data source may be changed ad lib, but the basic class of the component (Node/SoSh/Beam and Scalar/Vector/Tensor) can not be altered. To change the component class it is necessary to delete it and then recreate it using the new class.
Page 6.193
D3PLOT
This method assumes that data in the appropriate format has been generated externally and saved in ascii format data files.
Filename syntax
A separate file is required for each state, and its name is determined from the "root" filename supplied. This must be of the form <name>nnn<.ext> <name> Is an arbitrary prefix nnn Is one or more digits. Where: For example a valid filename might be"nodal_1.dat" (decomposes to <nodal_>, <1>, <.dat>) The actual number used in the "root" filename is not material, it must just be a digit from 0 - 9.
For each state the digit <nnn> is replaced with the number of the state, so in the example above D3PLOT would look for the file sequence: nodal_1.dat for state #1, nodal_2.dat for state#2, and so on. The number nnn can have up to 10 leading zeros, so both nodal_1.dat and nodal_0001.dat would be acceptable filenames, and the number of leading zeros does not have to be the same for each state. If a file for a given state is not found then values of 0.0 will be used for that state.
Page 6.194
D3PLOT
Scalar data
One of NODE SCALAR A new header can appear at any time to start a new data category. SOLID SCALAR BEAM SCALAR SHELL SCALAR TSHELL SCALAR Optionally: DEFAULT <value> A default of 0.0 is assumed if this line is not present Optionally: SURFACE TOP or MIDDLE or Ignored for Node, Solid or Beam data. BOTTOM or For shells the current surface is assumed unless a SURFACE or LAYER <layer no> LAYER line is defined. Followed by any<label> <value> If <label> is not found in the model the line is ignored. number of lines <label> <value> Entities which dont have a value line are given the default value. Coordinate none is implied Does not apply to scalar values. system Example of a nodal scalar data file: Example of a shell scalar data file: NODE SCALAR default 400.0 12 13 14 15 16 17 1.382457E+02 -4.655358E+01 -2.706973E+02 -2.615501E+02 -1.364710E+02 8.553621E+00 SHELL SCALAR default 10.0 surface top 1 1.23456e+02 2 2.34578e-02
Page 6.195
D3PLOT
Vector data
One of NODE VECTOR BEAM VECTOR DEFAULT <3 values: x,y,z> A new header can appear at any time to start a new data category. Vector data is not valid for solids, shells or thick shells A default of (0.0, 0.0, 0.0) is assumed if this line is not present If <label> is not in the model found the line is ignored. Entities which dont have a value line are given the default vector value. These two conventions match the raw data in LS-DYNA database files.
Optionally:
Followed by any <label> <3 values: x,y,z> number of lines <label> <3 values: x,y,z> Coordinate system: Nodal data is assumed to be in the global cartesian system
Beam data is assumed to be in the element local system Example of a nodal vector data file: NODE VECTOR default 1.0 2.0 3.0 1 6.988275E+02 -1.468281E+02 2 7.038895E+02 -1.475109E+02 3 7.089514E+02 -1.481938E+02 4 7.140133E+02 -1.488766E+02 5 7.190753E+02 -1.495595E+02 6 7.241373E+02 -1.502424E+02 7 7.291992E+02 -1.509252E+02 8 7.342611E+02 -1.516081E+02 9 7.393231E+02 -1.522909E+02 10 7.375262E+02 -1.273784E+02 1.032284E+02 7.875581E+01 5.428316E+01 2.981051E+01 5.337874E+00 -1.913478E+01 -4.360743E+01 -6.808007E+01 -9.255272E+01 -9.361953E+01
Page 6.196
D3PLOT
Tensor data
One of SOLID Followed TENSOR SHELL by one of TENSOR_UPPER TSHELL TENSOR_LOWER TENSOR implies linear data order TENSOR_UPPER implies upper triangular order TENSOR_LOWER implies lower triangular order (The tensor is implicitly symmetric) Optionally: DEFAULT <6 values> A default of [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] is assumed if this line is not present If a default is supplied it must be in the order implied above. Optionally: SURFACE TOP or MIDDLE or BOTTOM or LAYER <layer no> GLOBAL LOCAL_DYNA LOCAL_NASTRAN_2D LOCAL_NASTRAN_3D Ignored for Solid data. For shells the current surface is assumed unless a SURFACE or LAYER line is defined. Default, and need not be specified, tensor data is normally assumed to be global Tensor, all six 3D terms, is in DYNA3D local element axis system Tensor, only three 2D terms, is in NASTRAN local element axis system Tensor, all size 3D terms, is in NASTRAN local element axis system [xx, yy, zz, xy, yz, zx] [xx, xy, xz, yx, yy, zz] [xx, yx, yy, zx, zy, zz]
Optionally one of
This option permits data to be defined externally in the element local coordinate system. It will be converted to global when read, and stored internally in the global system. The definitions of element local coordinate systems in DYNA and NASTRAN are not the same, so make sure that you specify the correct one for your data source in order to obtain the correct transformation back to the global system. A 2D tensor, the LOCAL_NASTRAN_2D case, reads 3 columns of [xx, yy, xy] data only. Terms are expected in the same order as in the normal 3D case, with the columns for the missing terms omitted. The missing terms will be set to zero internally. Followed by <label> <6 values> any <label> <6 values> number of lines If <label> is not found in the model the line is ignored. Data must be in the tensor order implied by the header above Entities which dont have a value line are given the default values. Coordinate system The global cartesian system is assumed, but conversion from external local to internal global is possible via a LOCAL_xxx option. This matches the raw data in the LS-DYNA database
Example of a shell tensor data file: SHELL TENSOR Default 1.0 2.0 3.0 4.0 5.0 6.0 Layer 1 1 2 3 4 5 6 7 8 9 10 1.1567E+02 7.0594E+00 1.0105E+02 1.4473E+00 8.9096E+01 7.1164E+00 2.4371E+02 2.1562E+02 2.2813E+02 1.9249E+02 -3.9286E+01 3.7640E+00 1.4159E+01 -5.2854E+01 -4.0171E+01 9.4949E+00 2.0140E+01 3.8205E+01 2.3411E+01 -2.1300E+01 -1.2514E-01 -1.1621E+00 9.5627E-01 1.7974E+00 3.4451E-01 -1.1046E+00 -1.7336E+01 2.8096E+00 1.8917E+01 -1.3462E+00 -1.2733E+01 5.0975E+01 1.1344E+01 2.5017E+01 -4.2868E+00 4.2835E+01 -7.3324E+01 -4.1887E+01 -6.7636E+01 -4.9531E+01 3.8389E+00 9.0807E+00 -3.2170E+00 -1.0200E+01 3.0106E+00 4.2636E+00 -3.4727E+00 1.1632E+01 1.1483E+01 -5.8716E+00 -4.6773E+00 -9.8825E-01 -8.7537E+00 -5.3932E+00 -6.8030E+00 1.6420E+00 -1.1746E+01 -1.0129E+01 -1.0553E+01 -8.7624E+00 Page 6.197
D3PLOT
Example of a shell tensor data file that is ex-Nastran data defined in the element local system. Note that only XX, YY and XY terms are defined in this _2D case. SHELL TENSOR LOCAL_NASTRAN_2D Surface top 1 2 3 4 5 6 7 8 9 10 6.988275E+02 7.038895E+02 7.089514E+02 7.140133E+02 7.190753E+02 7.241373E+02 7.291992E+02 7.342611E+02 7.393231E+02 7.375262E+02 1.032284E+02 7.875581E+01 5.428316E+01 2.981051E+01 5.337874E+00 -1.913478E+01 -4.360743E+01 -6.808007E+01 -9.255272E+01 -9.361953E+01 -1.468281E+02 -1.475109E+02 -1.481938E+02 -1.488766E+02 -1.495595E+02 -1.502424E+02 -1.509252E+02 -1.516081E+02 -1.522909E+02 -1.273784E+02
Calculates results from a "simple" mathematical formula using built-in data components and standard maths operations. All calculations are performed using floating point arithmetic and produce a single result, thus: Scalar components are evaluated from a single formula Vector components use three (independent) formulae: one for each of [x,y,z] Tensor components use six formulae, one for each of[xx,yy,zz,xy,yz,zx]
To the power of. Thus "x**2" is "x squared" Note that "^" is Fortran syntax, not the C "exclusive OR" operator. Modulus operator (x % y is remainder of x / y) Brackets may be nested to any (reasonable) level There is also a "mod" maths function. (...) take precedence over all other operators
Note: all arithmetic is floating point, thus both "5.0 / 2.0" and "5 / 2" will both deliver the answer 2.5 A formula must be a single line, up to 256 characters long.
Page 6.198
User manual Version 11.0, March 2013 Nodal data bx by bz cx cy cz dx dy dz dm vx vy vz vm ax ay az am Basic X coordinate Basic Y coordinate Basic Z coordinate Current X coordinate Current Y coordinate Current Z coordinate X displacement Y displacement Z displacement Displacement magnitude X velocity Y velocity Z velocity Velocity magnitude X acceleration Y acceleration Z acceleration Acceleration magnitude rdx rdy rdz rdm rvx rvy rvz rvm rax ray raz ram temp tbot tmid ttop tfx tfy tfz tfm dtdt X rotation displacement Y rotation displacement Z rotation displacement Rotation displacement magnitude
D3PLOT
X rotation velocity Y rotation velocity Z rotation velocity Rotation velocity magnitude X rotation acceleration Y rotation acceleration Z rotation acceleration Rotation acceleration magnitude Temperature Nodal (shell) bottom surface temperature Nodal (shell) middle surface temperature Nodal (shell) top surface temperature X temperature flux Y temperature flux Z temperature flux Temperature magnitude dTemp / dTime
Stress and strain tensor-derived data is extracted in the global frame of reference unless the "l" (for "local") suffix is added to the component acronym, in which case it is extracted in the element local system. See below for how the Frame of Reference transformation applies to Simple formula components. sxx XX stress syy YY stress szz ZZ stress sxy or syx XY stress syz or szy (symmetric) szx or sxz YZ stress (ditto) ZX stress (ditto) sxxl syyl szzl sxyl or syxl syzl or szyl szxl or sxzl XX stress YY stress ZZ stress XY stress (symmetric) YZ stress (ditto) ZX stress (ditto) exx eyy ezz exy or eyx eyz or ezy ezx or exz exxl eyyl ezzl exyl or eyxl eyzl or ezyl ezxl or exzl XX strain YY strain ZZ strain XY strain (symmetric) YZ strain (ditto) ZX strain (ditto)
Page 6.199
D3PLOT Non-directional components derived from tensor data svon smax smid smin sav sms evon emax emid emin eav ems von Mises stress Max principal stress Mid principal stress Min principal stress Average stress (pressure) Max shear stress von Mises strain Max principal strain Mid principal strain Min principal strain Average strain (pressure) Max shear strain Strain energy Strain energy percentage Strain energy density Kinetic energy Kinetic energy percentage Kinetic energy density Fx resultant force Fy resultant force Fxy resultant force Qx resultant force Qy resultant force Mx resultant moment My resultant moment Mxy resultant moment 2D (in plane) max princ stress 2D (in plane) min princ stress 2D (in plane) max princ strain 2D (in plane) min princ strain 2D (in plane) princ strain ratio Solid only data erate Strain rate vol rvol thk area eden hgen tstp mass madd enl enlp enld epl
User manual Version 11.0, March 2013 Effective plastic strain Strain rate Plastic strain magnitude Engineering Major strain Engineering Minor strain Engineering Thickness strain
rfx rfy rfxy rqx rqy rmx rmy rmxy s2max s2min e2max e2min eratio
Shell Thickness Shell Area Internal energy density Hourglass energy Timestep Mass Added mass
Page 6.200
User manual Version 11.0, March 2013 Beam only data bfx bfy bfz bfr bmxx bmyy bmzz brm bsxx bsyxor bsxy bszxor bszx bep beax bsax bpe1 bpe2 bry1 bry2 brz1 brz2 bmy1 bmy2 bmz1 bmz2 baen bie brxx Axial force YY shear force ZZ shear force Resultant force XX torsional moment YY bending moment ZZ bending moment Resultant moment XX axial stress YX shear stress (symmetric) ZX shear stress (ditto) Plastic strain Axial strain Total axial strain Plastic energy at end 1 Plastic energy at end 2 Y rotation end 1 Y rotation end 2 Z rotation end 1 Z rotation end 2 Y moment end 1 Y moment end 2 Z moment end 1 Z moment end 2 Axial energy Internal energy Torsional rotation Solid Extra component #n Shell Extra component #n ammgn amssn adens adomf bbed baed bied bsen bsenp bsend bken bkenp bkend benl benlp benld
D3PLOT Bending energy density Axial energy density Internal energy density Strain energy Strain energy percentage Strain energy density Kinetic energy Kinetic energy percentage Kinetic energy density Energy loss Energy loss percentage Energy loss density
soxn shxn
Ale Multi-Matl group #n Mass of MM group #n Ale density Ale dominant fraction Contact global X force Contact global Y force Contact global Z force Contact local X force Contact local Y force Contact local Z force Contact force magnitude
Contact data
Contact Normal Stress Contact Tangential stress Contact local X stress Contact local Y stress These are contact segment data averaged at nodes
Page 6.201
D3PLOT LSDA (binout) data (Only available if both a ZTF file and a binout file have been read.) sw_f sw_s sw_trsn sw_fail sw_time sp_f sp_e sp_m sp_r xsec_f_x xsec_f_y xsec_f_z xsec_m_x xsec_m_y xsec_m_z xsec_a Spotweld force Spotweld force Spotweld moment Spotweld Spotweld time axial shear sr_p torsion failure failure rt_f rt_p sb_f sb_l
User manual Version 11.0, March 2013 Seatbelt axial force Seatbelt length Slipring pull-through Retractor force Retractor pull-out SPC X node) SPC Y SPC Z SPC X node) SPC Y SPC Z force (at ditto ditto moment (at ditto ditto
Spring axial force Spring elongation Spring torsional moment Spring rotation Database X-sect X force ditto Y force ditto Z force ditto X moment ditto Y moment ditto Z moment Database X-sect area
User-defined components
Nodal scalar component #n So/Sh scalar component #n Beam scalar component #n Material density Youngs modulus Poissons ratio Yield stress Failure strain
} Simple formulae may reference other user} defined components as well as the standard } components above. These are calculated by PRIMER and written to the .ZTF file, so they will only be available if a ZTF file has been read. (A binout file is not required.) Not all properties are calculable for all material types, and -1.0 will be returned where values cannot be computed.
Applicability of the "Standard" data components in the table above The data components above are all implicitly available for nodes.
Where the data is nodally-derived (eg current X coordinate cx) then the value is used directly. Where the data is element-derived (for example beam axial force bfx, or contact stress csn) then the nodal value will be the average of all elements of the relevant type meeting at that node.
Elements may only use components of their "native" type, or nodally-derived data.
Where an element data component matches the element type (eg X stress sxx for shells, or YY bending moment bmyy for beams) then it is used directly. Where an element references a nodally-derived data component (eg X displacement dx) the value used will be the average of all nodes on that element. Where an element references an element-derived data component of a different type (eg a shell element refers to beam axial force bfx) then the result will be zero
Page 6.202
User manual Version 11.0, March 2013 assemble data from multiple integration points in an element.
D3PLOT
The current global / local / cylindrical "frame of reference" (see section 4.3.4.3) does not apply when a Simple Formula value is calculated from raw tensor components (eg Sxx) for solids and shells. The unqualified acronym (Sxx, Syz, ...) always extracts global data, and the acronym with an "l" suffix (eg Sxxl, Sxzl) always extracts element local data. However if you build a tensor Simple Formula (6 formulae) for solids or shells then the current "Frame of reference" is applied when it is used. In other words tensor Simple Formulae are created as "raw data", exactly like analysis data read from disk, and are subject to the same transformations when used. It is necessary to work this way in order to prevent "double transformations". (Scalar and vector user-defined components are not transformed.)
General functions
sqrt(x) log(x) (natural log) log10(x) (log base 10) exp(x) (e to the x)
abs(x) int(x) (truncate to integer) nint(x) (nearest integer) ceil(x) floor(x) asin(x) acos(x) atan(x) atan2(x, y) asinh(x) acosh(x) atanh(x)
Note that the "built in" data components described above can be referred to as simple acronyms, whereas maths functions require their arguments to be placed inside brackets.
Page 6.203
D3PLOT
Page 6.204
D3PLOT
D3PLOT
The value used is the return value of the Javascript function. By convention this is the result of the final executable statement. The (generally small) Javascript function is run for every element or node that requires data evaluation, so for a large model there may be some delay while all the values are computed.
Page 6.206
D3PLOT
Page 6.207
D3PLOT When you Save the current component you are asked to choose: Which file(s) to save it in.
$OASYS is the system-wide file, usually where the software is installed. $HOME on Unix/Linux ($USERPROFILE on Windows) is your home directory $CWD is the current working directory The formula will be saved in all files selected for which you have write permission. Overwrite existing determines what happens if the name of the component to be stored matches one already in the file. If you choose to overwrite then the original component in the file will be overwritten with the new definition. Otherwise the current components name will be added to the file, with its name modified by adding the suffix #1 (or #2, ...) to make it unique. Name comparison is not case-sensitive, but does consider embedded white space. For example: "My beam component" is treated as being identical to "MY BEAM COMPONENT"
In addition whenever a new model is opened any "d3plot.ucf" file in that models directory is scanned, and any "unique" components are loaded.
Page 6.208
D3PLOT
<Name> <Definition row #1> : : (Up to five further rows) For FILE a single row For FORM 1, 3 or 6 formulae. Each on a new line, and each up to 256 characters long. For JAVA a single row
The file is free-format ascii (text) and is not case sensitive. Each row must be on a single line, up to 256 characters long. Blank lines are ignored. Lines starting with "%", "$" or "#" in column 1 are treated as comments, and are also ignored. The only exception is that on Unix/Linux systems filenames are case-sensitive and they will be stored exactly as they have been defined. The file may be hand-edited using a normal text editor. It will also be updated by the Save and Reload options described above.
Page 6.209
D3PLOT
Here is an example of a typical file $ Example file, created for user manual 1/11/2007 NODE_VECTOR FILE Example of nodal vector file i:\demos\example1.dat NODE_SCALAR FORM Example of scalar node form sqrt(dx + dy + dz) BEAM_VECTOR FORM Example of vector beam form fx * eax fy * eyz fz * ezx SOSH_TENSOR sxx * exx Syy * Eyy sxx * ezz sxy * exy * syz * eyz * szx * ezx * FORM Example of elem tensor form
In 2D/3D plotting
In this context the User > button(s) will become "live" in the Nodal results (outlined in red) and/or Solids and shells (outlined in green) contexts if components of the relevant types have been defined. Under each category scalar and vector/tensor components are listed separately. Scalar components are selected directly, and the individual sub-components of the vector/tensor cases may be selected from popup sub-menus.
Page 6.210
D3PLOT
Note: The von Mises calculation in this context assumes stress, not strain. For an explanation see section 12.15.1.6
In Beam Plotting
As with 2D/3D plotting the User > button will become "live" if user-defined components for beams are created. Sub-components for vector types are selectable in exactly the same way.
In Vector Plotting
In this context any Nodal Vector user-defined components are added to the standard list of components (Disp, Vel, Accel) eligible for vector mode (arrow) plotting. Obviously in this context the vector component as whole is selected, as all three terms are used to generate the image.
Page 6.211
D3PLOT
6.14.8 "User Defined Binary" (UBIN) components generated from the Javascript interface
There is a fourth class of user-defined data component that shares all the attributes of those described above, which is used with the Javascript interface (described in section 11, and not to be confused with the "Javascript file" method above). UBIN components are far more powerful than the methods above since data can be extracted for any node or element, from any state and at any integration point; and it can be written anywhere in the same way. In addition the Javscript API allows data to be read from and written to external disk files, so UBIN components can be created from any mix of internal and external data using algorithms of arbitrary complexity. UBIN components are used in the same way as the three types above except that: UBIN components can only be created and manipulated via the Javascript interface. They are cached on disk in <jobname>.ubd files alonside the normal database files, meaning that they persist across D3PLOT sessions. Their data is stored in compact binary form, meaning that access is quick but <jobname>.ubd files are not editable. Once a UBIN component has been created in the Javascript it will appear in the lists and menus of user-defined components, and can be used in exactly the same was as any of the other user-defined components described above. The creation and management of UBIN components is described in more detail in the Javascript Interface Appendix.
Page 6.212
D3PLOT
7 IMAGES
The IMAGES option allows static screen images and animations to be captured and also to be read in as background. "Bitmap" static images and animations are handled using the menu below, whilst for Laser plotting see 7.3 LASER PLOTTING.
Page 7.1
D3PLOT
Page 7.2
D3PLOT
CAPTURE Captures the current animation in one of the following formats: AVI (.avi)
The file format, replay characteristics and frame repeat parameters can be defined.
Multiple Windows
When multiple windows are present, any or all of these may be included in the images and animations by using the tabs and dropdown menu. If the T/HIS link is open the menu will have two columns; one for D3PLOT windows and one for T/HIS windows. The captured image will be the size of the window.
White Background
With this option switched on images will be captured with a white background. Entity labels and screen text will be switched to black. Once the image has been captured the screen will return to its original colours.
Page 7.3
D3PLOT
Page 7.4
D3PLOT
8 Bit Compressed BMP : 8 Bit Uncompressed BMP : 24 Bit Uncompressed BMP: PNG: GIF: PPM:
Page 7.5
D3PLOT
Here is the original 24 bit-plane image, saved as a JPEG file. Size 5.1kB
This is the undithered equivalent bitmap image. Size 7.3kB. Note how the discretising affect of mapping onto a limited colour palette has caused "banding" which makes the image almost unusable. However at least the files are small!
"Dithering" is a technique in which an ordered pattern of noise, xxxxx in the table below, is added to the least significant bits of a colour value to make it alternate between two adjacent shades. Consider the bits for a single colour in this image that have been truncated from 24 bits (8 bits each of Red, Green and Blue). Truncated bits are shown in lower case. Original Red byte 001????? truncates to 001ooooo
Adding the dither pattern oooxxxxx to the bottom 5 bits of the original byte gives 001????? + oooxxxxx giving either or 001ooooo 010ooooo
The result may be truncated to 001ooooo, or the Some banding is still visible, but it has been reduced to an increased to the next shade up 010ooooo, depending on acceptable level, and the coarsening of spatial resolution is the trailing bits ????? and the noise value xxxxx at also evident. that pixel. Generally dithering gives the best results for animated 8 bit The effect is to produce a composite shade that is images somewhere between the two originals. Palette Optimization When 8 bit images are produced the 24 bit palette has to be reduced to only 256 colours. To do this the best way is to use Palette Optimization to choose the most representative colours used in the image. Without Palette Optimization 256 colours can be chosen uniformly along the original 24 bit palette, missing out important colours. The following figures show the differences in images with Palette Optimization.
Page 7.6
D3PLOT
This is the original image, saved as a GIF, with no dithering or palette optimization. Size 6.1kB
This is the image, saved as a GIF, with palette optimization. Size 12.6kB Note that whilst there are still bands, the coarseness of them has diminished.
The two images above were created from a shaded image plot in D3PLOT and therefore contained a lot of different colours. The banding is present because the palette has been reduced to the 256 most representative colours in the image. The following figures are images of a contour plot in D3PLOT.
This is the image, saved as a GIF, with palette optimization. Size 3.1kB Note that due to the smaller number of colours in the image, there is no banding.
This is the image, saved as a GIF, with dithering. Size 3.7kB Dithering is not well suited to images with distinct colours since by its nature it produces colours that are somewhere in between neighbouring colours. This is effective with shaded images, but not with images where there are sharp changes of colour.
Page 7.7
D3PLOT
Page 7.8
D3PLOT
Page 7.9
D3PLOT
Page 7.10
D3PLOT
Page 7.11
D3PLOT
7.3.1 LASER Controlling laser plotting using the Laser Plotting panel.
This figure shows the basic laser plotting panel. This is invoked by the Postscript/pdf command under Images->Write in the top menu box. It both controls and shows the status of the current laser file (if any).
D3PLOT
When no file is currently in use the File: entry box will be available. You can give any valid filename for the next laser file to be written, or let D3PLOT choose one for you. You can also use the standard file filter box. button to select a file via the
If the file already exists you will be queried to check that you genuinely want to overwrite it: you cannot append to existing laser files. The default naming convention used by D3PLOT for laser files is postNNN.pdf, where: NNN is a 3 digit number (with leading zeros if required) in the range 001 - 999. Any existing files are skipped when the next file in the sequence is computed, so in the example above file post001.ps already exists.
Page 7.13
D3PLOT
Page 7.14
D3PLOT
LANDSCAPE The figures below show examples of 3x3 Landscape and 2x4 Portrait multiple plots.
PORTRAIT
Page 7.15
D3PLOT
The colours referred to above are used for the button icons on multiple sub-image panels, as shown in the figure above. Only green icons (ie those which are currently inactive) may be selected to receive the next image.
Page 7.16
D3PLOT
Next section
Page 7.17
D3PLOT
The header on each frame is altered to show the animation frame number and corresponding time value. (Normally this would show the analysis title.) The plot title is unchanged, but the figure number is replaced with the first frame number on each sheet. Filenames are generated automatically if required using the standard naming sequence described in Section 7.1.2.
Page 7.18
User manual Version 11.0, March 2013 statusdict begin /a1test save def /a1test save def The arguments of the "BoundingBox" line are the Postscript coordinates: <lower left> <lower right> <upper left> <upper right>
D3PLOT
These must be expressed in raw Postscript space of 72 points per inch, and they assume that the paper is in portrait format with its origin at its lower left corner. The the values in the example above refer to A4 format: 210 x 297 mm = 595 x 842 points; US "letter" paper would give 8.5" x 11" = 612 x 792 points. Clearly a smaller bounding box would select only a subset of the image. For more information on encapsulated postscript see the "PostScript Language Reference Manual, 2nd edition" by Adobe Systems Incorporated. (Published by Addison Wesley, ISBN 0-201-18127-4)
Page 7.19
D3PLOT
Page 7.20
D3PLOT
Page 7.21
D3PLOT MOVIE (AVI file) Read movies in one of the following formats: AVI (.avi)
MPEG (.mpg) We support all movie formats that we are able to create, namely bitmap AVI, MJPG AVI and MPEG. Some AVIs need extra codec to be read in successfully, an error message will tell you that the codec is not supported and you will need to install the appropriate codec in order to read the movie. Movie Options Movie Options allow you to choose the start frame and state as well as the interval for both the movie and the simulation analysis. This can be particularly useful when you try to synchronize the movie with the simulation analysis. See Matching for how this can be done. Scaling Options If the movie dimensions do not match the graph window dimensions then the image can be scaled to fit or it can be tiled.
Page 7.22
User manual Version 11.0, March 2013 Movie (Static files) Read a series of files with the same name and extension in a format of <name>nnn.<ext> E.g. d3plot001.jpg, d3plot002.jpg, d3plot003.jpg.....d3plot010.jpg D3plot will search for all qualified images and read them together. D3plot will then display them in the order as theyre numbered as you play the simulation. Movie Options You can control the start frame and interval the same way as you do with movie frames, and aligh them with analysis data, too. See Matching for how this can be done. Scaling Options If the image dimensions do not match the graph window dimensions then the image can be scaled to fit or it can be tiled. This will be applied to all images once youve set it.
D3PLOT
Page 7.23
D3PLOT Further playback options File reading options allow you to stipulate the start, increment and end frames to be read from the file. Each animation frame with have a single file frame displayed behind it, this allows you to choose what that should be. Alignment with analysis data controls which frames from the analysis will be used. This is equivalent to using the main Anim > Set states popup to define the states to be displayed, and will modify the master animation display status accordingly. Playback method controls whether background animation data is streamed from its source, or stored in memory (cached). Streaming decompresses each frame as and when it is required, so only requires storage for a single frame per window. This may be a little bit slower, although generally AVI files will decompress at a rate of 60 frames per second or better, but it require little memory. Caching decompresses all frames into an initial storage buffer, and then replays from this buffer. This is very fast, but if you have a significant number of frames in your background file you can end up running out of memory. This may be a suitable solution for a movie built from "static files", since they are likely to be few in number but relatively slow to decompress; however it is not recommended for AVI files.
Page 7.24
D3PLOT
7.5 Watermarks
It is possible to add a "watermark" to a plot. Simply load in an image file in the watermark panel and set its transparent colour and overall transparency. It will be drawn in front of the normal image, using the transparency settings you have defined. The position and size can also be set. Below is an example with black as the transparent colour (the image was created on a black background) with 20% opaqueness.
Page 7.25
D3PLOT
Print resolution:
On the standard Print ... panel there is an extra resolution option.
Page 7.26
D3PLOT
Choosing 2x or 4x resolution will capture the image at that factor times the current screen resolution, and will give a higher quality image. This may be useful if your screen is small, or you are planning to print on larger paper.
Page 7.27
D3PLOT
Page 7.28
D3PLOT
Page 8.1
D3PLOT
Page 8.2
User manual Version 11.0, March 2013 As each command is stored it is also reported in the Current command status area at the base of the box. Each command ha a unique line number, and in this example line #1 (out of 1 line recorded so far) is the command /ac in the dialogue box.
D3PLOT
Plays the recorded commands forwards from the current position, listing them in the Current command status box as described above. A time delay of 1 second between commands is left by default, but you can alter this using the SPEED... options. STOP halts this process. Respectively step backwards and backwards a single command. Respectively search backwards and forwards for a specified command. You can search for any permutation of box name, function or dialogue string. The options shown here are presented to you when you use either SEARCH button. It is recommended that you use the [?] buttons to identify boxes or functions from menus, as these will get the syntax right. Command string searches are not case sensitive.
Will take you to line #1 and the last line respectively. Will take you to the line number you specify.
Page 8.3
D3PLOT
Page 8.4
D3PLOT
Page 8.5
D3PLOT
Page 8.6
User manual Version 11.0, March 2013 It also echos the RECORD/STOP status of the record box if that is in use.
D3PLOT
Since the main panels for these two operations take up a lot of space on the screen you can use the simple on/off functionality provided by the "launcher" box instead. Think of it as a primitive remote control that can only has a "pause" function. It operates as follows: During Playback: When you are in PLAY mode the PAUSE button will be available, and you can press it to pause playback. Once pressed, as in the example above, it will be greyed out and the RESUME button made available instead. This, obviously, continues the playback. During Recording: When RECORD is on, as in the example here, the PAUSE button is live. If pushed it suspends recording, and subsequent commands will not be recorded until RESUME is pressed.
In either case you can of course invoke the main control panels and override these buttons. When recording or playback are not active then the buttons on this panel will be greyed out: they only become "live" when they might be needed.
Diagrammatically this gives: <Dialogue string (80 characters)> |C| <Encoded screen-menu function values> If the continuation column (#81) is occupied then it assumed to be a "long" line, and the character string can extend to column 132. Any screen-menu function values will then appear on the next line. If columns 82 to 132 are empty the command is assumed to be a simple "dialogue" command, typed in by the user. An example of a command file is: $ $ D3PLOT version 7.0 session file $ Date/time: 25-Nov-95 17:42:00 $ /re 2 1 /bl sta 1 /hi 1 DISMISS 26 CFILE 23
1 1 1 3 3
1 1 1 2 2
0 0 0 1 14
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
Page 8.7
D3PLOT
8.5.2 Backwards compatibility with command files from earlier versions of D3PLOT
This file format is fully backwards compatible with text-only command files from earlier versions of D3PLOT. They will have nothing in columns 82 to 132, and so will be treated as command-line input, which is what they are. The command-line syntax in Version 7.0 of D3PLOT is virtually unchanged from earlier releases, so the vast majority of existing command-files should run with no modification.
D3PLOT
Runs "command filename" until its end, and then reverts to normal command line input. This optional. If used then D3PLOT exits when the end of the command file is reached.
Page 8.9
D3PLOT
Page 8.10
D3PLOT
9 DISPLAY OPTIONS:
Controlling the appearance of the display and many of the items drawn on it.
The main Display Options control panel is shown right. This contains switches (left column), and options with sub-menus (right column), which control many aspects of display appearance. See the following sections for details: 9.1 Back faces 9.2 Internal faces 9.3 Local Triads 9.4 Model box 9.5 Undeformed 9.6 Spring symbols 9.7 Beam symbols 9.8 Belt symbols 9.9 SPH symbols 9.10 Airbag Particle symbols 9.11 Other symbols 9.12 Spotweld symbols 9.13 X-Section symbols 9.14 SPC symbols 9.15 Hidden options 9.16 Free edges 9.17 Window dressing 9.18 Graticule 9.19 Fonts Overlay display, colour and edge angle are described in section 4.3.2.2
Page 9.1
D3PLOT
9.1 BACK_FACES switch: Display of back faces of solid and thick shell elements
To save graphics rendering effort the "back" faces of 3D elements (solids and thick shells) can be turned off. This is the default on 2D devices, but on 3D devices they are left on (in case the model is rotated to expose its back). The effect of this is shown in the figures below.
BACK_FACES off
BACK_FACES on
9.2 INTERNAL_FACES switch: Display of inside faces of solid & thick shell elements
By default the internal faces of 3D elements are never displayed: as well as requiring extra rendering effort leads to cluttered plots. The figure below left shows a wall of solids with internal (but not back) faces turned on, and below right, the same wall with both internal and back faces on.
You may need to turn internal faces on if you are trying to screen pick solids several layers deep by screen-area. Otherwise each screen area selection will only pick the (visible) solids at the front of the image, like peeling an onion, and several such picks will be required to select all the solids through the depth.
Page 9.2
D3PLOT
The method used to compute element local axes is given in the following section: Solids Thin shells Thick shells Beams Segments Section 12.7.4 Section 12.8.2.1 Section 12.9.6 Section 12.10.1 Contact segments use the same method as thin shells. In all cases D3PLOT generates local axes from the element topology alone. Note that it does NOT currently "know" about any local material axes, beta angles or ply directions.
An easier way of spotting reversed outward normals of shells and interface segments The local Z axes (outward normals) of shells and interface segments are important in some contexts. For shells averaging across adjacent elements with top and bottom surfaces flipped gives misleading contours, and for interface segments some types of contact surface cause problems if their outward normals face the wrong way. Therefore, as well as being able to display local triads, you can plot their OUTWARD_NORMAL components in CT continuous-tone plots. This plots normals that face you in magenta, and those that face away from you on blue. It makes it easy to spot elements that face the wrong way: certainly it is easier than hunting for reversed local Z axes using triads!
Page 9.3
D3PLOT
Page 9.4
D3PLOT
The following attributes of the undeformed geometry may be set: (NOT_)DRAWN Whether it is displayed. COLOUR Line Style Edge Style Its line colour May be Broken or Solid May be All edges or Free edges only.
Page 9.5
D3PLOT
9.6 SPRING_SYMBOLS... menu: Setting the drawing style for springs and dampers
By default springs use "zig-zags" and damper elements use "dashpots"
You can change these to Plain line style, in which they are drawn as simple lines. This saves vectors, reduces clutter, and can be useful during animation to improve speed and economise on memory usage. See Section 9.9 for details of how grounded and zero length elements are drawn By default springs will be drawn using the line thickness set in the Utilities Graphics menu. To highlight springs the default thickness can be set to a value in the range 1>10 pixels. This thickness will also be used when contouring spring forces.
Page 9.6
D3PLOT
Note that "spotweld" (type 9 referencing *MAT_SPOTWELD) beams will only be drawn as such if a ZTF file for this analysis is found, as this contains the extra section data required to determine their attributes.
9.8 BELT_SYMBOLS... menu: Setting the sizes of seat-belt and related symbols.
You cannot change the symbols used for drawing seat-belts and related elements, but you can change their visual size in this menu. All dimensions are expressed in model space units and can be changed at will, the default values are only an estimate of what should look sensible.
Page 9.7
D3PLOT
Page 9.8
D3PLOT
This image shows a "chicken" made of SPH elements striking a flat plate, and demonstrates the default spherical symbols at quality level 2 and their true radius. The SPH elements have been contoured with their radius.
Page 9.9
D3PLOT Point
User manual Version 11.0, March 2013 Uses "points" to display particles. These are 2 dimensional squares drawn in the plane of the screen at the appropriate location, and with width and height "radius" x 2. "Points" are drawn extremely fast in OpenGL, and since a typical airbag may have tens of thousands of particles this is the default display method.
Cube
Uses a cube of width, height and depth "radius" x 2 to display particles. This only ever shows 3 faces, so it is reasonably fast to draw, but it looks a bit odd showing a spherical element as a cube. However cubes have depth and orientation, and can be lit, so the result is better-looking that a "point".
Sphere
Draws a sphere of the relevant radius, giving a "true" particle appearance. However spheres require many facets for rendering, making these slower to draw. Sphere quality is a value between 1 and 5 which determines the number of facets used to render the sphere symbols. Each increment halves the equatorial and meridional angular increment size, quadrupling the number of facets on the symbol. The default value of 1 gives a rather "pointy" looking particle symbol, but it is usually acceptable given their small size. Higher quality values may be necessary when generating images for presentation. Default "point" method.
Spheres, quality = 1
This image shows a typical "pancake" airbag being inflated by particles. Part of the fabric has been cut away to show the particle elements inside which are drawn by the default "point" method. The three images on the right show a detail of the right hand side to demonstrate how the different display methods appear when enlarged. For this particular analysis the "point" display method gave an animation speed that was limited by the refresh rate of the monitor at 85 frames per second, whereas the "sphere" methods displayed at about 30 fps or slower.
Spheres, quality = 2
Page 9.10
D3PLOT
Page 9.11
User manual Version 11.0, March 2013 The number of particles "live" at the state current when the panel was mapped is shown. This figure is not updated automatically as states change, but may be updated to the current state at any time by clicking on the Gas Properties button again.
Vis(ibility)
Whether or not the particles in this gas will be displayed. By default all will be shown, but any gas may be switched on/off individually. Note that this is not the same as blanking particles, rather it is analogous to turning the "entity display switch" for the gas on or off.
Colour
Selects the colour for the particles in this gas. By default all particles in a bag will inherit the colour of the airbag itself (as set via the Properties or Colour panels), but individual colours may be specified for each gas within a bag. The colour option "By Gas id" may be used at the Bag level to set a range of colours for all gases in the bag automatically.
Leakage
Selects display based on leakage values. By default all leakage states are shown, but any permutation of values may be set. Note that selecting a global leakage value in the main options panel (as described above) will propagate down to all active bags, overwriting any individual settings made here.
Page 9.12
D3PLOT
Node symbols controls how nodes are shown. Normally they use a star, but these can be quite slow to draw on some hardware, and points will render many (up to 100x) faster. This image shows "stars"
This image shows a panel of shells with the default "star" symbol seen head on. The images on the right enlarge a corner detail to show both "star" and the "point" alternative.
Page 9.13
D3PLOT
Line This option can be used to increase the width of Thickness the lines used to draw the arrows. By default the length of each arrow is scaled by the magnitude of the data value. If this option is selected then all the arrows will be drawn the same length and just the colour of the arrow will be used to indicate the value. This option can be useful if there is a large variation between values and the arrows for the smaller values are difficult to see. Changing any of these values will affect all vector plots (e.g. Velocity) Fixed Length
Page 9.14
D3PLOT
Min (pixels)
This specified the maximum size used when scaling SPC symbols in proportion to the magnitude of the data value. These options can be used to control the size of the arrows used when generating vector plots. Arrow Length This is the maximum length used to draw the arrows used for vector plots.
Max (pixels)
Line This option can be used to increase the width of Thickness the lines used to draw the arrows. By default the length of each arrow is scaled by the magnitude of the data value. If this option is selected then all the arrows will be drawn the same length and just the colour of the arrow will be used to indicate the value. This option can be useful if there is a large variation between values and the arrows for the smaller values are difficult to see. Changing any of these values will affect all vector plots (e.g. Velocity) Fixed Length
Page 9.15
D3PLOT
D3PLOT offers these two alternative hidden-line algorithms that are biased towards speed and accuracy respectively. These commands are irrelevant in 3-D mode. PAINTER Where the image is broken into facets and these are drawn in order of increasing distance from the eye of the observer. This is the default method because it is quick and simple, but it can make mistakes: especially at interfaces, and it assumes that facets dont cross or intersect.
RIGOROUS Where the image is drawn internally, each pixel is checked to ensure that the correct parts are drawn, and only then is it mapped to the screen. This takes longer but will never make mistakes, hence it is offered as an alternative for problem plots. The two problems that can occur in "painter" mode, and the way that "rigorous" mode solves them, are shown in the following four figures. "Painter" mode makes mistakes where large and small facets are adjacent
Page 9.16
D3PLOT
The figures above show how "painter" mode gets confused when rendering adjacent facets of different sizes: it draws them in the wrong order. "Rigorous" mode fixes this. "Painter" mode cannot resolve the intersection of crossed facets
These two figures show how "painter" mode cannot compute the intersection when facets are crossed, whereas "rigorous" mode handles this correctly. Which algorithm should I use? Both algorithms are fully operative for all display modes that require hidden-line removal or its equivalent (e.g. CT Continuous-Tone, etc), but the "painter" mode will always be faster, which is why it is the default. You will only need "rigorous" mode when the errors in rendering shown in the figures above become unacceptable. Users on 3D devices are not faced with this dilemma: the hardware Z-buffering used in hardware is, in effect, the "rigorous" algorithm. So you get the better method anyway.
Page 9.17
D3PLOT
FILL COLOUR .... Setting the hidden-line fill colour for 2d and 3d elements.
By default 2D and 3D elements are filled with the current background colour, whatever that may be. However by clicking on the FILL COLOUR... button you may choose any other colour. The feedback button shows the current colour (here "BGround"). The following three images demonstrate how the fill colour can be modified: (1) This image shows the default behaviour: Black background with element infill in the background colour.
Page 9.18
D3PLOT
(2) In this image the background colour has been converted to grey. The default infill is still background colour, so elements are also filled in with grey.
(3) In this image the background is still grey. The hidden-line infill colour has been set explicitly to black.
Page 9.19
D3PLOT
This is a change from pre-V9.4 behaviour in which such elements were drawn in the current "hidden" mode, and it is possible to revert to the previous behaviour by selecting the "Use hidden" option instead. These setting can also be defined via the oa_pref file preferences: d3plot*vector_fill_mode: d3plot*vector_fill_colour: SHADED or HIDDEN A standard colour (eg WHITE, etc) or RGB mixture 0xRRGGBB
From V9.4 onwards element-derived data vectors will only be drawn on elements which have their display mode set to "current". Those with their mode set to "shaded", "hidden" or "wireframe" will not receive data vectors. This does not apply to plots of nodally-derived data, eg velocity vectors, which will be shown on all unblanked nodes. To limit the display of such data use blanking to prevent the display of nodes at which you dont want to see data. This too is a change from V9.3 behaviour, and to revert to the previous appearance select "Mixed mode elements show data" instead. This setting can also be defined via the oa_pref file preference: d3plot*mixed_vector_data: SHOWN or NOT_SHOWN
Page 9.20
D3PLOT
What is a "feature line"? The purely topological definition of a free edge can sometimes give unsatisfactory images since it is dictated purely by element connectivity, and not by the actual shape of the mesh. A "feature line" occurs when adjacent elements, or faces of adjacent 3D elements, have outward normal vectors that are more than the "edge angle" apart. This has the effect of inserting extra lines where the mesh changes shape, giving a better idea of the underlying surface. The "edge angle" is the same as that used to denote sharp edges during smooth shading: see the Edge Angle notes in the section on lighting.
Free edge overlay In this image purely topological free edges have been used. The image is understandable but a lot of detail is absent from areas of mesh of the same part id.
Feature line overlay In this image feature lines with an "edge angle" of 20 degrees have been used. This has resulted in lines appearing in previously empty areas: in particular the mouth and eyes have acquired some detail, and the arms are better defined.
Feature lines are logically ORed with free edges when selected, and they can be used both as overlay on shaded/contoured plots, and as the edging mode for wire/hidden plots. They normally involve more vectors than pure free edges, so they take longer to draw and may have an adverse effect on animation speed.
Page 9.21
The definition above is open to modification: blanking elements can create free edges, as can volume-clipping and the borders between element materials (or contact surfaces). You can control whether or not each of these categories apply by setting the following switches: BLANKING -> EDGES Influence of Blanking on free edge display. Normally blanking elements does not create "free" edges, but if you turn the BLANKING -> EDGES switch on then the edges created by blanking are shown. This effect is shown in the figure below
Page 9.22
User manual Version 11.0, March 2013 CLIPPING -> EDGES Influence of Volume-Clipping on free edge display
D3PLOT
In the same way that element borders created by blanking do not, by default, create free edges; those exposed by volume clipping do not either. This is illustrated in the figure below where a clipping volume is used to remove solid elements from the same wall as in the previous example.
Page 9.23
D3PLOT
MATERIALS -> EDGES Influence of material boundaries on free edge display The border between materials of the same element type does not, by default, qualify as a free edge. (Borders between different element types always qualify as edges.) If MATERIALS -> EDGES is turned on then such borders are treated as free edges. This is illustrated in the figure below.
SURFACES -> EDGES Influence of contact surface boundaries on free edge display You can think of contact surface boundaries in the same way as material boundaries: the different surface ids equate to the different material ids, and the same edge definition logic applies. However: The default setting of the SURFACES -> EDGES switch is on. The reason for this is that it would be very unusual to have two adjacent contact surfaces forming a single (geometric) surface, but it is quite common to have two or more coincident surfaces. In the coincident case it is useful to see the edges. Notes on FREE_FACE options: Free edges are only computed for 2 and 3-D entities, that is: solids, thin shells, thick shells and contact surface facets. Free edge computation is worked out separately for each element type. For example an edge common to a shell and a solid will still be treated as a free edge. Where elements are deleted, due to material failure, free edges may be created at that and subsequent complete states. A "line" mode plot with free edges only is the fastest way of drawing something in D3PLOT since it combines minimal computation with only a small amount of screen vectors. It is a good way of assembling a quick animation Precomputed free-edge dynamic viewing is available: see Section 5.1.0.
Page 9.24
D3PLOT
Page 9.25
D3PLOT
Controlling "Window Dressing": HEADER, DATE, BORDER, CLOCK, TRIAD, CONTOUR_BAR This figure shows the main "Window Dressing" attributes. Each of these can be switched on or off at will, the default being everything except the GRATICULE and BORDER are on. The Window Size shown in this example is Part Screen so that the borders are visible, but the default is Full Screen.
These options are all straightforward, with the exception of the GRATICULE ( see section 9.18 for more details ). Controlling the "soft" window size: Window Size By default the graphics can extend over the complete window area, and no "soft" window clipping is in force. You can restrict the graphics to a sub-set of the screen, i.e. to a "soft" window, by settings a Window Size. This is controlled by the radio buttons in the middle of the Window Dressing control panel, as shown here. There are four pre-programmed options: Full screen Part screen (Default) use the whole screen Leave contour bar and header clear
Report format Set dimensions for local hard-copier User defined Set screen rectangle using the mouse
Page 9.26
D3PLOT
If a window contains multiple models then by default D3PLOT will display multiple titles in the window. Turning off the Display All Titles option will make D3PLOT display just the title form the 1st model in the Window. Display Titles Display Filenames Display Database Labels (Default) The option will display the title for each model Instead of displaying the title of each model this option will display the filename of each model. If a model had been read in using the model database option (see Section 4.1.4) then instead of displaying the title of each model this option will display the label used to identify the model in the database.
Page 9.27
D3PLOT
9.18 Graticule
This can be used to display the current model dimensions. The graticule can be drawn in either 2D or 3D. The format of the numbers on the graticule can be set automatically by D3PLOT or you can manually select the number of decimal places and the exponent value to display. The line and text colours can be modified if necessary.
9.18.1 2D Graticule
If the grid spacing can is set to Auto D3PLOT will calculate a sensible value. If you want you can input a value manually.
Page 9.28
User manual Version 11.0, March 2013 With the 2D graticule the space system used to display the model dimension depends on the current view. Model Is used if the view is space orthogonal down one of the screen X, Y or Z axes. The appropriate XY, YZ or XZ coordinates are shown, and these move as the model moves (try dynamic translation and youll see). Screen Is used if the view is not space orthogonal. This just shows the current window dimensions (X = 0 4095, Y = 0 - 3129). It is only useful for setting up volume clipping using screen space orientation. If a GRID is added it draws a grid on the screen at the current tick mark interval.
D3PLOT
9.18.2 3D Graticule
The 3D graticule option will produce 3 planes aligned with the global x, y and z axis which show the model bounding box. The display of each of the 3 plane can be turned on and off separately as required. As well as specifying the minimum and maximum dimensions for each plane the location of each plane can also be specified along with the grid interval. By default D3PLOT will automatically calculate all the graticule plane values. If the user modifies any of the values then the text box colours will change to WHITE text on a DARK BLUE.
Page 9.29
D3PLOT By default D3PLOT will automatically calculate the location of the 3 graticule planes based on the model dimension. The location of each plane can be changed by entering the new location in the text box. Alternatively 3 pre-set locations can be selected. Automatic This is the default option. D3PLOT will automatically locate the plane at either the minium or maximum value so that it is positioned behind the model from the users view point. As the model is rotated D3PLOT will adjust the plane location as required. At Minimum The plane will automatically be located at the minimum value for the axis. If the axis minimum is modified by the user the plane location will automatically update. The plane will automatically be located at the maximum value for the axis. If the axis maximum is modified by the user the plane location will automatically update.
At Maximum
By default D3PLOT will automatically calculate the minimum and maximum values used to display each plane along with the interval between the values displayed. The minimum and maximum values along with the tick interval can be changed using the text boxes. If any of the values are changed then the text box colours will change to WHITE text on a DARK BLUE. All of the values can be reset to Automatic using the popup menu. If the Tick Interval is set to Automatic D3PLOT will adjust the tick spacing if required as you zoom in and out.
If necessary a transparency value and colour can also be set for the 3 planes
Page 9.30
D3PLOT
9.19 Fonts
Font types and sizes can be set for various text displays. The font size can be set individually for: Labels Title Clock Contour Bar Graticule Setting the size to Automatic, D3Plot will select a font size which will vary with window size. If an explicit point size is selected the text will stay constant no matter the size of the window. The font type is applied to all graphics text. The Graphics text factor scales the font size if it is set to Automatic. It will have no effect if an explicit point size has been selected.
Page 9.31
D3PLOT
Page 9.32
D3PLOT
10 PART TREE
This enables quick navigation around a Model and helps with blanking etc. The Part Tree is available from the tab:
The part tree defaults to a view of the parts within the mode. If a ztf file is present, the model hierarchy by INCLUDE file will be displayed
Page 10.1
D3PLOT
Blanks the item Unblanks the item Blanks all other items and unblanks the item Colours the items (or elements associated with the item)as selected Sets the transparency the items (or elements associated with the item)as selected
Display Mode Marks the item to be drawn with a particular method (wireframe, hidden, shaded or current) Overlay Colour Sets the item to be draen with a particular colour overlay
Overlay Mode Sets the style of Overlay the item is to be drawn with (see section 4.3.2.2)
Page 10.2
D3PLOT
Controls how light or dark the colour of the item is when illuminated, but the effect is to add matt colour (not whiteness, which would make it look shiny). Adds white highlights, but no colour, to make the object look shiny.
Opts
There is a range of options for controlling the part tree available via the Opts pop-up menu. These include how items are labelled and ordered as well as whether assemblies, tree lines and icons are drawn.
Type
From the Type pop-up menu it possible to select a variety of different item types to be displayed in the tree in addition to parts. These appear below the parts in the tree, and most of the options (edit, blank etc) are available through the "right-click" menu.
Page 10.3
D3PLOT
Select
The Select button invokes an object menu for selecting parts. Selection can also be made via the Quick Pick option "Locate in Tree". Operations such as blank,colour, etc may then be carried out on the selected entities.
Include/Assembly
The Include and Assembly buttons determine what type of hierarchy is displayed. These have effect only when the requisite information is available to D3PLOT via the ztf file, and in the case of assemblies, via an assembly file written out by Primer. Assemblies are user-defined hierarchical groupings of parts, created in Primer.
Find
The Find button gives a search option. Text or an ID number is entered in the text field. D3PLOT finds a part whose title contains the text, or a part with an ID matching the number. The arrows determine whether the search direction is up or down from the current selection. Next will find the next matching item. The search will only find matches for currently enabled options (i.e. if id is disabled and items are labelled by name only a search for part 15 will return no matches regardless of its presence in the tree).
Page 10.4
D3PLOT
11.0 Introduction
Javascript is a freely available scripting language that is normally found performing the "work" behind interactive web pages, however its syntax and structure also make it an excellent tool for providing an externally programmable interface to programmes in general. Within D3PLOT it is implemented as follows: There is a D3PLOT Application Programming Interface (API) which provides a range of functions that allow you to interrogate the database, open windows, generate plots, and so on. This is written in a very simple and non-intimidating way, with relatively few functions, that should be easy for non-programmers to use. There is also a function which issues "command line" instructions to D3PLOT, making it possible to use the codes full repertoire of command-line commands, meaning that virtually every function in D3PLOT is callable from within a Javascript. There is a special class of "user defined binary (UBIN) data components" that can be created from within a Javascript, making it possible to generate an unlimited number of new data components which then become available for processing in exactly the same way as the standard ones found in an LS-DYNA database. Finally the D3PLOT API shares the same user-interface methods and commands as the PRIMER one, making it possible to generate user-defined panels as part of the graphical user interface, and to read and write files.
Anyone familiar with C or shell script programming will find existing Javascripts are instantly readable, and can be given minor edits without further ado. For those who are more ambitious a good guide to the language is "Javascript, A definitive Guide" by David Flanagan, published by OReilly, ISBN 0596101996. The sections below describe how to run Javascripts in D3PLOT, and summarise its Javascript API. For details of the API and its functions, and also some examples, see the Javascript Appendix
Page 11.1
D3PLOT
Page 11.2
D3PLOT
If a run-time error is deliberately introduced by omitting the second argument (SHELL) to GetElementsAtNode(), making the first line: if(i = GetElemsAtNode(1)) Then this is not picked up during compilation because the syntax is correct, but shows up when the script is run with the message: %%% ERROR %%% Fewer than 2 arguments supplied to Javascript function <get_elements_at_node> And the script run terminates prematurely. Because this example script has only one call to GetElementsAtNode() it is easy to identify and correct the problem, but in more complex scripts with many such calls it may be necessary to insert diagnostic Print() statements in order to track down a particular error.
D3PLOT files see Utilities, Function Keys for details of how this is done.
Using the "description:" comment at the top of a script to identify its purpose. To help to identify scripts special comments are searched for in the top 10 lines of each script, and if description: is found, for example the comment line: // description: Some description of the scripts purpose Then the description line is shown as hover text when the mouse is placed over that filename. In the example above the "princ2d" script has the line // description: Calculation of 2D principal stresses in a shell Using the "name:" comment at the top of a script to change its name Normally the name shown for a script will be its filename, stripped of any leading pathname and trailing ".js" extension. However if the string name: is found in the first ten lines of the script, then the following name will be used instead. For example the line: // name: temporary Will result in the script appearing with the name "temporary" in tha Javascript panel. This does not affect the actual name of the script, only the name on its library button.
+- MEMORY <nnn> Resets the Garbage Collection threshold to <nnn> MBytes To run a Javascript from batch these commands need to be placed in a command file and run using the command line "-cf=command filename" option. For example the command file might be: ... some other commands /JAVA EXEC my_script.js Page 11.4
User manual Version 11.0, March 2013 ...some further commands And the command line required to run D3PLOT might be something like: $OASYS/d3plot93.exe -d=default -cf=command_file -exit analysis_name Obviously multiple script invocations may be placed in a command file. For more information see: Command and Session files Valid D3PLOT command line arguments Describes command files, and explains how to create and use them Describes the various command line arguments, and how to use them
D3PLOT
...Window...
CreateWindow() DeleteWindow() SetWindowActive() GetWindowMaxFrame() SetWindowFrame() GetWindowFrame() GetWindowModels()
Window and frame management Create a new window containing 1 or more models in <model list> Delete (a) window(s), optionally "disposing" of orphan models Sets the "active" flag on the specified window(s) Returns the highest frame in <window_id> Displays frame <frame_number> in the specified window(s) Returns the current frame of <window_id> Returns an object containing information about the model(s) in <window_id> "Getting" general information about the model Returns information about the filenames and other key data in a model General routine to return the quantity of many different things Return the analysis time of the current state, or of <state> if defined. Return the external label of internal <type/item> Return the internal part id of internal <type/item> Return the external material id of internal <type/item> Return an object containing topology, #nodes and part id for internal <type/item> Return a list of elements of <type> at <node> Return scalar, vector or tensor data for data <component> of <type/item> Returns JS_TRUE if data <component> is present. "Setting" general information about the model Sets <model_id> to be current for data "get" and "put" operations Sets <state_id> to be current for data "get" and "put" operations "Locking" and "Unlocking" state memory against reuse ("scavenging")
Get...
GetModelInfo() GetNumberOf() GetTime() GetLabel() GetPid() GetMid() GetTopology() GetElemsAtNode() GetData() QueryDataPresent()
Set...
SetCurrentModel() SetCurrentState()
Lock/Unlock...
LockState() UnlockState()
"Locks" the memory in <state_id> against "scavenging" when reusing memory "Unlocks" memory in <state_id>, making it eligible for reuse in other states Manipulating User Defined Binary (UBIN) data components
...Ubin...
CreateUbinComponent() Create a user-defined internal binary (UBIN) data component and return its "handle" LocateUbinComponent() Returns an object with the <handle> and other attributes of UBIN component <name> Page 11.5
D3PLOT
DeleteUbinComponent() Deletes UBIN component <handle> GetUbinData() Get data from UBIN component <handle> for <type/item> Insert data for UBIN component <handle> for <type/item> PutUbinData()
...Cut...
SetCutSection() GetCutSection() GetCutForces()
Manipulating cut sections Defines cut-section attributes in <window_id> Retrieves cut-section attributes from <window_id> Returns the forces, moments, centroid and area from the cut-section in <window_id> Command line dialogue insertion
Dialogue...
DialogueInput() Executes 1 or more lines of command-line dialogue commands DialogueInputNoEcho() As for DialogueInput(), but with no echo to dialogue box Miscellaneous Diagnostic and other general functions. Print() Prints <arg 1> and any following arguments on the terminal (stdout). User interface and i/o functions common with the PRIMER Javascript API Handles file opening, closing and general i/o Handles creation and management of menu system windows Handles primitives and processing in Window classes
Common
File Window Widget
Notes on programming
Independence of scripts, and runs of scripts Argument types (integer, double, etc) used in the interface Compulsory and optional arguments in the functions above Return values from functions Execution errors and warnings
Recommended window setup when using this API Detailed Description of Javascript Interface Functions.
Window manipulation Setting "current" status items Functions to control the reuse of memory in states
Page 11.6
User manual Version 11.0, March 2013 Functions to "Get" and "Put" data and other information Functions for processing User-defined Binary (UBIN) data components Functions for processing cut-sections Functions for inserting command-line dialogue input Functions for diagnostic ouput
D3PLOT
11.2.3 Examples
By far the easiest way to learn Javascript is by example and, more specifically by modified existing scripts to do what you want. The software comes supplied with examples in the $OASYS/programme_library/examples directory (for D3PLOT $OASYS/d3plot_library/examples) and you are free to use and modify these files for your own purposes. There are also some simple documented examples in the Javascript Appendix Examples section.
Page 11.7
D3PLOT
Page 11.8
D3PLOT
12.0.3 Data components for nodes and element types that write results.
Not all entity types write results to the files processed by D3PLOT. Only nodes, solids, shells, thick shells, beams and contact surface segments have data components available for them. These are described in Sections 12.6 to 12.11 respectively.
Page 12.1
D3PLOT
The "child" members: Have names <job>.ptf01 to <job>.ptf99; then <job>.ptf100 to <job>.ptf999 The maximum size of a family member is set when LS-DYNA is run, and a new "child" member is opened if writing the current block of information would cause the current member to spill over this limit. By default 7Mbytes is used (in single precision), corresponding to 1835008 words of data, but it is possible to change this when the LS-DYNA job is submitted via the X= parameter on the DYNA submission line, or via the Shell. However very large analyses often use a larger family size in order to stop results states spilling over into multiple family members. By default D3PLOT determines the file family size automatically (by taking the greater size of the first two members of a family, and rounding up to the nearest Mbyte). You can over-ride this by setting an explicit size (see Section 4.2.1) but this should rarely, if ever, be necessary. Note: Previous versions of D3PLOT used signed 32 bit integers to represent disk addresses, which limited total database size to 231 words, or 2GWords. Version 8.0 onwards of D3PLOT uses 64 bit integers to represent disk addresses, even on 32 bit machines, which means that it can access disk addresses up to 263 words, or 9e18 words. LS-DYNA from approximately 2002 (~LS960) onwards no longer adheres to the maximum database size logic for .ptf files for larger models. If the state is too big to fit into a single family member it is allowed to increase in size in order to contain the state. D3PLOT handles this automatically.
Page 12.2
D3PLOT
The whole software suite defaults to 7MByte family members if no external environment variables are set. The environment variable FAM_SIZE may be set to a family size in MBytes. This should be an integer between 1 and 100, and it is the preferred method of changing this value since it will be picked up by all the software in the suite. In the Shell you can set a different size when submitting a LS-DYNA job with the Binary file size slider in the ADDITIONAL FILES panel. In D3PLOT the value defaults to FAM_SIZE if this has been set, otherwise it is computed automatically. You can also modify the value both at file input and during a session using the commands described in Sections 4.1.1 and 4.2.2.
Please contact Oasys Ltd if you need more advice on changing this value.
Example 2: Basic control and topology require 8MB, each state 12MB. Root member Control + Geometry (part 1) 7MB Child #2 <State #1: part 1> 7MB Child #4 <State #2: part 1> 7MB
Child #3 Child #5 Child #1 <State #1: part 2> 5MB <State #2: part 2> 5MB Control + Geometry 1MB And so on in pairs (part 2) Note that the basic geometry spills into the first child, and that subsequent <states> always come in pairs of files. In this example child family members containing states could be removed, but only in matched pairs. Hint: Use the UNIX command ls -lt to look at your files. This will give a "long" listing showing file size, and also sort them into chronological order of creation. Then look for matched pairs of files that will, in this example, have 7MB and 5MB sizes with the smaller file being marginally more recent. D3PLOT will skip gaps in a file family sequence if the FILE_SKIP environment variable is set. This is an integer that defines how many missing files will be skipped before the search is abandoned. The default value set in the Shell is 5, but values much larger than this (up to 999) could be used. Larger values will increase the time delay when SCANning files as children are searched for on disk. See Section 4.1.1 and 4.2.1 for ways to alter this value at run time. Page 12.3
D3PLOT
Convex This is now no longer current, but older C1xx, C2xx and C3xx machines used this format. There are two word-lengths in common use: 32 bit 64 bit Single precision, using 4 bytes. This gives 7 or 8 decimal figures of precision, and a decimal exponent in the range +/-38. Double precision, using 8 bytes. This gives 14 or 15 decimal figures of precision, and a decimal exponent of +/-308 in IEEE format, or +/-2465 in Cray format.
There are two possible way to arrange the bytes in the words: Big endian (or Most Significant Byte : MSB) Little endian (or Least Significant Byte : LSB) LS-DYNA is normally supplied such that it writes 32 bit IEEE (Big endian) files, regardless of the machine architecture and precision it is running on. This is achieved by converting results if necessary in the output routines. D3PLOT is capable of reading any of the formats above. It detects the format by scanning the contents and converts it automatically on input to the native format of the machine on which it is running. Therefore you will sometimes see a message like: [This machine is Cray 64 bit Normal endian ] [File format is IEEE 32 bit Normal endian ] when it reads files. This is just a notification message and you need not take any further action: in the example above they will be converted automatically to 64 bit Cray format. Does using 32 bit format on a 64 bit machine reduce the precision of my answers? It does not affect the precision of the calculation at all: this is always performed at the full precision of the machine, and dump files also use the full precision (so restarts do not compromise accuracy). It is only the databases written for post-processing that are truncated to 32 bits. So yes, it does affect the precision in post-processing: you will be forsaking 14 or 15 significant figures for 7 or 8. But consider for a moment what this means: a typical car model might be 5 metres long, so single precision output will resolve displacements to somewhere between 0.05 and 0.5 microns. And anyway, is your calculation really accurate to 0.00001%? It is hard to envisage the situation where this matters and, in the opinion of Oasys Ltd, the benefits of halving disk space usage and having files which may be post-processed without conversion on workstations far outweigh any disadvantages. However Oasys Ltd will supply the code with 64 bit output on request. Are there any other limitations in using 32 bit file formats? Only one: if you are post-processing on a 64 bit machine you will have problems if your 32 bit file contains integers (eg node, element or material numbers) outside the range +/-224 (16,777,216). This is because the bit patterns of integer and floating point numbers become hard to tell apart at this point, and this distinction is required for automatic conversion. Byte order [1] [2] [3] [4] (single precision example) Byte order [4] [3] [2] [1] (single precision example)
Page 12.4
D3PLOT
So, if you run on (say) a Cray and post-process on that machine then try to keep your node, element, material and other labels below this limit. If you take your files to a 32 bit machine for post-processing the problem will not arise and you can use the full valid integer range. Alternatively, please request a version that writes 64 bit output from Oasys Ltd. Why does D3PLOT sometimes mix up IEEE and Cray 64 bit formats in older files? Prior to LS-DYNA 940 it was not possible to tell if a 64 bit file came from a Cray or an IEEE machine. (Subsequent database files contain values which make distinction possible.) Therefore if the file type is indeterminate D3PLOT defaults to one or the other format, which may be wrong. You can control the default 32 and 64 bit file types using the following environment variables: Variable name Word size Possible values Default in V8.0 FILE_TYPE_32 32 bit IEEE, CONVEX IEEE FILE_TYPE_64 64 bit CRAY, IEEE, CONVEXIEEE (was CRAY in V7.x) eg setenv FILE_TYPE_64 CRAY Would be required to read an older 64 bit Cray file in V8.0 Next Section
Page 12.5
D3PLOT
12.2.1 The "complete state" (.ptf) file. (Also .rlf and d3eigv files.)
12.2.1.1 Defining output parameters in LS-DYNA
The following LS-DYNA control cards control output of this file: *DATABASE_BINARY_D3PLOT Is mandatory. Controls output frequency. *DATABASE_EXTENT_BINARY Is optional. This card allows switching of certain parts of the files contents on/off. These are discussed in Section 12.2.1.3 below.
Page 12.6
D3PLOT
NEIPS "Extra" data components for shells and thick shells. Default None. As with solids some material models write extra information for shells. They are <neips> scalar values that: Are written at every "surface" output for every shell, regardless of material model used. Have no explicitly defined components associated with them: this will depend on the material model.
MAXINT Number of "surfaces" written for shell and thick shell elements. Default 3. The default value of 3 writes data at neutral axis, innermost and outermost integration points for shells and thick shells. Values other than 3 write results for the first <maxint> integration points: read Section 12.8.2.2 before using them. STRFLG Write directional strain tensors for solids, shells & thick shells. Default Off. By default no strain tensors are written for any elements, (although effective plastic strain is). Turning this flag on causes the strain tensors for solids, shells and thick shells to be written. Note that: A single tensor at the element centre is written for solids. Tensors at innermost and outermost integration points only are written for shells and thick shells, regardless of the <maxint> value. The following flags can be used to reduce database size by controlling the output for shells and thick shells. By default they are all On. NOTE: None of the following four flags influences the output for solid elements.
SIGFLG Controls the output of the stress tensors for shells and thick shells. The symmetric stress tensor (6 values) is written at <maxint> "surfaces" for every shell and thick shell, so turning this off usually saves 18 values per shell. You will, of course, then not be able to post-process any stresses. EPSFLG Controls the output of effective plastic strain for shells and thick shells. The effective plastic strain (1 value) is written at <maxint> surfaces for every shell and thick shell. Turning this off will usually save 3 values per shell. RLTFLG Controls the output of force and moment resultants for shells. Force and moment resultants (8 values) are written for every shell (but not for thick shells). Turning this off will save 8 values per shell. ENGFLG Controls the output of thickness and strain energy density for shells. Thickness, strain energy density and two other (unused) values are written for shells (but not for thick shells). Turning this off will save 4 values per shell. CMPFLG Composite material stress output in local axes. Default Off. By default all stress tensors are written in the global coordinate system. Turning this flag on causes those from composite materials to be written in the material local axis system(s).
Page 12.7
D3PLOT
User manual Version 11.0, March 2013 WARNING: There is no way for D3PLOT to tell from the database that these stress tensors are in the local system. It assumes that ALL STRESS TENSORS ARE IN THE GLOBAL SYSTEM. If you use this facility IT IS YOUR RESPONSIBILITY to interpret your results correctly: they will be reported in D3PLOT as global stresses.
BEAMIP Number of "extra" data values written for beam elements. Default None. All beam elements write 6 basic forces and moments, but certain element and material formulations can generate extra data: Resultant formulation (Belytschko-Schwer) beams can generate a further 15 "plastic" values, depending upon the material model used. Integrated (Hughes-Liu) beams can generate 5 "extra" stress and strain values at each integration point. There is no way of telling from the database whether "extra" beam results contain "Integrated" stress/strain data, or "Resultant" plastic data.
Update: From approximately 2009 onwards output from LS-DYNA 971 reports its version number correctly in output files, and D3PLOT is thus able to determine that the sign convention problem described above has been fixed. IT IS YOUR RESPONSIBILITY to interpret your beam results correctly.
Page 12.8
User manual Version 11.0, March 2013 DCOMP Data compression flag. Default 1.
D3PLOT
The default value of "1" means that database compression is turned off and a full set of data values is written to the database for each rigid element in the model. If this option is set to "2" data values will not be output for rigid elements. This option can significantly reduce the size of the binary files written by LS-DYNA if the model contains a large proportion of rigid elements. The following output options are currently not supported by D3PLOT, and should not be changed from their default (off) states: SHGE Output of shell hourglass energy.
D3PLOT
12.2.3 The Contact Force (.CTF) file 12.2.3.1 Defining output parameters in LS-DYNA
The following LS-DYNA control cards control output of this file: *DATABASE_BINARY_INTFOR Allows you to set an output frequency for this file different to that used for the .PTF file, which is the default. (Note that you must request this file when submitting the job in order for it to be written.) It is strongly recommended that you DO NOT use an output frequency for this file that is different to that used for the .PTF file. If you do D3PLOT can have problems trying to synchronise contact surface data with other results. This file contains the topology and results for all segmented contact surfaces in the model. You have no control over its internal structure.
Page 12.10
D3PLOT
Data by material:
Material energies Material velocities Masses KE, IE VX, VY, VZ Mass KE, IE VX, VY, VZ Mass
Nodal data:
Geometry Displacements Temperatures Velocities Accelerations Nodes for reactions [X,Y,Z] coords [dX,dY,dZ] [temps] [vX,vY,vZ] [aX,aY,aZ] [vX,vY,vZ] [X,Y,Z] coords [dX,dY,dZ] [X,Y,Z] coords [dX,dY,dZ] [temps] [vX,vY,vZ] [aX,aY,aZ] Geom + reacts [X,Y,Z] coords [dX,dY,dZ]
Page 12.11
D3PLOT
Stonewall data:
Geometry Normal forces Fwalls Fwalls All geom Fwalls
Interface data:
Geometry Summary forces Detailed results Segment stresses All nodal forces All geom Fx,Fy,Fz summaries
Page 12.12
D3PLOT
Joint data:
Topology Nodes, type stiffness
Energies
KE_KINETIC_ENERGY IE_INTERNAL_ENERGY TE_TOTAL_ENERGY The total kinetic energy. The total strain and other non-kinetic energy. The sum of the two terms above.
Velocities
VX_X_VELOCITY VY_Y_VELOCITY VZ_Z_VELOCITY Average X velocity of the whole model Average Y velocity of the whole model Average Z velocity of the whole model
Page 12.13
D3PLOT
Mass values
MASS The sum of all material masses. Note: This only contains mass from solid, shell, beam and thick shell materials. Lumped masses, stonewalls, and any other entity types which might contribute mass to the model are not included. Thus, for most models, this is an underestimate.
MR_MOMENTUM_RESULTANT Vector sum of the above Note: The mass used here is the computed mass above, so the computed momenta may be an underestimate. Next section
Page 12.14
D3PLOT
12.4.1 The "material" data available depends upon the files present.
Complete state files (.ptf) These files are always present, and contain part data for: 1. All parts (materials) of solid, shell, thick shell, beam and SPH elements. 2. All nodal rigid bodies 3. All discrete and seatbelt elements. Category (1) may be extracted and processed numerically (in WRITE and XY_PLOT), and visually (in 2D3D plotting) because the part numbers of these element classes are known. Category (2), nodal rigid bodies, may be listed as a category under WRITE, GLOBAL; however they cannot be plotting because their underlying nodes are not known. Category (3), discrete and seatbelt element part data, cannot be processed from .ptf files alone because these files do not contain information about these elements. ZTF files If a .ztf file has been written from PRIMER then it becomes possible both to visualise discrete and seatbelt elements, and also to determine their part numbers. Therefore it is possible to associate part data with elements for these types, and process them in the same way as solids, shells, etc. This also means that discrete and seatbelt elements can be selected and processed "by part" for operations such as blanking, picking, and so on. XTF files If an .xtf file is present, which will increasingly not be the case, as it is not supported by MPP versions of LS-DYNA, then discrete and seatbelt elements can be visualised; but the file does not contain the information required to associate these element types with their part ids as defined in the LS-DYNA keyword input deck, so their part-based data cannot be accessed.
D3PLOT automatically "culls" from part listings, menus, etc those parts which either do not contain any elements or for which the element type cannot be determined. The only time that they become visible is when a WRITE, MATERIAL_SUMMARY listing is produced.
Energies
KE_KINETIC_ENERGY IE_INTERNAL_ENERGY TE_TOTAL_ENERGY The material kinetic energy. The material strain energy. The sum of the two terms above.
Velocities
Page 12.15
D3PLOT VX_X_VELOCITY VY_Y_VELOCITY VZ_Z_VELOCITY Average X velocity of the material Average Y velocity of the material Average Z velocity of the material
Mass values
MASS The reported material mass.
12.5.2 Why results from the .CTF file may differ from those in the .XTF file.
The .CTF file is an instantaneous "snapshot" of the status of all contact surface segments at the time-step when the dump took place. The .XTF file output is generated within LS-DYNA by averaging contact forces on each surface over the time period since the previous time-history dump. Therefore the results are not instantaneous. There are pros and cons to both approaches: the averaging used for .XTF output means that very fast spikes are not missed, but their magnitude is attenuated by the averaging process; whereas the instantanous data in the .CTF file reports the correct magnitude but, in doing so, may miss a spike altogether. The .XTF approach is better for
Page 12.16
User manual Version 11.0, March 2013 time-history plotting, and the .CTF approach for graphical output.
D3PLOT
12.6.1 The nodal data components available from the .PTF file.
Undeformed coordinates
BX_BASIC_X_COORD BY_BASIC_Y_COORD BZ_BASIC_Z_COORD
Current coordinates
CX_CURRENT_X_COORD CY_CURRENT_Y_COORD CZ_CURRENT_Z_COORD
Velocities
VX_X_VELOCITY VR_VEL_RESULTANT VY_Y_VELOCITY VZ_Z_VELOCITY
Accelerations
AX_X_ACCELERATION AR_ACCEL_RESULTANT AY_Y_ACCELERATION AZ_Z_ACCELERATION
Temperatures
Note: Temperatures are only written in a thermal-only, combined structural and thermal, or structural analyses using thermal materials.
Page 12.17
D3PLOT TEMPERATURE
User manual Version 11.0, March 2013 Coordinates, velocities and accelerations are not written in a thermal-only analysis. If "per surface" temperatures are present in the database, see below, then the simple TEMPERATURE data component reports the middle surface result.
Depending upon the value of THERM on the *DATABASE_EXTENT_BINARY card models may also contain: TFX_TEMP_X_FLUX TFY_TEMP_Y_FLUX TFZ_TEMP_Z_FLUX TFM_TEMP_FLUX_MAGNITUDE TB_BOTTOM_TEMP These bottom, middle TM_MIDDLE_TEMP and top temperatures TT_TOP_TEMP refer to the relevant surface of SHELL elements, but are written out at NODES. Nodes on solid elements have the same temperature value repeated at all three surfaces, the output for nodes on thick shell elements is not known at the time of writing. Since these "per surface" temperatures are nodal data, and also since shell output may be present in the database for some number other than these 3 surfaces (see MAXINT on *DATABASE_EXTENT_BINARY) it would be misleading to use the normal "shell surface" selection method since that could imply that temperatures are available at all integration points. Therefore these are treated as unrelated nodal quantities, and in order to see temperatures at a given shell surface it is necessary to select the relevant component explicitly. If flag DTDT on *DATABASE_EXTENT_BINARY is set then the following temperature component will be output TR_TEMP_RATE The rate of change of temperature, dTemp/dTime.
Page 12.18
User manual Version 11.0, March 2013 Local contact forces use the average local axis system of the parent segments meeting at the node. This is only an approximation. XL_LOCAL_X_FORCE YL_LOCAL_Y_FORCE ZL_LOCAL_Z_FORCE
D3PLOT
Note: Contact force results are only available if a .CTF file is available, and forces are only available at nodes which form part of the topology of contact segments. For example forces at the "discrete nodes" which impact a surface, or nodes "spot-welded" to a surface, are not available.
And the stresses derived from these by D3PLOT: MAX_PRINC_STRESS MAX_DEV_PRINC_STRESS VON_MISES_STRESS MID_PRINC_STRESS MIN_PRINC_STRESS MID_DEV_PRINC_STRESS MIN_DEV_PRINC_STRESS MAX_SHEAR_STRESS PRESSURE (Solids, shells, thick shells)
The effective plastic strain: (see A further explanation of strain components for more information about strains) STRAIN The basic strain tensor: SX_DIRECT_STRAIN SXY_SHEAR_STRAIN SY_DIRECT_STRAIN SYZ_SHEAR_STRAINS SZ_DIRECT_STRAIN ZX_SHEAR_STRAIN And the strains derived from these by D3PLOT SMAX_PRINC_STRAIN SVON_MISES_STRAIN SMID_PRINC_STRAIN SMIN_PRINC_STRAIN SMAX_SHEAR_STRAIN
Page 12.19
User manual Version 11.0, March 2013 (Solids only) (Shell and thick shells only)
And the stresses derived by D3PLOT from these XA_AXIAL_ONLY YA_AXIAL_ONLY XYS_SHEAR_ONLY XB_BENDING_ONLY XO_OUTER_FIBRE YB_BENDING_ONLY YO_OUTER_FIBRE XYO_OUTER_FIBRE
Page 12.20
D3PLOT
In addition D3PLOT will calculate the 2D in-plane maximum and minimum principal stresses: S2MAX_2D_PRINC_STRESS S2MIN_2D_PRINC_STRESS These "2D" values are calculated by the following process: Rotate the global stress tensor to the element local axis system. Using only the local Sxx, Syy and Txy terms calculate the 2D max and min principal stresses This means that the local Szz, Tyz and Tzx terms are implicitly treated as being zero and the element is treated as being plane stress, which is really a nonsense for a solid element in which a full three-dimensional stress state is achieved. These components are calculated for solid elements to provide consistency with thin and thick shell output, but the resulting values are of limited usefulness - use with care! Page 12.21
D3PLOT
And the strains derived from these by D3PLOT SMAX_PRINC_STRAIN SVON_MISES_STRAIN SMID_PRINC_STRAIN SMIN_PRINC_STRAIN SMAX_SHEAR_STRAIN PEMAG_PLAST_STRN_MAG
In addition D3PLOT will calculate the 2D in-plane maximum and minimum principal strains: E2MAX_2D_PRINC_STRAIN E2MIN_2D_PRINC_STRAIN These "2D" values are calculated by the following process: Rotate the global strain tensor to the element local axis system. Using only the local Exx, Eyy and Exy terms calculate the 2D max and min principal strains This means that the local Ezz, Eyz and Ezx terms are all implicitly treated as being zero and the element is treated as being plane strain. Since solid elements develop a full 3D stress and strain state these are not really useful data components, and are computed only for consistency with thin and thick shell output - use with care! D3PLOT will calculate the ratio of E2MIN_2D_PRINC_STRAIN / E2MAX_2D_PRINC_STRAIN which can be used to give an indication of the stress state: E2D_PRINC_STRAIN_RATIO A problem arises when trying to distinguish between biaxial tension and biaxial compression as in both cases they return a +ve value. In fracture predictions it is important to distinguish between the two so, whilst it is possbile that a compressive state could give a shear fracture, the most likely outcome would be buckling. Therefore, when both E2MAX_2D_PRINC_STRAIN and E2MIN_2D_PRINC_STRAIN are negative (or 0) a value of 1.1 is returned to indicate a compressive state. The ratio is capped to -100 to avoid large values if E2MAX_2D_PRINC_STRAIN is relatively small compared to E2MIN_2D_PRINC_STRAIN
Page 12.22
D3PLOT
Geometric components
These components are extracted from the topology, and can be output in WRITE: MN_MATERIAL_NUMBER LN_LIST_OF_NODES FE_FACING_ELEMENTS
The formulae above are simplified for clarity. In 8 noded hexahedra the average of the bottom (N1N2N3N4) and top (N5N6N7N8) faces is used to determine a "middle" face; and for 6 noded wedges a similar averaging process is used. For tetrahedra Z is obtained from N1N2 x N1N3.
D3PLOT please contact Oasys Ltd if you need to use this feature.
12.7.6 Solid element results from combined thermal and structural analyses
When a combined thermal/structural analysis is run the results for solids are exactly the same as those in a purely structural analysis.
Next section
Page 12.24
D3PLOT
Results are written in both of these systems depending on their nature. The local element axes, [X,Y,Z], are calculated as follows. If we adopt the notation that the vector from node 1 to node 2 is N1N2: X = N1N2 approximately: the final X vector recomputed below. Z = N1N3 x N2N4 (Where x is a vector cross-product) Y = Z x X X = Y x Z This final transformation is required to correct for any warping Some components are written in the global cartesian system, and D3PLOT can transform these results to the local element system if required with the FRAME_OF_REFERENCE options. Examples are the stress and strain tensor values. Other components are written in the element local system. Examples are the force and moment resultants. We will revisit this topic later.
The majority of shell element formulations in LS-DYNA have a single integration point on plan, with from 1 to <n> integration points through their thickness. The "fully integrated" formulations have 2 x 2 integration points on plan, and again from 1 to <n> points through the thickness. For more information about shell formulations refer to the LS-DYNA theory manual. If MAXINT is a positive value then LS-DYNA will write results at the element centre as viewed on plane. For fully integrated formulations this will be the averaged value of the in-plane integration points. If MAXINT is a negative value then LS-DYNA will write results at 2 x 2 integration points as viewed on plane. This is true for all element formulations regardless of whether they are fully integrated or not. For the purposes of this discussion we will consider the case where MAXINT is positive since we can then ignore the Page 12.25
D3PLOT
number of integration points on plan. What we are concerned with here is the number through the thickness, (as viewed in elevation) and we must consider two cases: Case 1: MAXINT on the *DATABASE_EXTENT_BINARY card is set to the default of three. In this situation, regardless of the number of integration points through the thickness used in the shell element formulation(s), stress tensor and plastic strain output for all shell elements is written at three "surfaces": "Top" : The outermost integration point
"Middle" : The neutral axis "Bottom" : The innermost integration point The outer integration point is located on the +ve local Z of the neutral axis, the inner on the -ve Z side. (Membrane elements with a single integration point write the same value to all three surfaces.) The important thing to note here is that, unlike linear-elastic codes, LS-DYNA reports "top and bottom surface" stresses at the outer and inner integration points, and not at the element outer fibres. Assuming the default Gaussian integration scheme is used the location of the outermost integration points is given in the following table as a function of shell thickness/2 (t/2) for the range of 1 to 6 integration points through the thickness. No of Points 1 2 3 4 5 6 Note: Prior to LS-960 From LS-960 onwards If the element formulation uses >5 integration points through its thickness then trapezoidal integration is used - even if Gaussian is specified.. The user manual claims that Gaussian integration is used for any number of points if specified. Distance from neutral axis as a proportion of t/2 (Gaussian integration) 0.0 (membrane) 0.577 0.775 0.861 0.906 0.932
It is possible to specify "user-defined" integration rules, which may locate integration points at different points through the thickness. For example Gauss-Lobatto quadrature will locate the outer and inner integration points on their respective outer fibres, but there is a speed penalty to pay for this. In addition, in many analyses the section will be largely plastic, and the exact values of stress will be somewhat academic. Generally highly nonlinear problems are more concerned with plasticity and consequent energy absorbtion. However if you are in, or close to, the linear elastic region, and/or exact stress levels are important, you should consider using more integration points in order to extract results more precisely. Case 2: "Layer" output with MAXINT set to some value other than the default of 3 In this situation LS-DYNA writes out the stress tensor and plastic strain values for the first <maxint> integration points in the shell, starting at the innermost (bottom) one. You would generally only use this for composites analysis where results in all layers are significant. (1) LS-DYNA no longer calculates the "middle" neutral axis values for you. If you have an odd number of integration points D3PLOT assumes that the middle one is the neutral axis value, if you have an even number of integration points D3PLOT averages the central pair to produce an approximate "middle" value. (2) There is no check that MAXINT is equal to #integration points in a shell. If MAXINT is less than the number of integration points in a shell you will be missing results; if greater the extra results will probably be junk. The true number of integration points in a shell is not written to the .PTF file, so D3PLOT cannot check this for you.
Page 12.26
User manual Version 11.0, March 2013 (3) There is a special case when the #integration points in a shell = 5.
D3PLOT
If, and only if, #integration points = 5 then results are written out in the integration point order: #3, #1, #2, #4, #5. There is no obvious reason for LS-DYNA doing this, and it is not documented anywhere, but a simple shell bending test model will reveal it to be true. In this situation D3PLOT will still permit you to select "top", "middle" and "bottom" surfaces as before (with the "middle" surface being defined as in (1) or (3) above). But it will also permit you to define a Layer number instead in the range 1 to <maxint>. An example of this is shown in Section 4.3.4.2. If you choose it this output option it is your responsibility to ensure that you interpret your results correctly. To summarise the order of output for Thin Shells is: MAXINT value Surface output order 3 Anything else Always MIDDLE, BOTTOM, TOP If #integration points = 3, then MIDDLE, BOTTOM, TOP If #integration points = 5, then MIDDLE, BOTTOM, next BOTTOM, next TOP, TOP Anything elses: in order from BOTTOM to TOP If a ZTF file is present, D3PLOT will know how many integration points a shell has and will therefore be able to determine the correct value to read for a selected surface, based on the rules above. If a ZTF file is not present D3PLOT has no means of knowing how many integration points a given element has actually specified on its section definition; nor whether it uses Gaussian, Lobatto or user-defined rules. It is up to you to interpret your results correctly. If MAXINT is negative then LS-DYNA will write results at 2 x 2 integration points, as viewed on plane, for each surface. As an illustration, if MAXINT=-3 then LS-DYNA will write data at 3 surfaces x 4 in-plane integration points. This means in D3Plot there there will be 12 layers available to select and it is important to know which integration point each one refers to: D3Plot Layer Integration Points Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 8 Layer 9 Layer 10 Layer 11 Layer 12 Layer 1 IP 1 Layer 2 IP 1 Layer 3 IP 1 Layer 1 IP 2 Layer 2 IP 2 Layer 3 IP 2 Layer 1 IP 3 Layer 2 IP 3 Layer 3 IP 3 Layer 1 IP 4 Layer 2 IP 4 Layer 3 IP 4
You should note the following warning with regard to stress tensor output: There is a known bug in LS-DYNA as of version 971 R6.1 that the stress tensor results for IPs 2 to 4 are written out in the wrong coordinate system. If local coordinate system is selected for output (CMPFLG on the *DATABASE_EXTENT_BINARY card) they get written out in the global coordinate system. If the default global Page 12.27
D3PLOT
coordinate system is selected they get written out in the local coordinate system. IP1 is correct in both cases. If you would like to average the in-plane values on each layer you can set an environment variable D3PLOT_SHELL_4=TRUE (you will need to reload D3Plot after setting it). If you do use this you should note the following warning: There is a known problem that when 4 IPs on plan are selected the output for elements with a single IP write zeros for points 2 to 4. If averaging is used then D3PLOT only "knows" about element formulations if a ZTF file is read since this contains information about the *SECTION_SHELL cards. Therefore if the element formulation is known D3PLOT "knows" not to average data from IPs 2 to 4 where the element formulation is not fully integrated, and the average result will be correct. However if a ZTF file is not present then D3PLOT will not "know" about this and will apply averaging to give a result that is of the true value. Further support for fully integrated shells is planned in future releases.
12.8.2.3 Cases where stress and strain tensor output are in the local coordinate system
Flag CMPFLG on the *DATABASE_EXTENT_BINARY card can be set to cause composite material stress and strain tensor output to be in the element (or material) local coordinate system. There is no way to detect this from the the .PTF file so, if you use this option, D3PLOT will assume that your results are still in the global system. Therefore it will be your responsibility to ensure that you interpret your results correctly.
In addition D3PLOT will calculate the 2D in-plane maximum and minimum principal stresses: S2MAX_2D_PRINC_STRESS S2MIN_2D_PRINC_STRESS These "2D" values are calculated by the following process: Rotate the global stress tensor to the element local axis system. Using only the local Sxx, Syy and Txy terms calculate the 2D max and min principal stresses This means that the local Tyz and Tzx terms are implicitly treated as being zero and the element is treated as being plane stress, which may be more or less true in the middle of a panel but is unlikely to be the case at the edges of a panel and at connections. Therefore please use these terms with care.
D3PLOT
The effective plastic strain is written at the same <maxint> surfaces as the stress tensor. It has no intrinsic direction. By default it is switched on, but may be turned off using the EPSFLG parameter on the *DATABASE_EXTENT_BINARY control card. (see A further explanation of strain components for more information about strains)
They are treated as separate scalar values of unknown type which may be contoured and written out, but not processed in any way.
And the strains derived from these by D3PLOT SMAX_PRINC_STRAIN SVON_MISES_STRAIN SMID_PRINC_STRAIN SMIN_PRINC_STRAIN SMAX_SHEAR_STRAIN PEMAG_PLAST_STRN_MAG
In addition D3PLOT will calculate the 2D in-plane maximum and minimum principal strains: E2MAX_2D_PRINC_STRAIN E2MIN_2D_PRINC_STRAIN These "2D" values are calculated by the following process: Rotate the global strain tensor to the element local axis system. Using only the local Exx, Eyy and Exy terms calculate the 2D max and min principal strains This means that the local Ezz, Eyz and Ezx terms are all implicitly treated as being zero and the element is treated as being plane strain. Bearing in mind that LS-DYNA populates all 6 terms of the strain tensor (local Ezz being finite due to the need to conserve volume) this is a gross simplification, and these terms should be used with care. D3PLOT will calculate the ratio of E2MIN_2D_PRINC_STRAIN / E2MAX_2D_PRINC_STRAIN which can be used to give an indication of the stress state: E2D_PRINC_STRAIN_RATIO A problem arises when trying to distinguish between biaxial tension and biaxial compression as in both cases they return a +ve value. In fracture predictions it is important to distinguish between the two so, whilst it is possbile that a compressive state could give a shear fracture, the most likely outcome would be buckling. Therefore, when both E2MAX_2D_PRINC_STRAIN and E2MIN_2D_PRINC_STRAIN are negative (or 0) a value of 1.1 is returned to indicate a compressive state. The ratio is capped to -100 to avoid large values if E2MAX_2D_PRINC_STRAIN is relatively small compared to Page 12.29
D3PLOT E2MIN_2D_PRINC_STRAIN.
Stresses derived by D3PLOT from the force & moment resultants XA_AXIAL_ONLY YA_AXIAL_ONLY XYS_SHEAR_ONLY XB_BENDING_ONLY XO_OUTER_FIBRE YB_BENDING_ONLY YO_OUTER_FIBRE XYO_OUTER_FIBRE
Geometric components
These components are extracted from the topology, and can be output in WRITE: MN_MATERIAL_NUMBER LN_LIST_OF_NODES
Page 12.30
D3PLOT
This means that principal stresses will not necessarily lie in the plane of the shell.
These are the forces and moments per unit width integrated over the element thickness. They are written in the element local axis system.
Page 12.31
D3PLOT
12.8.8 XA_ etc Stresses in thin shells derived from force and moment resultants
The force/moment resultants are converted to local axial and bending stresses as follows: Axial stress Bending stress = = F/t 6M/t2 F/t +/- 6M/t2
Where: F = force / unit width M = moment / unit width t = section thickness Note that the bending component here assumes a linear elastic stress distribution (ie stress = My/I) so "bending" and "outer fibre" stresses will be incorrect in a plastic section.
12.8.9 Summary of coordinate systems and default locations of thin shell results
This table shows the coordinate system and location of each category of data written by LS-DYNA, and also the same information for results derived from these by D3PLOT. It assumes the default of MAXINT = 3. TYPE OF DATA Basic global stress tensor COORDINATE SYSTEM Global cartesian axes (Can transform to local) n/a ELEMENT LOCATION Inner integration point Neutral axis Outer integration point Inner integration point Neutral axis Outer integration point Inner integration point Neutral axis Outer integration point Whole element Outer fibre Neutral axis Inner integration point Outer integration point Inner integration point Neutral axis Outer integration point Whole element
Plastic strain
n/a
Force/moment resultants Stresses derived from force/moment resultants Directional strain tensor Extra data at integration points
Element local axes Element local axes Global cartesian axes (Can transform to local) Undefined
Additional components
n/a
Coordinate system and default locations for thin shell element data Notes on this table: The entry "n/a" in the coordinate system column means that the data does not have a fixed direction. For example VON_MISES or PRINCIPAL stresses. The words "can transform to local" means that D3PLOT global to local transformation is available. The entry "whole element" in the element location column means that the data is for the element as a whole. For example FXX_AXIAL_FORCE or THICKNESS components.
Page 12.32
D3PLOT
The "outer fibre" stresses calculated from force/moment resultants assume a linear elastic stress distribution the element. This may not always be the case.
(<maxint> is on the *DATABASE_EXTENT_BINARY card, and is explained in Section 12.2.1.3) In most respects thick shells are like thin shells, and you are encouraged to read Section 12.8.2 which describes some of the pitfalls of using them. This will not be repeated here. For thick shells, if <maxint> = 3, the order of output is middle, bottom, top. For any other value of <maxint> the order of output is always #1, #2, #3 ... #nip, i.e. from bottom to top. NOTE: For thick shells, ELFORM=1, if <NIP> on the *SECTION card = 2 then LS-DYNA switches it to 3 integration points. Similarly, if <NIP> = 4 it is switched to 5. To summarise the order of output for Thick Shells is: MAXINT value Surface output order 3 Anything else Always MIDDLE, BOTTOM, TOP In order from BOTTOM to TOP
If a ZTF file is present, D3PLOT will know how many integration points a shell has and will therefore be able to determine the correct value to read for a selected surface, based on the rules above.
Page 12.33
D3PLOT
In addition D3PLOT will calculate the 2D in-plane maximum and minimum principal stresses: S2MAX_2D_PRINC_STRESS S2MIN_2D_PRINC_STRESS These "2D" values are calculated by the following process: Rotate the global stress tensor to the element local axis system. Using only the local Sxx, Syy and Txy terms calculate the 2D max and min principal stresses This means that the local Tyz and Tzx terms are implicitly treated as being zero and the element is treated as being plane stress, which may be more or less true in the middle of a panel but is unlikely to be the case at the edges of a panel and at connections. Therefore please use these terms with care.
Page 12.34
D3PLOT
And the strains derived from these by D3PLOT SMAX_PRINC_STRAIN SVON_MISES_STRAIN SMID_PRINC_STRAIN SMIN_PRINC_STRAIN SMAX_SHEAR_STRAIN PEMAG_PLAST_STRN_MAG
In addition D3PLOT will calculate the 2D in-plane maximum and minimum principal strains: E2MAX_2D_PRINC_STRAIN E2MIN_2D_PRINC_STRAIN These "2D" values are calculated by the following process: Rotate the global strain tensor to the element local axis system. Using only the local Exx, Eyy and Exy terms calculate the 2D max and min principal strains This means that the local Ezz, Eyz and Ezx terms are all implicitly treated as being zero and the element is treated as being plane strain. Bearing in mind that LS-DYNA populates all 6 terms of the strain tensor (local Ezz being finite due to the need to conserve volume) this is a gross simplification, and these terms should be used with care. D3PLOT will calculate the ratio of E2MIN_2D_PRINC_STRAIN / E2MAX_2D_PRINC_STRAIN which can be used to give an indication of the stress state: E2D_PRINC_STRAIN_RATIO A problem arises when trying to distinguish between biaxial tension and biaxial compression as in both cases they return a +ve value. In fracture predictions it is important to distinguish between the two so, whilst it is possbile that a compressive state could give a shear fracture, the most likely outcome would be buckling. Therefore, when both E2MAX_2D_PRINC_STRAIN and E2MIN_2D_PRINC_STRAIN are negative (or 0) a value of 1.1 is returned to indicate a compressive state. The ratio is capped to -100 to avoid large values if E2MAX_2D_PRINC_STRAIN is relatively small compared to E2MIN_2D_PRINC_STRAIN
Geometric components
These components are extracted from the topology, and can be output in WRITE: MN_MATERIAL_NUMBER LN_LIST_OF_NODES FE_FACING_ELEMENTS
D3PLOT
All the nodal results from the .PTF file listed in Section 12.6.1 are available for contouring on thick shell elements (in 2D/3D plotting mode). They can also be extracted as averaged element data for use in WRITE and XY_PLOT. Nodal contact force components from the .CTF file cannot be processed on thick shell elements.
This means that principal stresses will not necessarily lie in the plane of the shell.
Page 12.36
D3PLOT
Page 12.37
D3PLOT
Note that due to a bug in LS-DYNA the output sign convention used for the two types above is inconsistent up to and including LS-DYNA release 970, this problem has been fixed from LS-DYNA 971 onwards. This issue is described in section 12.2.1.3 where controlling beam output is discussed. This has implications for beam plotting (section section 4.3.5) and when extracting cut section forces and moments through beam structures (see section 6.4.4).
The local axis system for beams is derived as follows: If N1N2 is the vector from node 1 to node 2: X Z = N1N2 = N1N2 x N1N3 (Where x is the vector cross-product)
Y = Z x X The "third" node (N3) is the orientation node for the beam, serving only to define its local Y axis. It has no structural significance. If the representation of beam local axes during post-processing is important throughout an analysis you should consider defining separate "third" nodes for each beam element, and setting the <nrefup> field on the *CONTROL_OUTPUT card to update these nodes coordinates.
YY_SHEAR_STRESS SAX_AXIAL_STRAIN ZZ_SHEAR_STRESS These values are calculated by LS-DYNA, and output in the relevant beam local axes.
Page 12.38
User manual Version 11.0, March 2013 MY1_Y_BENDING_MOM_END_1 MY2_Y_BENDING_MOM_END_2 MYD_Y_MOM_DISTRIBUTION MMD_MOM_MAG_DISTRIBUTION And if the Belytschko-Schwer beams use a resultant material formulation: RXX_PLASTIC_TORS_ROTN RZ1_Z_PLASTIC_ROT_END_1 RY1_Y_PLASTIC_ROT_END_1 RZ2_Z_PLASTIC_ROT_END_2 RY2_Y_PLASTIC_ROT_END_2 RZD_Z_MOM_DISTRIBUTION RYD_Y_ROT_DISTRIBUTION RMD_ROT_MAG_DISTRIBUTION PE1_PLASTIC_ENERGY_END_1 PED_PLASTIC_ENERGY_DIST PE2_PLASTIC_ENERGY_END_2 EAX_AXIAL_ENERGY SAX_TOTAL_AXIAL_STRAIN IE_INTERNAL_ENERGY BED_BENDING_ENERGY_DENS = (PE1 + PE2) / Length AED_AXIAL_ENERGY_DENS IED_INTERNAL_ENERGY_DEN = EAX / Length = IE / Length MZ1_Z_BENDING_MOM_END_1 MZ2_Z_BENDING_MOM_END_2 MZD_Z_MOM_DISTRIBUTION
D3PLOT
D3PLOT
Users should be aware that contact forces in LS-DYNA are calculated from the repulsion forces required to stop nodes penetrating surfaces, and that this is an inherently noisy process since penetrations - and hence forces - tend to oscillate. Therefore contact forces on individual segments at a given state should be treated as a snapshot of a dynamic process, and not necessarily a good indication of the mean contact force averaged over a longer time period.
CT_CONTACT_TANGENTIAL Resultant stress in plane of surface; CX_CONTACT_X CY_CONTACT_Y In-plane local X stress; In-plane local Y stress;
Contact forces written by LS-DYNA at nodes, averaged by D3PLOT over segments: XG_GLOBAL_X_FORCE XL_LOCAL_X_FORCE YG_GLOBAL_Y_FORCE ZG_GLOBAL_Z_FORCE YL_LOCAL_Y_FORCE ZL_LOCAL_Z_FORCE Local forces are transformed to reflect the orientation of a segment. But since the nodal forces on which they are based also have contributions from adjacent segments they should be regarded as approximate. Versions of LS-DYNA may also write: CG_CONTACT_GAP CE_ENERGY_DENSITY Contact gap at nodes N1 to N4 (possibly from LS970 onwards) FM_FORCE_MAGNITUDE
Analysis type
Component names
CPM (airbag particle method) IPR_PRESSURE DEM (unknown) ALE IFX_X_FORCE IFY_Y_FORCE IFZ_Z_FORCE IFM_FORCE_MAG
Page 12.40
User manual Version 11.0, March 2013 ALE only ISS_SLIP_SPEED ISX_SLIP_X_VEL ISY_SLIP_Y_VEL ISZ_SLIP_Z_VEL ISM_SLIP_VEL_MAG Slipping speed data
D3PLOT
Because this file seems to be growing in both content and usage, and the documentation can lag behind this, D3PLOT also provides access to all of its data components as "raw" scalar data of unknown type. The data component names are generic: Component names IF1_INTERFACE_1 IF2_INTERFACE_2 IFn_INTERFACE_n Meaning 1st data component 2nd data component nth data component
The value of n above is determined by the file contents, but values of 4, 8, 16, 17, 21, and 23 are typical. If you use these "raw" data components the interpretation of the data is your responsibility! Oasys Ltd may be able to advise about their content - please ask.
Therefore the sign of the output of directional values is that of the master side. Surface as a whole where summary results from master and slave sides differ by more than 5% by magnitude. (Typically the single-surface case, or "nodes to" types with no slave segments.) Whichever side has the greater value by magnitude, with no sign change applied.
Page 12.41
D3PLOT
c) Contact stress is then computed over the sphere of influence of each node on the slave surface, and stress is assigned to each contact segment.
d) Contouring which, in D3PLOT averages over elements, spreads the stress over a further region of contact segments. Thus the contact at a single point has generated an apparent stress spread over twenty five elements - clearly this is not correct. To get round this you can: Plot "force" components (eg FM_FORCE_MAGNITUDE) which omit step (c) above, so force is spread only over nine segments in this example. Plot force vectors (VECTOR command) which will only show force arrows at the four nodes on the slave segment.
However in real examples the problem is less severe: the genuine contact is usually spread over several segments and it is only around the borders of the contact region that stresses spread out too far. Nevertheless contact "stresses" should not be treated as more than approximate contact pressures, and in particular they Page 12.42
User manual Version 11.0, March 2013 must not be expected to be the same as (true) stress in the underlying elements. Next section
D3PLOT
Page 12.43
D3PLOT
D3PLOT
And the strains derived from these by D3PLOT SMAX_PRINC_STRAIN SVON_MISES_STRAIN SMID_PRINC_STRAIN SMIN_PRINC_STRAIN SMAX_SHEAR_STRAIN PEMAG_PLAST_STRN_MAG
The following are derived from the above: VOLUME (from radius)
D3PLOT
LS-DYNA 971R4. It is likely that this feature will be developed further, and generate more information in the future.
AVOL_AIRBAG_VOLUME
D3PLOT also calculates the following components for the airbag as a whole by summation of individual particle data: ABE_AIRBAG_ENERGY This is the translational kinetic energy of all the gas particles in the bag, computed from the sum of: (Translational Energy) + (0.5 . mass . Velocity**2) for all "live" particles. Note that the pressure will not include any atmospheric component (field PATM on the *AIRBAG_PARTICLE card) until the inflator fires since no information is available until some "live" particles are present. ABP_AIRBAG_PRESSURE This is (ABE_AIRBAG_ENERGY / AVOL_AIRBAG_VOLUME / 3.0)
A description of the *AIRBAG_PARTICLE method, giving the theory and formulae used to derive the components above, may be found here http://www.impetus.no/inc/openitem.asp?id=36776&nid=696
Current coordinates
CX_CURRENT_X_COORD CY_CURRENT_Y_COORD CZ_CURRENT_Z_COORD
Page 12.46
D3PLOT
Velocities
VX_X_VELOCITY VR_VEL_RESULTANT VY_Y_VELOCITY VZ_Z_VELOCITY
Other
MASS RADIUS NS_DIST Distance to nearest bag segment, set to 1e10 if "far" away from a segment. GAS_ID The gas number LEAKAGE 0 = inside bag 1 = escaped due to porosity 2 = escaped through vent 3 = MPP error SPIN_ENERGY TRANS_ENERGY
VOLUME (from RADIUS) DENSITY (from MASS / VOLUME) Pressure at individual particles is not currently computed by D3PLOT. This is because pressure at each particle cannot be read directly from the output file, but rather has to be derived at its coordinate by considering the contribution from neighbouring particles. Establishing the neighbours of each particle would require a "bucket sort" of the bag into a series of smaller volumes at each time step, and then a calculation for each particle (similar in some ways to that required for the contact algorithms) to compute the contribution of each neighbour. Since a typical bag might contain 200,000 or more particles this could be a slow process. A further problem is that the theory used to derive pressure at a point within the bag volume uses the summation of all neighbouring particles within a local spherical volume, weighted by distance from the spheres centroid, and for particles near the surface of the bag it is invalid because the bag fabric cuts this volume. Without some correction for this the pressure in the particles near the bag fabric would be an underestimate. Therefore only the overall bag pressure (ABP_AIRBAG_PRESSURE) is computed at present.
Page 12.47
D3PLOT
SUMMARY In addition if the BEAM flag on the *DATABASE_BINARY_D3PLOT card may be used to write spring results into beam "slots" in the .ptf file as follows: BEAM = 0 (default) BEAM = 1 BEAM = 2 Extra beam elements are added to the .ptf file using the spring/damper topology, and Global [Fx, Fy, Fz, Fr] forces are written in the Fx, Fy, Fz, Myy data "slots" for beams No extra beams are written Extra beam elements are written as for the "0" case above, but only the resultant force is written to the Fx "slot".
If these extra beams are present in the database D3PLOT has no way of knowing whether they are genuine beams, or springs masquerading as beams. Therefore if you use this option treat your results with care.
Notes: The SUMMARY components above are the most useful since they list all relevant data for each element type. Spring, seat-belt and stonewall transient data may be extracted from the .XTF file via the T/HIS time-history plotting programme. Velocity of moving stonewalls can be deduced from the velocities of the optional extra nodes that can be placed on such stonewalls.
Page 12.48
D3PLOT
Where X, Y, Z are the "direct" stresses, and XY, Similarly we have adopted the notation for global strains: [E] =
YZ,
XZ
Where
X,
Y,
XY,
YZ
XZ
This is how the global to local transformation of stresses and strains is carried out when the FRAME_OF_REFERENCE is set to LOCAL: the [R] matrix is formed from the local axes of the element. The prime " " notation is used to signify that the component is in the local (as opposed to global) coordinate system.
Z)
Page 12.49
D3PLOT
Where PMAX > PMID > PMIN Deviatoric principal stresses values are given by subtracting the hydrostatic pressure, thus: [PN - PRESSURE]
The reasons for applying this factor of 2/3, which make the calculation suitable for the plastic regime, are given below under "What is von Mises strain?"
or in expanded form:
Where:
Page 12.50
User manual Version 11.0, March 2013 Effective Plastic Strain (written at each integration point)
D3PLOT This is a scalar value which is the sum of all plastic strain increments in this element to date. It is directionless It is always +ve Its value will only ever increase It does not include any contributions from elastic strains It is a measure of the cumulative plastic deformation undergone by this element.
Strain Tensor (At all intg points in solids, but top and bottom intg points only in shell elements)
This is a full tensor [Exx, Eyy, Ezz, Exy, Eyz, Ezx] describing the current state of strain in the element. Being a fully populated tensor it contains directional information Values can be +ve or -ve Values can both increase and decrease It contains both elastic and plastic strain contributions. It is a measure of the current (instantaneous) state of strain in the element.
The question is often asked "how are these two values related?" Perhaps the easiest way to understand this is to consider a simple tensile test specimen involving an elastic/plastic material in which the specimen is first squashed into the plastic regime, then stretched again to its original shape.
The graph below shows curves of Effective Plastic strain (green) and von Mises strain (red) derived from the strain tensor for a typical element at the centre of the specimen:
Observe how in the squashing phase the two are identical, but that when stretching (implying a reversal of direction) takes place then: Page 12.51
D3PLOT
effective plastic strain continues to increase, since the material is still undergoing plastic deformation, albeit in the opposite direction. von Mises strain reduces by a similar amount, since the elements shape is reverting back towards its unsquashed condition.
(In an ideal world the von Mises strain curve in this analysis would drop back to the linear elastic value only as the specimen is pulled back out to its original length, but in practice the specimen in this analysis was allowed to bulge and hourglass a bit, meaning that it did not return to the original undeformed shape. This is why both strain curves level off at about 0.034s..) Perhaps a good way to think of this is that the strain tensor contains information about the current element shape (or, more precisely, the distortions required to get from the original shape to the current one); and the effective plastic strain contains historical information about all the permanent deformation increments required to achieve that shape. When loading is in a single direction then the effective plastic and von Mises strains will be more or less the same, as in the uniaxial "squash" phase above. (The von Mises strain contains elastic as well as plastic values, so it may be slightly greater.) However as soon as the loading direction, or more precisely the direction of deformation, changes then the two will diverge.
What is von Mises Strain, and why does it have a factor of 2/3?
Von Mises strain, sometimes referred to as "Equivalent strain", is the equivalent of von Mises stress in that it measures the deviatoric component of strain, and VM stress / VM strain = 3G and G = E / 2(1 + ) where G is the shear modulus, E is the Youngs modulus and is the Poissons ratio. Note that VM stress / VM strain does not equal the Youngs modulus E except in the fully plastic state. To understand why consider the following: Poissons ratio () only lies in the range 0.0 - 0.5 for elastic strain calculation, once the material goes plastic then the relationship between longitudinal and transverse strains is controlled by volume conservation as the material distorts permanently, and the plastic Poissons ratio is required to be 0.5 in all cases if volume is to be preserved. Therefore for "conventional" materials that preserve volume, which implicitly excludes foams and other strange materials, we can eliminate the variability of poissons ratio from the problem allowing us to calculate a von Mises strain that has a fixed relationship with von Mises stress in the plastic regime. In the elastic regime, where the Poissons ratio is less than 0.5: 3G is less than E since E = 2(1 + ) G therefore VM stress / VM strain gives some value < E
In the fully plastic regime where the Poissons ratio = 0.5: 3G = E since E = 2(1 + 0.5) G therefore VM stress / VM strain should give - more or less - the current plastic modulus value in the element. To see where factor of 2/3 comes from consider the following: Perform the von Mises calculation for strain derived from stress with poissons ratio set to 0.5 and the strain comes out 1.5x larger. To demonstrate this consider the case of uniaxial stress in the plastic regime: Let X stress x = 1.0, all other stresses are zero. Let the notional plastic modulus Ep be 1.0 for simplicity, then using 0.5 for poissons ratio we obtain the following strains. Stresses are shown for comparison. Strain values X strain x = 1.0. Stress values x = 1.0
Page 12.52
User manual Version 11.0, March 2013 Y strain y = - . x / Ep = -0.5 Z strain z = y = -0.5 y = 0.0 z = 0.0
D3PLOT
Performing the conventional von Mises calculation used for stress we obtain: von Mises strain = 1/sqrt(2).((x - y)**2 + (y - z)**2 + (z - x)**2) = 1.5 Whereas we can see by inspection that the von Mises stress = 1.0 Therefore a factor of 2/3 factor is included in the formula for von Mises strain so that, during the plastic deformation phase of a uniaxial tensile test on a metal, VM strain will be the same as uniaxial strain, and therefore the plastic stress-strain curve from a tensile test can be used as input to material models expecting VM stress versus VM strain (after conversion from nominal stress/strain to true stress/strain).
It is normally the case that Effective Plastic strain is far more useful in fully plastic analyses, and that the individual (directional) and principal components of the strain tensor are of more interest in elastic ones.
Page 12.53
D3PLOT
Page 12.54
D3PLOT
This section gives more details about these device categories, and describes what capabilities are available on each one. You should not normally need to read this section, and it is included for interest only. If you have problems with graphics hardware please contact Oasys Ltd for advice.
Page 13.1
D3PLOT #Bit-planes:
User manual Version 11.0, March 2013 The number of colours available is 2#BIT-PLANES. Most display modes in D3PLOT will function with 16 colours, ie 4 bit-planes; but the two lighting modes SH (GREYSCALE) and SI SHADED_IMAGE need at least 100 colours to give decent results, and work best with 256 or more colours. So using more bit-planes will give better quality images: on a 24 bit-plane visual D3PLOT will give "true" colour rendering. However animation requires images in memory (pixmaps) to be transferred to the screen, and the greater the number of bit-planes in an image the longer this takes. So using more bit-planes gives slower animation.
Map type:
Read/write colourmap visuals (Pseudocolor and Directcolor) permit colours to be changed dynamically on the screen without re-drawing, whereas read-only ones require the image to be re-drawn if colours are to be changed. In addition read/write colourmaps permit entries to be created that match as exactly as possible the shades required, whereas read-only maps have to select shades from those available: this is not a problem on 24 bit-plane screens where all possible shades exist, but it can give inferior lighting plots on devices with fewer bit-planes. More significantly read/write visuals generally require multiple screen windows to share colourmaps, and this can lead to colours in some windows changing as entries which are correct for one window conflict with those for another. Read-only maps never suffer from this problem.
Page 13.2
D3PLOT
Likewise all shading and lighting calculations are done in hardware, again far faster than in software. Smooth (gouraud) shading and transparency are implemented in hardware. "Clipping", the ability to calculate the intersection between the image and arbitrary planes, is provided. This provides facilities such as "Z-clipping" which are not available in software. OpenGL will give better performance than 2D X under nearly all circumstances. The exceptions to this are: Large animations: 3D animations require up to4 times the amount of memory as the equivalent under X. If you attempt to create large animations you may run your machine out of memory, or at least cause it to "page" unacceptably. Very large (ie product of #vectors x #frames) animations are best carried out under X for this reason. Hidden-line (and line contour) plots produced by Z-buffering are not as good as those generated in software. You can get round this by switching temporarily back to 2-D mode.
Hidden-line plots:
The complications of different visuals and numbers of bit-planes do not usually apply to OpenGL. They operate in "RGB" mode (roughly equivalent to Truecolor), and generate intermediate shades by hardware dithering if not enough bit-planes are available to produce the required colour directly. If your device supports 3D you should use it.
x x x
x (3) x x
Page 13.3
D3PLOT
Page 13.4
D3PLOT
14 PROBLEM SOLVING
This section describes some common problems, and gives suggestions about solving them. It doesnt attempt to cover all possible causes: please call Oasys Ltd if you cannot solve your problems.
The last state(s) in the file seem to have nonsensical times and/or corrupt results.
This usually means that a complete state has been only partially written. If the analysis job is still running it usually means that the computer system buffers are still holding data waiting to be written to disk. Wait to see what happens when the next state is written as this will probably sort out its predecessor. You can force a dump of a plot state by using the STATUS command in the command shell. If the job has finished then it probably crashed or ran out of disk space. Check the messag or .otf files for error messages, check the .log file for evidence of crashes or disk space exhaustion.
D3PLOT reports that the .XTF or .CTF files are incompatible with the .PTF file.
This means that the control parameters in the various files suggest that they have come from different analyses. The most common cause of this is that files from an old analysis of the same name have not been deleted when the new one is run: check the creation dates on the files. D3PLOT will ignore the incompatible .ctf / .xtf file(s) and continue running.
Page 14.1
D3PLOT
D3PLOT issues warning that solid or thick shell elements have crossed faces.
This may not be an error: it is possible (but unusual) for this situation to arise legitimately. If this is the only message issued and D3PLOT initialises normally have a look at the offending elements and check their topology. If this is blatantly wrong it means that the file is corrupt.
Problems with missing .PTF file family members: last <n> states not read
If the final <n> states from your analysis are not read, and these appear to be in the last family member(s), check for gaps in family member numbering. If one or more family members appear to be missing check the reason. However you can skip gaps in the family member sequence using the FILE >, FILE_SKIP command: see Section 4.2.1.
D3PLOT fails to read some states from a file, with a regular pattern
This can occur if the family member size has been set to a value smaller than that used when writing the files, as states in the tail end of family members are not read. In D3PLOT 8.0 onwards family member size detection should be automatic, but you can over-ride it using the FILE >, FAM_SIZE command, or by setting the FAM_SIZE environment variable as described in Section 4.2.1.
Page 14.2
D3PLOT
Facets of solids and thick-shells disappear when the model is very distorted.
This is because the "back face" detection algorithm can get confused when elements become very misshapen, and removes faces that it shouldnt. Try turning the DISPLAY_OPTIONS, BACK_FACE switch on, which should cure the problem. Alternatively you can reduce distortions artificially by setting the displacement magnification factors to values less than 1.0: see DEFORM, MAGNIFY_DISPLACEMENTS.
Page 14.3
D3PLOT
(2) Unix systems: Make sure that the operating system is not imposing arbitrary limits. Artificial limits may be imposed in your command shell. The unlimit command can be used to lift all restrictions that you, as a user, have privileges to change. The maximum "data segment size" in the kernel may be set to a low value. Many Unix systems come configured with this set to their physical memory size, which stops a given process spilling far into swap space. You will need system administrator privileges to change this as it requires the kernel to be modified and rebuilt. Check that the window manager process has not been running for a long time, and has accumulated a lot of memory. If it has it may be necessary to kill it (ie revert to console mode) then restart it using startx.
If these do not work then you will have to reduce the amount of memory you are using within the D3PLOT process itself: Use the FILE >MEMORY then VIEW database command to empty (partially or fully) the database. Change the animation mode from VECTOR to DIRECT (ANIM >, DISPLAY_MODE: see Section 4.5.2.2) to save memory. If you have two computers try using client / remote server mode. See Section 4.5.2.2. See Section 11.7 on "memory management"
Page 14.4
D3PLOT
The message Installed private map appears when the window is created.
This is not an error, but it may be the prelude to problems. What it indicates is that D3PLOT is unable to find enough free colour cells in the current, shared colour map and has decided to create its own. This may cause colours to change in other windows. If this is the case you could try requesting fewer colours or running under a different visual: see Section 10.1.
The message Found unknown code nnn in stack appears while animating.
Animations are stored in a memory "stack" as a series of codes that represent the graphics operations required to build the image. Occasionally a corrupt code finds its way into this stack and causes this message. Page 14.5
D3PLOT
The most common cause is when the X server has become overloaded and lost synchronisation with its client process. You may need to slow down animation to prevent this..
Bourne shell: DISPLAY=<server>:0 export DISPLAY Where <server> is the network address of the machine on which you are displaying the graphics. A raw address (eg 69.60.10.1) may always be used or, if the host machine knows about your server, you can use the machines name. Multiple screens: The ":0" is the screen id on that machine, and this will almost always be screen zero as here. The exception is when you have multiple screens attached to a device, in which case the syntax will become ":0.0" for the first screen, ":0.1" for the second screen, and so on. Therefore typical destination commands might be: setenv DISPLAY snoopy:0 (Machine "snoopy", screen 0)
setenv DISPLAY 69.177.15.2:0 (Address 69.177.15.2, screen 0) setenv DISPLAY :0.1 (This machine, screen 1)
(nb: On UNIX machines see the file /etc/hosts for host names and internet addresses. You will only be able to refer by name to machines in this file. However you can display on any machine by referring directly to its numeric address: the names in this file are just convenient aliases for this.)
Page 14.6
D3PLOT
Bad matrix
There can also be less obscure reasons: see "The terminal wont draw anything" in Section 13.2.
Alternatively you could use 2D mode (View Box, M2D command). Animations in 2D use a lot less memory although dynamic viewing and changes to the image become much slower to implement.
Page 14.7
D3PLOT
Page 14.8
D3PLOT
14.7 MEMORY Viewing and controlling the memory usage for this process, and the whole machine.
On all operating systems D3PLOT has to co-exist with other processes, and when its consumption of system resources is small this is not an issue. However as you process larger models you will approach the capacity of you machine, and control of memory use will become important. There are two key issues:
Virtual memory usage - running out will halt processes, or even crash the machine.
Operating systems maintain "swap space", which is an area of disk set aside for pages of memory that have been "paged" out of physical memory. This is known as "virtual" memory, and is usually up to 3 times the size of physical memory, but can be any value set by the system administrator. Virtual memory allows computers to handle the situation where the sum total of memory space requested by all processes is greater than the physical memory available. They do this by swapping unneeded pages of memory onto disk, then swapping them back into memory (evicting other pages to make space) when they are required again. A "page fault" occurs when an executing process requires a page that is not resident in memory and has to be read in from disk. Parking dormant processes on disk has no impact on the performance of running ones. But it will be obvious that if a running process makes excessive use of virtual memory it will generate a lot of page faults, which will slow down its performance. If virtual memory space is all used up then the operating system will start to kill processes, and the machine may crash if essential services cannot obtain the memory they need!
Page 14.9
D3PLOT The MEMORY panel itself is shown here. This section shows Physical memory statistics. The machine has 253MB of memory. D3PLOT is using 11.5%. The alarm has been set at 80%. This section shows Virtual memory statistic s. The machine has 2047MB of swap space, of which 7.4% is in use, alarm set at 90%. This section shows the results database memory usage summary. Finally this section allows you to alter the graphics display mode. (Some modes use more memory than others.)
Alarm limits:
Both physical and virtual limits have alarm values set at 80 and 90% respectively. If an alarm limit is reached D3PLOT stops what it is doing and maps an alarm panel explaining the problem. You can change alarm values at any time, and set them to large values (eg 1000%) if you want to ignore them altogether.
Database Usage:
This summarises the settings of the results database, and the VIEW... button takes you to the main database manager. Allows you to select an animation mode as described in Section 4.5.2.2. (The same as ANIM > DISPLAY_MODE). Some modes use more memory than others.
Page 14.10
D3PLOT
In extreme cases you may find that none of the above free enough memory and you have to exit and start again with "cheaper" (in terms of memory) settings. If this happens: Before reading in a model use the MEMORY button on the filename panel to select the display mode and database soft/hard %ages. Then define a filename and read in the model. The new settings will be used ab initio and will result in lower memory usage.
Another problem that can occur following PIXMAP or OBJECT mode animations is that the graphics server process (owned by the operating system) may grow to a very large size and cause problems. This is because some operating systems dont allow memory to be released once it has been allocated. It will be necessary to shut down and restart this process in the following way: Logout from the display. At the "login" prompt choose the "no windows" or "console" mode (usually under an "options" menu). This will shut down the X server completely. Most "Common Desktop Environment" (CDE) window managers will automatically restart the X server after a short delay.
Dealing with huge models by using two computers in client / remote server mode.
If, despite everything you do, your model is too big to fit into your machine you may still be able to deal with it by splitting the job over two machines. The "client" machine runs the D3PLOT process, and the remote "server" displays the graphics. On the client set the DISPLAY environment variable to point to the display on the server machine. (Eg setenv DISPLAY remote_name:0 ) Under X-windows use PIXMAP mode, and under OpenGL use OBJECT mode. Both of these result in the graphics data being displayed in the server, not the client. The initial transfer of graphics data from client to server will be slow, since it has to go down a network. But subsequent animation, performed locally on the server, will be fast. Keep and eye on the memory usage on the server: D3PLOT does not monitor this for you. (It only "knows" about the client machine.)
Section 4.5.2.2 explains how animation works in client/server mode. Sections 2.3 and 2.4 give more information on specifying network addresses. 1. A "page" of memory is a conveniently sized quantum, typically 4kB: this varies between systems.
Page 14.11
D3PLOT
Page 14.12
D3PLOT
Appendices
APPENDIX I PROGRAMME LIMITATIONS
D3PLOT has certain inherent limitations because of its internal structure. These are:
These are the maximum quantities that may be processed. The maximum external label ids are limited only by output field width, so that the permitted external label range is 1 - 2**31 (approx 2e9, the same as LS-DYNA).
Page A.1
D3PLOT
Page A.2
D3PLOT
The preferences editor reads an XML file that contains all possible preferences and their valid options, and allows you to change them at will. In this example the user is changing the background colour in D3PLOT. Note that changes made in the Preferences editor will not affect the current session of D3PLOT, they will only take effect the next time it is run. If you have write permission on the oa_pref file in the $OASYS directory you will be asked if you want to update that file, otherwise you will only be given the option of updating your own file in your $HOME / $USERPROFILE directory. In this example the user is changing the ambient light intensity. The option is "active" (ie present in the oa_pref file) and currently is set to 40. Usage is: Select an option in the Tree on the left hand side Make it active / inactive If active select a value from the popup, or type in a value if necessary The colour of the highlighting in the left hand side tree is significant:
Green Red
Means that the option has been read from your $HOME/$USERPROFILE file. Means that the option has been read from the $OA_INSTALL file.
Magenta Means that the option had been read from the $OA_ADMIN file. In either event, regardless of the data source, the updated option will be written to the file chosen when you started the preferences editor. Page A.3
D3PLOT
Because of the order of file reading (see above), and option read from the master $OASYS file, amended, and written to your local $HOME file will take precedence when you next run D3PLOT.
Locking Preferences
From version 9.4 onwards preferences can be locked. Beside each option in the preference editor is a padlock symbol. If the symbol is green then the option is unlocked, if it is red then it is locked. If a preference option has been locked in a file that the user can not modify then an error message will be generated if the user tries to edit that option. If a user manually edits the "oa_pref" file to try and set an option that has been locked in another preference file then the option will be ignored in the users preference file.
The rules for formatting are: The <programme>*<option>: string must start at column 1; This string must be in lower case, and must not have any spaces in it. The <setting> must be separated from the string by at least one space. Lines starting with a "#" are treated as comments and are ignored. (Users accustomed to setting the attributes of their window manager with the .Xdefaults file will recognise this format and syntax.)
<logical>Controls if D3PLOT automatically clamps the coordinates of nodes that have moved . clamp_node_factor<integer>Model bounding box factor for clamping nodes The following options define the colours used in plots, thereby affecting plot appearance. Page A.4
User manual Version 11.0, March 2013 Preference Type Description background_colour<string>Background colour overlay_colour <string>Overlay colour text_colour <string>Text colour Valid arguments WHITE, BLACK, RED, GREEN, BLUE, CYAN, MAGENTA, YELLOW, GREY WHITE, GREY, BLACK, RED, GREEN, BLUE, CYAN, MAGENTA, YELLOW, ELEMENT WHITE, BLACK, RED, GREEN, BLUE, CYAN, MAGENTA, YELLOW, GREY
The following options permit the default cut-section method and space system to be configured. Users who wish to default to compatibility with the LS-DYNA section definition method may wish to use these options. See CUT_SECTIONS for more information. Preference cut_section_type Type Description Valid arguments <string>Default cut section OV_ORIGIN_AND_VECTORS, definition method N3_THREE_NODES, X_CONSTANT, Y_CONSTANT, Z_CONSTANT, LS_DYNA_METHOD cut_section_space <string>Default cut section BASIC, DEFORMED, SCREEN space system cut_section_fsys <string>Cut section force AUTOMATIC, GLOBAL, LOCAL and moment computation system csd_update_bands <string>Update auto contour OFF, ON bands during cut section drag csd_update_maxmin<string>Update max and OFF, ON min display during cut section drag csd_contour_face <string>Draw contours on OFF, 3D_ONLY, 2D_ONLY, ON cut face during cut section drag csd_display_face <string>Draw interpolated OFF, 3D_ONLY, 2D_ONLY, ON cut face during cut section drag Default X_CONSTANT
The following options control the default location and name of where D3PLOT looks for model database files. Preference Type Description Valid arguments Default <none> <none> 0
database_dir <string> Directory to look in for model database (XML) files database_file <string> Default model database (XML) file database_expand<integer>Number of levels to automatically expand in model database tree (-1 ALL)
-1 2147483646
The following options affect the appearance and behaviour of data-bearing (usually contour) plots (see Section 4.4). Preference default_component clamp_data Type Description <string> Valid data component name <logical>Controls whether D3PLOT clamps data values to be within a defined magnitude. clamp_max_value <real> Data clamping magnitude clamp_to_zero <logical>Whether clamped data (|value| > max_magnitude) is reset to zero. contour_levels <integer>Number of contour levels contour_number_format_type <string> Number format type for contour bar contour_dec_places <integer>Number of decimal places to display on contour bar contour_exponent <integer>Value of exponent to use on contour bar show_maxmin <string> Max and Min data values drawn on plot maxmin_number_format_type<string> Number format type for max min values Valid arguments TRUE, FALSE Default <none> TRUE 1e18 TRUE 6 AUTO 3 3 DATA AUTO
TRUE, FALSE 2 - 13 AUTO, SCIENTIFIC, GENERAL, MANUAL 1-9 -9 - 9 OFF, DATA, ALL AUTO, SCIENTIFIC, GENERAL, MANUAL
Page A.5
User manual Version 11.0, March 2013 <integer>Number of decimal places for 1 - 9 max min values <integer>Value of exponent to use for -9 - 9 max min values <string> Surface to output results TOP, MIDDLE, BOTTOM, MAX, MIN, ALL <string> Default surface use to output TOP, MIDDLE, BOTTOM, results in FREQUENCY MAX, MIN, ALL analysis <string> Thick shell contouring options INTERPOLATE, SIMPLE <string> Whether vector data drawn on SHOWN, NOT_SHOWN non-current mode elements <string> Colour used to fill 2d/3d WHITE, BLACK, RED, elements in vector etc plot GREEN, BLUE, CYAN, MAGENTA, YELLOW, GREY <string> Structure fill mode in Vel, HIDDEN, SHADED LC, etc plots 3 3 MIDDLE MIDDLE INTERPOLATE NOT_SHOWN GREY
vector_fill_mode
SHADED
The following set of options defines how various files are handled by D3Plot. Option "master_group_file" defines a "master" group file to be read every time a new model is opened: (see GROUPS). For information regarding the various file formats corresponding to the "read_<xxx>" options, see section 4.1. Preference master_group_file file_names auto_open read_ctf_file read_xtf_file read_ztf_file read_prp_file read_set_file read_asc_file autocreate_ztf read_lsda_file primer_version input_warnings increment_fname Type Description <string> Valid master (ascii) groups filename <string> Controls input filename syntax. LSTC = d3*, OASYS/ARUP = job.ptf* <logical>Controls if D3PLOT automatically opens a model as soon as it is selected with the file selector. <logical>Read CTF file <logical>Read XTF file <logical>Read ZTF file <logical>Read PRP (properties) file <logical>Read SET (settings) file <logical>Read ASC (ascii groups) file <logical>Create ZTF file automatically if required <logical>Read a LSDA (binout) file <string> Name of PRIMER executable for ZTF file auto-creation <string> Switching and location of warnings on input Valid arguments OASYS, ARUP, LSTC TRUE, FALSE TRUE, FALSE TRUE, FALSE TRUE, FALSE TRUE, FALSE TRUE, FALSE TRUE, FALSE TRUE, FALSE TRUE, FALSE NONE, DIALOGUE, MENU TRUE, FALSE Default <none> OASYS TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE primer10.exe DIALOGUE TRUE <none> FALSE LEAVE <none> 0 4 0 ctfile *.ctf blstfor *.blstfor fsifor *.fff cpmfor
<logical>Whether new filenames are incremented by appending 001, 002, etc... group_file_location <string> Directory for groups (jobname.grp) file (instead of job directory) delete_group_file <logical>Whether groups (.grp) file should be deleted on TRUE, FALSE exit ubd_file_dispose <string> Handling of UBIN data (.ubd) files on model close LEAVE, DELETE and exit ubd_file_location <string> Optional alternative directory for UBIN data (.ubd) files frag_local_size <integer>Buffer size (MBytes) reading fragmented data from 0 - 2047 local disk frag_network_size <integer>Buffer size (MBytes) reading fragmented data from 0 - 2047 network disk raw_network_size <integer>Buffer size (MBytes) reading raw data from 0 - 2047 network disk contact_force_file_name<string> Default name for Contact force file contact_force_file_ext <string> Default file extension for Contact force files blast_force_file_name <string> Default name for Blast force file blast_force_file_ext <string> Default file extension for Blast force file fsi_force_file_name <string> Default name for FSI force file fsi_force_file_ext <string> Default file extension for FSI force files cpm_force_file_name <string> Default name for CPM force file
Page A.6
User manual Version 11.0, March 2013 cpm_force_file_ext dem_force_file_name dem_force_file_ext Font settings. Preference Type Description Valid arguments all_fonts <string>Graphics typeface HELVETICA, HELVETICA-BOLD, TIMES, TIMES-BOLD, and strength COURIER, COURIER-BOLD, DEFAULT label_size <string>Font size for labels 8, 10, 12, 14, 18, 24, Default title_size <string>Font size for title 8, 10, 12, 14, 18, 24, Default clock_size <string>Font size for clock 8, 10, 12, 14, 18, 24, Default contour_size <string>Font size for contour 8, 10, 12, 14, 18, 24, Default bar graticule_size<string>Font size for 8, 10, 12, 14, 18, 24, Default graticule General graphics initialisation and settings. Preference draw_update Type Description <string> Draw update mode for the states slider graphics_refresh <string> Refresh graphics window when exposed graphics_type <string> Graphics format to start D3PLOT with initial_plot_mode <string> Initial drawing mode max_frame_rate <string> Maximum animation rate in frames/second maximise <logical>Maximise window when D3PLOT started overlay_mode <string> Overlay drawn placement <string> Location for initial window on multi-screen display plot_border <string> Border drawn on plot rhs_number_columns<integer> Graticule settings. Preference Type Description graticule_number_format_type<string> Number format type for graticule graticule_dec_places <integer>Number of decimal places to display on graticule graticule_exponent <integer>Value of exponent to use on graticule graticule_line_colour <string> Graticule line colour graticule_plane_colour graticule_text_colour <string> Graticule plane colour <string> Graticule text colour Valid arguments AUTO, SCIENTIFIC, GENERAL, MANUAL 0-9 -99 - 99 Valid arguments RELEASE, SLIDE OFF, ON X8, X24, X, Opengl, Default LINE, HIDDEN, SHADED UNLIMITED, 1, 5, 10, 20, 25, 50, 75, 100 TRUE, FALSE OFF, FREE, ALL LEFT, RIGHT, BOTTOM, TOP, LEFT_BOTTOM, LEFT_TOP, RIGHT_BOTTOM, RIGHT_TOP OFF, ON 4 - 50 <string> Default file extension for CPM force files <string> Default name for DEM force file <string> Default file extension for DEM force files
Default AUTO 3 3
WHITE, GREY, BLACK, RED, GREEN, BLACK BLUE, CYAN, MAGENTA, YELLOW WHITE, GREY, BLACK, RED, GREEN, GREY BLUE, CYAN, MAGENTA, YELLOW WHITE, GREY, BLACK, RED, GREEN, BLACK BLUE, CYAN, MAGENTA, YELLOW
The following options for groups. See section 6.10. Preference Type Description Valid Default arguments TRUE, FALSE FALSE
use_first_entity_in_group<logical>Use first entity in group when writing properties to group ascii file
The following options define the background and watermark images that can be embedded into plots. See section 7.4. Preference background_image Type Description <string> Valid background image filename Valid arguments Default <none>
Page A.7
D3PLOT image_format
User manual Version 11.0, March 2013 JPG_24 STREAMED <none> FALSE
<string> Default image format BMP_8_C, BMP_8_UN, PNG_8, GIF_8, BMP_24_UN, PNG_24, JPG_24, PPM_24 playback_method <string> Background movie STREAMED, CACHED playback method watermark_image <string> Valid watermark image filename white_background_image<logical>Write images with TRUE, FALSE white background The following strings and values control the maximum number of labels that will be displayed.
Preference Type Description Valid argumentsDefault max_labels <integer>Maximum number of labels to display 1 - 2147483646 1000 label_warning <logical>Display a warning if the maximum number of labels is reachedTRUE, FALSE TRUE label_picked_items<logical>Automatically label picked items TRUE, FALSE TRUE The following strings and values control laser plotting setup (see section 7.3 for more on laser plotting). Preference Type Description Valid arguments Default laser_paper_size <string>Default paper size US, A4 A4 laser_orientation <string>Default page orientation Portrait, LandscapeLandscape laser_mode <string>Default laser mode Colour, Greyscale Greyscale laser_insert_file <string>Valid filename <none> laser_top_margin <real> Top margin size in mm 10 laser_bottom_margin<real> Bottom margin size in mm 30 laser_left_margin <real> Left margin size in mm 20 laser_right_margin <real> Right margin size in mm 10 Window layout commands control how multiple graphics windows are positioned and sized, and give some further options. (See section 2.6.2) Preference window_layout Type Description Valid arguments Default <string> Multiple window layout type TILE_WIDE, TILE_TALL, CASCADE, 1x1, TILE_WIDE 2x2, 3x3 auto_hide <logical>Hide graphics window TRUE, FALSE FALSE function bar show_tabs <logical>Show window tabs on panels TRUE, FALSE TRUE windows_same_size<logical>Windows initially the same TRUE, FALSE FALSE size The following shaded_<xxx> options affect lighting (SHaded and SI) plots only. Preference Type Description Valid arguments Default shaded_ambient <real> Percentage ambient light (0-100) 0.0 - 100.0 40 shaded_diffuse <real> Percentage diffuse brightness (0-100) 0.0 - 100.0 90 shaded_shininess <real> Percentage specular brightness (0-100) 0.0 - 100.0 30 shaded_saturation<real> Percentage colour saturation (0-100) FLAT, SMOOTH, DITHEREDFLAT shading_type <string>Shading type 0.0 - 100.0 50 The following options affect the operation and appearance of linked T/HIS: (see section 6.12) Preference Type Description Valid arguments Default this_window_location<string> Linked T/HIS window location on screenSIBLING, CHILD, DOCKEDSIBLING this_link_version <string> Name of 32 bit executable for T/HIS link this10.exe this_link_version_64 <string> Name of 64 bit executable for T/HIS link this10_64.exe this_link_timeout <integer>Timeout period (seconds) for T/HIS link 1 - 1000 5 The following options affect the appearance and behaviour of the graphical user interface (see section 3.7.1), left handed support, and the mouse Preference display_factor Type <real> Description Valid arguments Factor on display size 0.5 - 2.0 (0.5-2.0) Default 1.0
Page A.8
D3PLOT
Menu brightness 0.0 - 1.0 1.0 (0.0-1.0) display_saturation <real> Menu colour saturation 0.0 - 1.0 1.0 (0.0-1.0) button_gradation <real> Button shade gradation 0.0 - 1.0 0.5 (0.0-1.0) dv_sync_windows <string> Dyn view method(s) forICON, ICON+CAPS, ICON+NUM, ICON+CAPS synchronising windows ICON+CAPS+NUM dv_left_shift <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, ROTATION_XYZ shift + Left mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_middle_shift <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, TRANSLATION shift + Middle mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_right_shift <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, ZOOM_UP_+VE shift + Right mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_left_ctrl <string> Dyn view action for ctrl ROTATION_XYZ, ROTATION_XY, ROTATION_XYZ + Left mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_middle_ctrl <string> Dyn view action for ctrl ROTATION_XYZ, ROTATION_XY, TRANSLATION + Middle mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_right_ctrl <string> Dyn view action for ctrl ROTATION_XYZ, ROTATION_XY, ZOOM_UP_+VE + Right mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_left_both <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, ROTATION_XYZ shift+ctrl + Left mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_middle_both <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, TRANSLATION shift+ctrl + Middle ROTATION_Z, ROTATION_SPHERE, mouse TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_right_both <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, ZOOM_UP_+VE shift+ctrl + Right ROTATION_Z, ROTATION_SPHERE, mouse TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_shift_action <string> Dynamic viewing mode CURRENT, WIREFRAME, CURRENT for shift + mouse FREE_EDGE, UNUSED button dv_ctrl_action <string> Dynamic viewing mode CURRENT, WIREFRAME, WIREFRAME for ctrl + mouse button FREE_EDGE, UNUSED dv_both_action <string> Dynamic viewing mode CURRENT, WIREFRAME, FREE_EDGE for shift+ctrl + mouse FREE_EDGE, UNUSED button font_scaling <logical>whether text in GUI TRUE, FALSE TRUE buttons can be scaled down to fit font_size <string> Menu font size SMALL, DEFAULT, LARGE DEFAULT font_type <string> Menu font typeface and HELVETICA, HELVETICA-BOLD, HELVETICA strength TIMES, TIMES-BOLD, COURIER, COURIER-BOLD left_handed <string> Left handed switching NONE, MOUSE, KEYBOARD, ALL NONE of mouse and/or keyboard max_comp_popup_rows <integer>Number of rows in the 2 - 100 25 component selection popups before a scrollbar is added zoom_factor <real> Zoom Factor for mouse 0.01 - 0.2 0.05 wheel (0.01-0.2)
Page A.9
User manual Version 11.0, March 2013 0.05 2.0 ALL 1.0 1.0 1.0
Factor for right mouse 0.01 - 0.2 dynamic zoom (0.01-0.2) kzoom_factor <real> Factor for +/- keyboard 0.01 - 100.0 short-cut keys menu_resize <string> Which panel borders NONE, L, R, T, B, LR, LT, LB, LRT, are free to resize LRTB, RT, RB, RTB, TB, ALL mouse_3d_rotation_factor<real> Factor applied to the speed of rotation when using a 3D mouse mouse_3d_pan_factor <real> Factor applied to the speed of panning when using a 3D mouse mouse_3d_zoom_factor <real> Factor applied to the speed of zooming when using a 3D mouse menus_and_picking menu_sketch <string> Whether or not to show OFF, ON sketch menu items when cursor hovered over menu row menu_label <string> Whether or not menu OFF, ON sketching also shows item labels predictive_pick <string> Whether or not to show OFF, ON what will be picked based on the current cursor position predictive_label <string> Whether or not OFF, ON predictive picking also shows item labels query_ambiguous <string> If screen picking is OFF, ON ambiguous, ON will offer the selection menu, OFF will select nearest
ON
ON ON
ON ON
If a selection menu is not wide enough to display all the contents, it can be expanded automatically by the following (see section 3.7.3) Preference Type Description Valid argumentsDefault menu_expand <string>Automatic menu expansion on/off switchOFF, ON ON menu_expand_delay <real> Factor on delay time before expansion 0.1 - 5.0 1.0 menu_expand_speed<real> Factor on menu expansion speed 0.1 - 5.0 1.0 Options to control the reading of Nastran OP2 files. Preference Type Description Valid arguments Default nas_disp_factor_type<string>How to scale Nastran displacements ABSOLUTE, PERCENTPERCENT nas_abs_disp_factor <real> Absolute displacement scale factor 1.0 nas_pct_disp_factor <real> Percentage displacement scale factor 15.0 Options to control the behaviour and appearance of the Part Tree. Preference Valid arguments ptree_parts_top_level <logical>If TRUE parts are always expanded at the top level TRUE, FALSE ptree_show_beam <logical>If TRUE a Beam category will be included in the tree TRUE, FALSE ptree_show_group <logical>If TRUE a Groups category will be included in the tree TRUE, FALSE ptree_show_joint <logical>If TRUE a Joints category will be included in the tree TRUE, FALSE ptree_show_mass <logical>If TRUE a Mass category will be included in the tree TRUE, FALSE ptree_show_pretensioner<logical>If TRUE a Pretensioner category will be included in the tree TRUE, FALSE ptree_show_retractor <logical>If TRUE a Retractor category will be included in the tree TRUE, FALSE ptree_show_sbelt <logical>If TRUE a Seatbelt category will be included in the tree TRUE, FALSE Type Description Default TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Page A.10
User manual Version 11.0, March 2013 ptree_show_segment ptree_show_shell ptree_show_slipring ptree_show_solid ptree_show_spring ptree_show_surface ptree_show_tshell ptree_show_wall <logical>If TRUE a (contact) Segment category will be included in TRUE, FALSE the tree <logical>If TRUE a Shell category will be included in the tree TRUE, FALSE <logical>If TRUE a Slipring category will be included in the tree TRUE, FALSE <logical>If TRUE a Solid category will be included in the tree TRUE, FALSE <logical>If TRUE a Spring category will be included in the tree TRUE, FALSE <logical>If TRUE a (contact) Surface category will be included in the TRUE, FALSE tree <logical>If TRUE a Thick Shell category will be included in the tree TRUE, FALSE <logical>If TRUE a Wall category will be included in the tree TRUE, FALSE
The following options define how Javascripts are processed by D3Plot. See section 11 for further details. Preference Type Description Valid arguments Default $OA_INSTALL/d3plot_library/scripts
script_directory<string>Directory in which D3PLOT looks for scripts Keys can have functions assigned to them: Preference F1_key F2_key F3_key F4_key F5_key F6_key F7_key F8_key F9_key F10_key F11_key F12_key A_key B_key C_key D_key E_key F_key G_key H_key I_key J_key K_key L_key M_key N_key O_key P_key Q_key R_key S_key T_key U_key V_key W_key X_key Y_key Z_key a_key Type Description
Valid arguments
Default <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> AUTOSCALE BLANK TIDY_MENUS DRAG_CUT ENTITIES FRINGE NEW_WINDOW HIDDEN ICONISE TOGGLE_PICK_LABEL RESET_VIS LINE MEASURE CUT_PLANE DISPLAY TOGGLE_GLOBAL_PP QUICK_PICK REVERSE SHADED TIDY_MENUS UNBLANK VIEW_MENU IMAGE_WRITE CUT_SECTION CYCLE_OVERLAY ZOOM AUTOSCALE Page A.11
<string>Shortcut for F1 <string>Shortcut for F2 <string>Shortcut for F3 <string>Shortcut for F4 <string>Shortcut for F5 <string>Shortcut for F6 <string>Shortcut for F7 <string>Shortcut for F8 <string>Shortcut for F9 <string>Shortcut for F10 <string>Shortcut for F11 <string>Shortcut for F12 <string>Shortcut for A <string>Shortcut for B <string>Shortcut for C <string>Shortcut for D <string>Shortcut for E <string>Shortcut for F <string>Shortcut for G <string>Shortcut for H <string>Shortcut for I <string>Shortcut for J <string>Shortcut for K <string>Shortcut for L <string>Shortcut for M <string>Shortcut for N <string>Shortcut for O <string>Shortcut for P <string>Shortcut for Q <string>Shortcut for R <string>Shortcut for S <string>Shortcut for T <string>Shortcut for U <string>Shortcut for V <string>Shortcut for W <string>Shortcut for X <string>Shortcut for Y <string>Shortcut for Z <string>Shortcut for a
D3PLOT b_key c_key d_key e_key f_key g_key h_key i_key j_key k_key l_key m_key n_key o_key p_key q_key r_key s_key t_key u_key v_key w_key x_key y_key z_key SPACE_key ONE_key TWO_key THREE_key FOUR_key FIVE_key SIX_key SEVEN_key EIGHT_key NINE_key ZERO_key EXCLAMATION_key DOUBLEQUOTE_key HASH_key DOLLAR_key PERCENT_key AMPERSAND_key SINGLEQUOTE_key LEFTBRACKET_key RIGHTBRACKET_key ASTERISK_key PLUS_key COMMA_key MINUS_key DOT_key SLASH_key COLON_key SEMICOLON_key LESSTHAN_key EQUALS_key GREATERTHAN_key QUESTIONMARK_key AT_key <string>Shortcut for b <string>Shortcut for c <string>Shortcut for d <string>Shortcut for e <string>Shortcut for f <string>Shortcut for g <string>Shortcut for h <string>Shortcut for i <string>Shortcut for j <string>Shortcut for k <string>Shortcut for l <string>Shortcut for m <string>Shortcut for n <string>Shortcut for o <string>Shortcut for p <string>Shortcut for q <string>Shortcut for r <string>Shortcut for s <string>Shortcut for t <string>Shortcut for u <string>Shortcut for v <string>Shortcut for w <string>Shortcut for x <string>Shortcut for y <string>Shortcut for z <string>Shortcut for space <string>Shortcut for 1 <string>Shortcut for 2 <string>Shortcut for 3 <string>Shortcut for 4 <string>Shortcut for 5 <string>Shortcut for 6 <string>Shortcut for 7 <string>Shortcut for 8 <string>Shortcut for 9 <string>Shortcut for 0 <string>Shortcut for ! <string>Shortcut for " <string>Shortcut for # <string>Shortcut for $ <string>Shortcut for % <string>Shortcut for & <string>Shortcut for <string>Shortcut for ( <string>Shortcut for ) <string>Shortcut for * <string>Shortcut for + <string>Shortcut for , <string>Shortcut for <string>Shortcut for . <string>Shortcut for / <string>Shortcut for : <string>Shortcut for ; <string>Shortcut for < <string>Shortcut for = <string>Shortcut for > <string>Shortcut for ? <string>Shortcut for @
User manual Version 11.0, March 2013 BLANK TIDY_MENUS DRAG_CUT ENTITIES FRINGE NEW_WINDOW HIDDEN ICONISE TOGGLE_PICK_LABEL RESET_VIS LINE MEASURE CUT_PLANE DISPLAY TOGGLE_CURR_PP QUICK_PICK REVERSE SHADED TIDY_MENUS UNBLANK VIEW_MENU IMAGE_WRITE CUT_SECTION CYCLE_OVERLAY ZOOM ANIMATE VIEW_P_XY VIEW_P_YZ VIEW_P_XZ VIEW_P_ISO VIEW_N_XY VIEW_N_YZ VIEW_N_XZ VIEW_N_ISO <none> EXPORT <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> ZOOM_IN <none> ZOOM_OUT <none> SHORTCUT <none> <none> <none> ZOOM_IN <none> SHORTCUT <none>
Page A.12
User manual Version 11.0, March 2013 LEFTSQUAREBRACKET_key <string>Shortcut for [ BACKSLASH_key <string>Shortcut for \ RIGHTSQUAREBRACKET_key<string>Shortcut for ] CIRCUMFLEX_key <string>Shortcut for ^ UNDERSCORE_key <string>Shortcut for _ BACKTICK_key <string>Shortcut for LEFTCURLYBRACKET_key <string>Shortcut for { PIPE_key <string>Shortcut for | RIGHTCURLYBRACKET_key <string>Shortcut for } TILDE_key <string>Shortcut for ~ SM_BUTTON1_key <string>Shortcut for 3D SpaceMouse Button 1 SM_BUTTON2_key <string>Shortcut for 3D SpaceMouse Button 2 SM_BUTTON3_key <string>Shortcut for 3D SpaceMouse Button 3 SM_BUTTON4_key <string>Shortcut for 3D SpaceMouse Button 4 SM_BUTTON5_key <string>Shortcut for 3D SpaceMouse Button 5 SM_BUTTON6_key <string>Shortcut for 3D SpaceMouse Button 6 SM_BUTTON7_key <string>Shortcut for 3D SpaceMouse Button 7 SM_BUTTON8_key <string>Shortcut for 3D SpaceMouse Button 8 SM_BUTTON9_key <string>Shortcut for 3D SpaceMouse Button 9 SM_BUTTON10_key <string>Shortcut for 3D SpaceMouse Button 10 SM_BUTTON11_key <string>Shortcut for 3D SpaceMouse Button 11 SM_BUTTON12_key <string>Shortcut for 3D SpaceMouse Button 12 SM_BUTTON13_key <string>Shortcut for 3D SpaceMouse Button 13 SM_BUTTON14_key <string>Shortcut for 3D SpaceMouse Button 14 SM_BUTTON15_key <string>Shortcut for 3D SpaceMouse Button 15 SM_BUTTON16_key <string>Shortcut for 3D SpaceMouse Button 16 SM_BUTTON17_key <string>Shortcut for 3D SpaceMouse Button 17 SM_BUTTON18_key <string>Shortcut for 3D SpaceMouse Button 18 SM_BUTTON19_key <string>Shortcut for 3D SpaceMouse Button 19 SM_BUTTON20_key <string>Shortcut for 3D SpaceMouse Button 20 SM_BUTTON21_key <string>Shortcut for 3D SpaceMouse Button 21 SM_BUTTON22_key <string>Shortcut for 3D SpaceMouse Button 22 SM_BUTTON23_key <string>Shortcut for 3D SpaceMouse Button 23 SM_BUTTON24_key <string>Shortcut for 3D SpaceMouse Button 24 SM_BUTTON25_key <string>Shortcut for 3D SpaceMouse Button 25 SM_BUTTON26_key <string>Shortcut for 3D SpaceMouse Button 26 SM_BUTTON27_key <string>Shortcut for 3D SpaceMouse Button 27 SM_BUTTON28_key <string>Shortcut for 3D SpaceMouse Button 28 SM_BUTTON29_key <string>Shortcut for 3D SpaceMouse Button 29 <none> <none> <none> <none> ZOOM_OUT <none> <none> <none> <none> <none> VIEW_P_XY VIEW_N_XZ VIEW_P_XZ VIEW_P_YZ <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none> <none>
D3PLOT
Page A.13
D3PLOT SM_APPLICATION_key SM_FIT_key <string>Shortcut for 3D SpaceMouse Application Button <string>Shortcut for 3D SpaceMouse Fit Button
The following options allow the user to change the symbols (and their quality) representing various entities which are drawn in plots. See DISPLAY_OPTIONS for further details. Preference abp_symbol abp_quality sph_symbol sph_quality swld_symbol swld_quality swld_radius Type Description <string> Symbol for Airbag Particles <integer>Quality of Airbag Particle sphere symbol <string> Symbol for SPH elements <integer>Quality of SPH sphere symbol <string> Symbol for type for Spotwelds Valid arguments POINT, CUBE, SPHERE 1-5 POINT, CUBE, SPHERE 1-5 DEFAULT, SPHERE, BEAM 1-5 PANEL, TRUE, FIXED 0.0 - 10000000.0 0.0 - 10000000.0 0.0 - 10000000.0 TRUE, FALSE 1 - 10 TRUE, FALSE Default POINT 1 SPHERE 2 DEFAULT 1 PANEL 1.5 1.0 1.0 FALSE 2 FALSE
<integer>Quality of Spotweld sphere symbol <string> Display spotwelds using the PANEL gap, TRUE radius or a FIXED radius swld_panel_factor <real> Factor to mulitple PANEL gap by when drawing spotwelds spheres swld_true_factor <real> Factor to mulitple TRUE radius by when drawing spotwelds spheres swld_fixed_size <real> Default radius used when drawing spotwelds with a FIXED radius swld_scale_by_value<logical>TRUE if spotweld radius is going to be scaled by the value spring_width <integer>Thickness (pixels) used to draw springs true_beam_sections <logical>Whether or not to draw beam elements using true sections
The following settings allow high performance graphics settings to be tuned. It is recommended that you do not modify these in the preferences editor, but rather use the TUNE option and then SAVE_SETTINGS. Preference Type Description Valid arguments 0-2 0-2 0-2 -1 - 1048576 0-2 0-3 Default 0 0 0 -1 0 0
gtune_varray <integer>Whether or not to use vertex arrays gtune_vbo_verts <integer>Whether or not to use VBOs for vertices gtune_vbo_coords<integer>Whether or not to use VBOs for coordinates gtune_vbo_limit <integer>How VBO usage is limited (explicit size in MBytes, or -1 for auto) gtune_shader <integer>Whether or not to use shaders gtune_mbr <integer>Whether or not to use the MBR extension for VBOs The following control treatment of unicode Preference cjk_unix_font Type DescriptionValid arguments <string>Font to use for CJK text on unix machines cjk_windows_font<string>Font to use for CJK text on windows machines
Default -misc-fixed-medium-r-normal-*-12-*-*-*-*-*-*-*
MS Gothic 12
Page A.14
User manual Version 11.0, March 2013 file_encoding <string>Character encoding for script files Latin-1, BIG5, Latin-1 EUC-CN, EUC-JP, EUC-KR, GB, GBK, ISO-2022-CN, ISO-2022-CN-EXT, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-KR, JOHAB, Shift-JIS, UTF-8, UTF-16BE, UTF-16LE, UTF-16, UTF-32BE, UTF-32LE, UTF-32
D3PLOT
The following <xxx>_visibility flags set the relevant ENTITY switches, and may subsequently be turned on/off manually in the normal way. The setting given here becomes the default for <reset> operations. Preference Type Description Valid argumentsDefault mass_visibility <string>Lumped mass visibility OFF, ON OFF spring_visibility <string>Spring/damper visibility OFF, ON ON sbelt_visibility <string>Seatbelts etc. visibility OFF, ON ON joint_visibility <string>Joint visibility OFF, ON ON stonewall_visibility <string>Rigidwall visibility OFF, ON ON particle_visibility <string>Airbag particle visibility OFF, ON ON connection_visibility<string>Connection visibility OFF, ON ON section_visibility <string>Database X-Sect visibility OFF, ON ON segment_visibility <string>Contact segment visibility OFF, ON OFF segment_hatching <string>Contact segment hatching OFF, ON ON Thus a typical range of settings might be: d3plot*plot_border: d3plot*menu_resize: ON TBR
d3plot*laser_orientation: Portrait d3plot*laser_mode: Greyscale The only one which requires explanation is laser_insert_file This is a file, in valid PS-ADOBE 2.0 Postscript format, that will be inserted at the top of every laser file. It could contain a company logo, standard header for a project, etc. It is inserted verbatim. For example you might have the .oa_pref line: d3plot*laser_insert_file: /usr/local/logos/company_logo.psc No check is made for its validity or syntactical correctness - that is up to you to get right.
Page A.15
From version 9.4 onwards global preferences that apply to all programs can be specified using "oasys" as the program name. oasys*<keyword>: <argument At present the following global preferences can be defined If a preference is defined twice using both "oasys*" and "d3plot*" then the "d3plot*" setting will override the global setting. Preference file_names Type Description Valid arguments <string> Controls input filename syntax. OASYS, LSTC LSTC = d3*, OASYS = job.ptf* html_application<string> Location of HTML browser image_format <string> Default image format BMP_8_C, BMP_8_UN, PNG_8, GIF_8, BMP_24_UN, PNG_24, JPG_24, PPM_24 maximise <logical>Maximise window when TRUE, FALSE Program is started placement <string> Location for initial window on LEFT, RIGHT, BOTTOM, TOP, multi-screen display LEFT_BOTTOM, LEFT_TOP, RIGHT_BOTTOM, RIGHT_TOP pdf_application <string> Location of PDF browser start_in <string> Directory to start Program in The following control directories Preference home_dir install_dir manuals_dir temp_dir checkpoint_dir Type Description Valid arguments Default <none> <none> <none> <none> <none> Default OASYS <none> JPG_24 FALSE <none> <none> <none>
"home" directory for user <string> Directory Oasys Ltd software is installed in <string> Directory user manuals are installed in <string> temporary directory for user <string> Directory for checkpoint files, or "none" to suppress them altogether <string>
The following control laser options Preference laser_paper_size laser_orientation laser_top_margin laser_bottom_margin laser_left_margin laser_right_margin Type <string> <string> <real> <real> <real> <real> Description Default paper size Default page orientation Top margin size in mm Bottom margin size in mm Left margin size in mm Right margin size in mm Valid arguments Default US, A4 A4 Portrait, LandscapeLandscape 10 30 20 10
The following control menu and mouse attributes Preference display_factor display_brightness display_saturation button_gradation dv_sync_windows Type <real> Description Factor on display size (0.5-2.0) <real> Menu brightness (0.0-1.0) <real> Menu colour saturation (0.0-1.0) <real> Button shade gradation (0.0-1.0) <string> Dyn view method(s) for synchronising windows Valid arguments 0.5 - 2.0 0.0 - 1.0 0.0 - 1.0 0.0 - 1.0 ICON, ICON+CAPS, ICON+NUM, ICON+CAPS+NUM Default 1.0 1.0 1.0 0.5 ICON+CAPS
Page A.16
User manual Version 11.0, March 2013 dv_left_shift <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, shift + Left mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_middle_shift <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, shift + Middle mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_right_shift <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, shift + Right mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_left_ctrl <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, ctrl + Left mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_middle_ctrl <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, ctrl + Middle mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_right_ctrl <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, ctrl + Right mouse ROTATION_Z, ROTATION_SPHERE, TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_left_both <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, shift+ctrl + Left ROTATION_Z, ROTATION_SPHERE, mouse TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_middle_both <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, shift+ctrl + Middle ROTATION_Z, ROTATION_SPHERE, mouse TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_right_both <string> Dyn view action for ROTATION_XYZ, ROTATION_XY, shift+ctrl + Right ROTATION_Z, ROTATION_SPHERE, mouse TRANSLATION, ZOOM_UP_+VE, ZOOM_DOWN_+VE, UNUSED dv_shift_action <string> Dynamic viewing CURRENT, WIREFRAME, mode for shift + FREE_EDGE, UNUSED mouse button dv_ctrl_action <string> Dynamic viewing CURRENT, WIREFRAME, mode for ctrl + FREE_EDGE, UNUSED mouse button dv_both_action <string> Dynamic viewing CURRENT, WIREFRAME, mode for shift+ctrl + FREE_EDGE, UNUSED mouse button font_scaling <logical>whether text in GUI TRUE, FALSE buttons can be scaled down to fit font_size <string> Menu font size SMALL, DEFAULT, LARGE font_type <string> Menu font typeface HELVETICA, HELVETICA-BOLD, and strength TIMES, TIMES-BOLD, COURIER, COURIER-BOLD left_handed <string> Left handed NONE, MOUSE, KEYBOARD, ALL switching of mouse and/or keyboard zoom_factor <real> Zoom Factor for 0.01 - 0.2 mouse wheel (0.01-0.2) czoom_factor <real> Factor for right 0.01 - 0.2 mouse dynamic zoom (0.01-0.2) kzoom_factor <real> Factor for +/0.01 - 100.0 keyboard short-cut keys mouse_3d_rotation_factor<real> Factor applied to the speed of rotation when using a 3D mouse
D3PLOT ROTATION_XYZ
TRANSLATION
ZOOM_UP_+VE
ROTATION_XYZ
TRANSLATION
ZOOM_UP_+VE
ROTATION_XYZ
TRANSLATION
ZOOM_UP_+VE
CURRENT WIREFRAME FREE_EDGE TRUE DEFAULT HELVETICA NONE 0.05 0.05 2.0 1.0
Page A.17
D3PLOT mouse_3d_pan_factor <real> Factor applied to the speed of panning when using a 3D mouse Factor applied to the speed of zooming when using a 3D mouse
mouse_3d_zoom_factor <real>
1.0
The following control treatment of unicode Preference cjk_unix_font Type DescriptionValid arguments <string>Font to use for CJK text on unix machines cjk_windows_font<string>Font to use for CJK text on windows machines file_encoding <string>Character Latin-1, BIG5, encoding EUC-CN, EUC-JP, for script EUC-KR, GB, GBK, files ISO-2022-CN, ISO-2022-CN-EXT, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-KR, JOHAB, Shift-JIS, UTF-8, UTF-16BE, UTF-16LE, UTF-16, UTF-32BE, UTF-32LE, UTF-32 Default -misc-fixed-medium-r-normal-*-12-*-*-*-*-*-*-*
MS Gothic 12
Latin-1
This behaviour is configurable, and can be controlled under Display Options, Hidden options.
Page A.18
D3PLOT
All of these may be configured using the relevant "oa_pref" file settings. d3plot*initial_plot_mode: d3plot*overlay_mode: d3plot*overlay_colour: LINE / HIDDEN / SHADED OFF / FREE / ALL WHITE, ... etc
The effect on lighting plots will be to make them darker, less brightly coloured, and obviously lit from a different position. To restore the previous defaults it will be necessary either to edit the ".oa_pref" file (see below), or to reset these values explicitly in the PROPS menu. The changes required in the .oa_pref file to restore the original lighting attributes are: d3plot*shaded_ambient: d3plot*shaded_diffuse: d3plot*shaded_shininess: d3plot*shaded_saturation: 100 Next section 25 90 70
Page A.19
D3PLOT
1. 2. 3. 4.
This will bring up the "Open with" panel. Ensure the Always use... box is ticked Use the directory browsing window to find the correct D3PLOT executable. You are looking for file d3plot11.exe or d3plot11_x64.exe. Select the executable and click on OK to close the "Open With" window.
D3PLOT should now open and read in the selected file and you should now find that:
Page A.20
User manual Version 11.0, March 2013 All .ptf files on your system show the D3PLOT icon.
D3PLOT
Double-clicking on any such file starts D3PLOT and opens that file. It is not possible to set up the filename "d3plot" for double-clicking in this way since Windows requires filename extensions when assigning applications to files.)
Page A.21
D3PLOT
Unix/Linux systems running "C" shell (/bin/csh) or its derivatives such as /bin/tcsh:
The format of the command is: setenv <parameter> <argument list> For example: setenv DISPLAY my_machine:0 setenv SM_USE_VISUAL default setenv DISPLAY_FACTOR 1.2 (Note that the Shell is written using C shell syntax, so if it is amended the format above should be used.)
Page A.22
D3PLOT
Windows systems
Choose the "System" panel ==> ==> ==> NT4: Click on "Environment" tab Win2K onwards: Click on the "Advanced" tab, then "Environment Variables..." Alternatively right-click on on "My computer" ==> NT4: Click on "Environment" tab Win2K onwards: Click on the "Advanced" tab, then "Environment Variables..."
This panel is from a Windows NT4 machine, but the panel on Win2K or XP is very similar.
Then insert the relevant Variable and Value strings into the User or System settings as desired. In this example it can be seen that iser Administrator has set the DISPLAY environment variable to 170.177.1.92:0.
Page A.23
D3PLOT
The following environment variables may be used to control the behaviour of D3PLOT.
Variable name Description Possible Values Default
The following variables control the graphics and attributes of the display window and menu system. DISPLAY The X11 display id on which graphics will be drawn. (This is ignored on "native" Windows systems.) If this is not defined (most systems initialise this to ":0") then no connection can be made to an X server, and no graphics will be drawn. SM_USE_VISUAL Sets the X11 "visual" id to be used for screen menus. Where a graphics display provides "overlay" planes these should normally be used, otherwise this should be left undefined or set to "default". Using an explicit visual id is possible, and this should be defined in hexadecimal (eg 0xf16). Experience has shown the on some Silicon Graphics systems using the "overlay" planes can result in very strange colours in other windows, in which case "default" should be used. Also on some W2000 and graphics board combinations problems may also arise with overlay planes and, again, "default" should be used. The following options may be used to configure the menu interface, and are intended for use by those who are having difficulties with the standard settings, or who have displays with unusual attributes. If you need advice about configuring your machine, and particularly if you suffer from physical impairment that may be eased by changing default settings, please contact Oasys Ltd and we will do our best to help. DISPLAY_SATURATION DISPLAY_BRIGHTNESS DISPLAY_FACTOR Saturation controls the colour saturation (intensity) of menus Brightness controls the colour brightness of menus "Factor" sets the relative display scale, and can range from 0.5 (making menus larger) to 2.0 (making them smaller). It may also be set to "automatic" which derives a factor from the physical screen dimensions. 0.0 to 1.0 0.0 to 1.0 0.5 to 2.0, or automatic 1.0 1.0 1.0 overlay default <visual id> in hex overlay (<machine name>):<server id>(<.screen id>) :0
Page A.24
User manual Version 11.0, March 2013 SM_FONT_SIZE Sets the size of fonts used in the menu interface. Possible values are: SMALL Will reduce the size of text in windows and buttons, and may be suitable on very large displays. "Normal" text size suitable for most purposes. "Large" text, which may be more easily read by those with visual impairment. The default size (usually medium) on this hardware. HELVETICA HELVETICA-BOLD TIMES TIMES-BOLD COURIER COURIER-BOLD SMALL MEDIUM LARGE DEFAULT
MEDIUM
LARGE
DEFAULT
SM_FONT_TYPE
Sets the font (type-face) to be used for menu fonts HELVETICA HELVETICA-BOLD Uses the proportionally spaced "Helvetica" (on X11) or "Arial" (on Windows) fonts. Uses the proportionally spaced "Times" font. Uses the fixed spaced "Courier" font.
HELVETICA
TIMES TIMES-BOLD
COURIER COURIER-BOLD
The "Bold" options for the font give a bolder and thicker font. The actual type-face used on a given platform will depend upon what fonts have been installed on that machine, and it is possible that the font and size combination selected may not be available. For advice on installing fonts please contact Oasys Ltd.
Page A.25
D3PLOT LEFT_HANDED Configures the keyboard and/or mouse for left-handed users. KEYBOARD Swaps the left and right "meta" keys (<shift>and <ctrl>) for the purposes of dynamic viewing. Note: At present (V9.0) this does not work on Windows platforms for technical reasons. We hope to fix this in the future. MOUSE Swaps the left and right mouse buttons for the purposes of all mouse actions (pick, drag, dynamic viewing) Both of the above
User manual Version 11.0, March 2013 KEYBOARD MOUSE ALL <none>
ALL
The following two variables apply on Windows platforms only, and should only be used if the menu system is clearly obtaining the wrong display size from the system, as evidenced by fonts and menus being very much the wrong size. DISPLAY_HEIGHT DISPLAY_WIDTH Set an explicit display height in millimetres Set an explicit display width in millimetres <height in mm> <width in mm> <none> <none>
The following options can be used to solve fairly obscure memory and display problems on X11 platforms. USE_PIXMAPS Controls whether or not the menus use true or false "pixmaps" (off-screen memory) to produce smooth scrolling. Turning this off (false) will save memory, and may help memory problems on a display that has only limited memory available for the X server, but will give slightly jerky window scrolling. This flag was introduced to fix a specific bug on Compaq Alpha OSF4.x operating systems. Normally the window manager requests a redraw of windows that have been updated, even when they are currently obscured by something else. However the OSF4 window manager series failed to do this, leading to "bare" patches underneath popup menus when these were unmapped. Setting this flag to false results in more redraws on these systems since it suppresses the default "save under" property of X11 windows, but it does at least prevent windows getting bare areas. Compaq have fixed the bug in OSF5, and possibly in later releases of OSF4. true or false true
SAVE_UNDER
true
Page A.26
User manual Version 11.0, March 2013 ALPHA_PERMIT_BROKEN Another Compaq problem with older graphics cards under OSF4.x was a crash the first time broken lines for undeformed geometry were drawn. To prevent this Compaq machines have this capability switched off. To enable undeformed geometry to use broken lines on these machines set this variable to true. true or false
D3PLOT false
The following are normally used when running command files, or performing automatic post-processing in batch mode. MENU_AUTO_CONFIRM This variable is often used when replaying command files which, when recorded, paused and asked the user to confirm things. (For example HELP and Warning messages.) If the variable is set (true) then these will not pause and will behave as if the user had pressed "OK" - meaning that command files can play back without user intervention. Action to be taken when opening a file for output, and the file already exists. Normally you will be prompted for the action to be taken when a file selected for output already exists. However if this variable is set to overwrite or append then the relevant action will be taken automatically. This is generally used when playing automatic post-processing batch scripts. SUPPRESS_CHECKPOINT Suppresses the reading and writing of checkpoint files. This is desireable in batch mode since it prevents spurious checkpoint files being read in and processed. true or false false true or false false
FILE_EXIST_ACTION
<none>
The following controls the display of on-line manual pages on Unix systems only. (Windows systems use the default web browser.) NETSTART Command string to start Netscape on Unix/Linux hosts. This is used to fire up the Netscape browser in order to read manual pages from within D3PLOT. Any valid Unix command string. <none>
The following variables control the default behaviour of the database management system.
Page A.27
D3PLOT D3PLOT_CACHE_DATA Default setting of the "CACHE_DATA" database switch. This controls whether or not D3PLOT attempts to store all data read from disk in its own core image. This setting can be changed manually during execution. full (was true prior to V8.3) scalar Stores all data read from disk in memory until the database caching memory limits are reached. This can use a lot of memory and is not recommended unless disk access is very slow. Stores basic nodal coordinates and the current components "scalar" data only. A reasonable trade-off between speed and memory size.
User manual Version 11.0, March 2013 full scalar off (Also, for backwards compatibility: true false scalar
off Only basic nodal coordinate data (was are stored. Saves memory but false may make data-bearing plots prior to slow to modify. v8.3) Generally Unix systems are better at cacheing disk data in spare system memory than Windows systems, making "disk" rereads faster since they are actually copied from memory. This makes the "off" option viable under Unix - however you may need to experiment. D3PLOT_SOFT_LIMIT Controls the amout of memory (in MB) set aside for the "soft" database limit Controls the amout of memory (in MB) set aside for the "hard" database limit 1 to 2048 MB 60% of system memory 80% of system memory
D3PLOT_HARD_LIMIT
1 to 2048 MB
The following variables set special parameters for data file reading and management, and are not normally used. D3PLOT_SOLID_SE Controls whether or not D3PLOT calculates strain energy density for solid elements. Doing this makes the assumption that the elements have not entered the plastic strain regime, so it is not normally set. Analyses containing 8 integration points worth of data for solid elements are processed (NINTSLD = 8 on *DATABASE EXTENT BINARY), but only the first integration point is normally considered. If this flag is set then limited support for all 8 integration points is provided. This facility is only partially implemented and should not be relied on. PTF_CONTIGUOUS CTF_CONTIGUOUS Some versions of LS-DYNA sometimes contravene the rules for starting a new family member, and write data contiguously across file boundaries when they should not. Setting these variables may enable such files to be read. true or false false true or false false
D3PLOT_SOLID_8
true or false
false
Page A.28
User manual Version 11.0, March 2013 D3PLOT_LIST_CROSSED Normally coincident solid elements and those with crossed faces are dealt with by issuing a summary warning that they exist. Set this variable to see a detailed listing of all such elements. true or false
D3PLOT false
The following variables are provided for debugging purposes only, and should not normally be used. XSYNC Runs the X server in "synchronised" (unbuffered) mode. This will give woefully slow graphics, and is used for debugging purposes only. Makes the menu system issue a warning if a button is redefined. Again this is normally only used for debugging purposes. When replaying checkpoint files this maps the file filter box and waits for user input, instead of using the path/filename encoded in the checkpoint file. This is used when replaying checkpoint files on a machine different to that on which they were written, or when the encoded file pathnames are no longer valid. CP_DEBUG When replaying checkpoint files this writes details of each command to <stdout>, and waits for <enter> before proceeding. 0 1 Off, the default. Checkpoint files play through without halts. On. Checkpoint files echo all commands to <stdout>, and wait for a <return> on <stdin> before proceeding. However graphics commands (dynamic viewing, zoom, etc) play through without pause. 2 On. As for 1 above, but every command (including dynamic viewing) pauses and waits for confirmation before proceeding. 0 (off) 1 2 0 true or false false
WARN_REDEFINE
true or false
false
CP_FILE_FILTER
true or false
false
Used for debugging problem files. CP_REFORMAT When replaying checkpoint files written on a machine with a difference display resolution some picking and other screen-dependent operations may not work correctly. Setting this variable causes the playback machine to map the D3PLOT menu system onto a "virtual" display resolution equal to that of the original machine which *may* solve these problems if the two displays are not wildly different. It is more likely to work if the playback machine has a higher resolution than that on which the file was written. D3PLOT_TIMING Writes the time taken for each frame to be drawn to <stdout>. Used for timing comparison purposes. true or <none> <none> true or false false
Page A.29
D3PLOT
Create a new window containing 1 or more models in <model list> boolean DeleteWindow(window_list, (dispose flag)) Delete (a) window(s), optionally "disposing" of orphan models Sets the "active" flag on the specified window(s) boolean SetWindowActive(window_id, active_flag) integer GetWindowMaxFrame(window_id) Returns the highest frame in <window_id> boolean SetWindowFrame(window_id, frame_number) Displays frame <frame_number> in the specified window(s) integer GetWindowFrame(window_id) Returns the current frame of <window_id> object GetWindowModels(window_id) Returns an object containing information about the model(s) in <window_id> Sets <model_id> to be current for data "get" and boolean SetCurrentModel(model_id) "put" operations Sets <state_id> to be current for data "get" and boolean SetCurrentState(state_id) "put" operations boolean LockState(state_id) Locks memory in <state_id> against reuse in other states boolean UnlockState(state_id) Unlocks memory in <state_id>, making it eligible for reuse in other states General routine to return the quantity of many integer GetNumberOf(type, (further args)) different things boolean QueryDataPresent(component, (type)) Returns JS_TRUE if data <component> is present. object GetModelInfo((model_id)) Returns a structure giving model filenames etc Return the analysis time of the current state, or of double GetTime((state)) <state> if defined. integer GetLabel(type, item, (state)) Return the external label of internal <type/item> Return the internal part id of internal <type/item> integer GetPid(type, item, (state)) integer GetMid(type, item, (layer), (state)) Return the external material id of internal <type/item> object GetTopology(type, item, (state)) Return an object containing topology, #nodes and part id for internal <type/item> object GetElemsAtNode(node, type, (state)) Return a list of elements of <type> at <node> double or GetData(component, type, item, (int_pnt), (extra), Return scalar, vector or tensor data for data array (fr_ref), (state), (dda)) <component> of <type/item> integer CreateUbinComponent(name, item type, data type, Create a user-defined internal binary (UBIN) data if_existing) component and return its "handle" object LocateUbinComponent(name) Returns an object with the <handle> and other attributes of UBIN component <name> integer DeleteUbinComponent(handle) Deletes UBIN component <handle> double or GetUbinData(ubin handle, type, item, int_pnt, (state)) Get data from UBIN component <handle> for <type/item> array boolean PutUbinData(ubin handle, type, item, int_pnt, data, Insert data for UBIN component <handle> for (state)) <type/item> boolean SetCutSection(window_id, attribute, value) Defines cut-section attributes in <window_id> object GetCutSection(window_id, (state_id), (model_id)) Retrieves cut-section attributes from <window_id> object GetCutForces(window_id, (include blanked), (part_id), Returns the forces, moments, centroid and area (state_id), (model_id)) from the cut-section in <window_id> array Pick(type,number) Returns an array containing the items that were picked. integer Select(type) Returns the number of items selected boolean IsSelected(type, item) Check if an item has been selected boolean IsBlanked(type, item) Check if an item is currently blanked Page A.30
User manual Version 11.0, March 2013 boolean <no return> <no return> boolean boolean IsDeleted(type, item) Blank(type, item) Unblank(type, item) DialogueInput(line_1, (line_2), ... (line_n)) DialogueInputNoEcho(line_1, (line_2), ... (line_n)) Check if an item is currently deleted Blank an item Unblank an item
D3PLOT
Executes 1 or more lines of command-line dialogue commands As for DialogueInput(), but with no echo to dialogue box
Page A.31
D3PLOT
Utility functions common with the PRIMER Javascript API Global Class
string GetCurrentDirectory() string GetStartInDirectory() booleanPrint(arg) booleanPrintln(arg); booleanMessage(arg); booleanWarning(arg); booleanError(arg); string NumberToString(<number>, <width>); booleanSleep(nsecs); booleanMilliSleep(nsecs); integer System(arg); booleanExit(); Returns the current working directory. Returns the the start_in directory or NULL if not set. Prints <arg> on the terminal (stdout), but does not add <carriage return> or <line feed>. Successive Print() calls will append to the line. Prints <arg> on the terminal followed by a line feed Prints <arg> in the dialogue box followed by a line feed Prints warning message <arg> in the dialogue box followed by a line feed Prints error message <arg> in the dialogue box followed by a line feed Formats <number> (integer or float) to a string using the specificed <width> Sleeps (pauses execution) for <nsecs> seconds. Sleeps (pauses execution) for <nsecs> milli seconds. Issues command <arg> to the operating system Exits from D3PLOT
In addition the following classes are common with the PRIMER API: File Window Widget Handles file opening, closing and general i/o Handles creation and management of menu system windows Handles primitives and processing in Window classes
Full documentation of the PRIMER Javascript API may be found under primer_js_api.html
Page A.32
D3PLOT
Notes on programming:
All scripts and script runs are independent
Javascript variables and "current" settings are not "remembered" in any way across successive executions of scripts. Each script, including a second and subsequent execution of the same compiled script, is wholly independent; and default current model, window and other values are reset every time a script is executed.
Argument types:
Javascript is a very weakly typed language in which data can be thought of as "numbers", "strings", "arrays", "objects" and so on. However when describing a function it is useful to be more precise about the sort of argument expected or returned, and the following descriptions are used below. A "whole number" which would qualify as an integer in languages such as Fortran or C. A "floating point number". Javascript does all floating point arithmetic in double precision, so there is no concept of a single precision "float". Boolean Either JS_TRUE or JS_FALSE. Typically this is the success/failure status outcome of function calls that do not return a data value. It does not translate to a "number", and should only be used for logical tests. String A string of one or more characters in "..". For example "this is a string". <type> An array of values of <type>. Javascript does not assign types to arrays, and their subscripts may be Array of mixed type, however in the context of this API arrays will be of a single type, eg integer, which will be specified. Object Javascript objects may be of any type, and members may be added at will. In the context of this API they will be classes, and the class members will be specified. Constant Will be a capitalised constant value from a defined list (eg DX, SOLID, etc), effectively an integer. All valid constants for this API are listed in the Table of Valid Constants below. A common error is to pass an argument that is a String to a function below that expects a "number" of some sort, typically when data has been read from an external file and processed using string manipulation functions. This will generate a "wrong type of argument" error when the function executes. Integer Double The solution is to use one of the Javascript conversion functions Number(xxx), ParseInt(xxx) or ParseFloat(xxx) to convert the string to a number.
Return values:
All functions in this API return a value, although you are free to ignore this. As a general rule those that "GetXxxx" something return an integer, double, array or object as a result, and others return the boolean value JS_TRUE or JS_FALSE to denote success or failure. Each functions return type is documented below, and will be one of:
Page A.33
D3PLOT Boolean JS_TRUE or JS_FALSE Integer An integer value Double Array Object A floating point value
An array of values, usually all of type Integer or Double A Javascript "object" that is a structure with members defined by name.
Page A.34
D3PLOT
D3PLOT
Page A.36
D3PLOT
GOOD: state loop is the outer one for(istate=1; istate<=max_states; istate++) { for(i=1; i<=n_items; i++) { <get data> <process it>
BAD: state loop is the inner one. for(i=1; i<=n_items; i++) { for(istate=1; istate<=max_states; istate++) { <get data> <process it>
Clearly there is also a trade-off to be made between local storage in the Javascript in the "good" example on the left versus slower speed in the "bad" one on the right.
... but the Direct Disk Access (dda) flag can be used if necessary.
Routine GetData() normally works on the assumption that you will want to read data for many items from the current state, therefore if the requested data is not currently in core it will read the complete data vector for all items of that type from disk into memory for that state, most likely re-using the memory used for the same data vector in a previous state. This is efficient since all subsequent data reads for items in that state can be processed directly from memory without any further disk access, and it explains why changing states is a potentially expensive operation. However the situation may arise where you want to read data for only a few items over a wide range of states, possibly in a random order, and the overhead of reading the complete data block for all items is prohibitively costly. In addition hopping back and forth between states might result in "churning" as data is read, discarded and reread repeatedly, making a bad situation worse. The <dda> argument to GetData() will, if set to ON, change this behaviour so that complete data vectors are not read into memory, and instead data for the requested item only is read directly from disk, and then forgotten. This is an efficient solution when only a few items are being read from a large model over a range of states, but it will become progressively slower as more and more items are read, since each will require an explicit read from disk. Clearly if data for enough items is read directly there will come a point where it is better to revert to the default behaviour. It is not possible to give guidance about where this point will lie since it will be a function of model size, number of states, computer memory capacity and speed of disk access; if you are writing a script that "hops about" states in a model you will have to experiment in order to find the best solution for your application. It is recommended that you try the default behaviour first (<dda> undefined or OFF), and only try setting it if the speed of your script is unacceptably slow.
D3PLOT
available on the computer and cause the Javascript to fail or indeed D3PLOT to crash. Therefore you should only lock states when necessary, and you should unlock them again once the data they contain no longer needs to be available for immediate use. States remain locked until: You unlock them explicitly with UnlockState() You use SetCurrentState() to make a new state current. This automatically unlocks all states except the new current one. You exit the Javascript and return to normal (interactive or batch) D3PLOT usage.
Item number If +ve this is treated as an internal item number starting at 1 If -ve this is treated as an external label id. Clearly it is far more efficient to use internal indices rather than labels, since the latter require a search to resolve them, however the option is available if required. When presenting data to the user, or writing it to file, the "GetLabel()" function can be used to return the external label of an internal <type/item> pair.
To make this easier, and especially to avoid any ordering errors for tensor data, this API has the following constants defined: X, Y, Z for vectors XX, YY, ZZ, XY, YZ, ZX for tensors. (Tensors are symmetric, so constants YX (== XY), ZY (== YZ), XZ (== ZX) are also defined, it doesnt matter which are used.) These are intended to be used for array subscripts to make coding clearer. For example in the following table both columns mean the same thing and are equally valid, but it is recommended that you use the left hand columns syntax as it is both clearer and less error-prone.
Using constants fx = a[X]; fy = a[Y]; fz = a[Z]; sxx = b[XX]; sxy = b[XY]; szx = b[ZX];
Using numbers fx = a[0]; fy = a[1]; fz = a[2]; sxx = b[0]; sxy = b[3]; szx = b[5];
Page A.38
D3PLOT
Page A.39
D3PLOT
Admittedly the two cases above are only rarely used, but the distinction between "frames" and "states" is important in these situations. This API provides the following routines to deal with frames in window: GetWindowMaxFrame(window_id) SetWindowFrame(window_id, frame_number) Returns the highest frame in <window_id> Displays frame <frame_number> in the specified window(s)
GetWindowFrame(window_id) Returns the current frame of <window_id> Note that the "current frame" of a given window is purely an attribute of that window, and has no connection with the current model and state of this API as described above.
Models in Windows
D3PLOT requires an active window to contain at least one model, although it is possible to display any number of further models in the window. The following routines process and provide information about models in windows. GetWindowModels(window_id) Returns an object containing information about the model(s) in <window_id> Processing windows containing multiple models can become difficult since each models data at a given "frame" may contain results at a different time, and the attributes of each model may be different - for example not all models may contain a given data component. Functions in this API which manipulate model data in windows may have an optional <model_id> argument to specify which model in a window is being processed. If this is omitted then the first model, as returned by function GetWindowModels(), will be used. They may also have an optional <state_id> argument to specify the state number to be used. If this is omitted the models state at the current "frame" in that window will be used. It will be clear that processing data in windows containing multiple models is best avoided - please see "Recommended window setup when using this API" for suggestions about how to avoid these problems.
Page A.40
D3PLOT
Page A.41
D3PLOT
Page A.42
D3PLOT
WARNING:
D3PLOT does not permit gaps in window numbering, therefore when a window is deleted any windows higher than this are renumbered downwards to fill the gap. However D3PLOT does not renumber models following the deletion of preceding ones. Deleted model ids simply become "inactive".
This means that following a window deletion operation: The total number of windows will change. Any window ids above those deleted will have been renumbered downwards. If any orphan models were deleted these models will now be inactive. If the current Javascript model has been deleted then the "current" model pointer will be reset to the first active model, or <undefined> if there are no such models. Therefore if a script is to continue execution after a window deletion operation it is prudent to ensure that any "current" user-defined variables in the Javascript are reset to sensible values. Arguments: <window_list> integer An array of window Specifies the window(s) to be deleted. array numbers or or integer A scalar window or number constant or ALL <dispose_flag>constant LEAVE or DELETE LEAVE (default) leaves orphaned models in the database. DELETE deletes orphaned models. Return <status> Boolean JS_TRUE on success, JS_FALSE on failure. value: Example: a = new array(2, 3); DeleteWindow(a); DeleteWindow(6, DELETE); Delete windows #2 and #3 leaving any orphaned models in the database. Delete window #6, also deleting any orphaned models.
DeleteWindow(ALL, LEAVE); Delete all windows, leaving any orphaned models in the database.
Page A.43
integer Window numberSpecifies the window(s) to have their status set or or constantALL <active_flag>constantOFF or ON OFF makes the selected window(s) inactive ON makes window(s) active Return value:<status> Boolean JS_TRUE on success, JS_FALSE on failure. Example: SetWindowActive(1, OFF); Turns off the activity flag for window #1
integer GetWindowMaxFrame(window_id)
Returns the highest frame number in the specified window. "Frame" number is usually the same as state number, but there are a few situations when this is not the case: Eigenvalue analyses. Each state is animated though <#frames> between +/-180 degrees phase angle Nastran-derived static analyses. Each loadcase is likewise animated through <#frames> Transient analyses that are being interpolated by time, giving (end time / time interval) frames. In all cases animating a window results in it cycling through frames 1 to <max #frames>. Arguments <window_id>IntegerWindow number Specifies the window number Return value:<max #frame> IntegerHighest frame number in window Example: a = GetWindowMaxFrame(2); Get the highest frame number in Window #2
integer GetWindowFrame(window_id)
Returns the current "frame" in window <window_id> See the notes in GetWindowMaxFrame() above on how frame number relates to state number.
Page A.44
D3PLOT
integer Window number Specifies the window(s) to have the frame or (integer) number set constantor ALL (constant) <frame_number>integer The current frame number in the specified window (integer)
object GetWindowModels(window_id)
Returns information about the model(s) in window <window_id>, which must be a valid window number. Every active window in D3PLOT must have at least one model, but may have any number. Arguments: <window_id> integerWindow number (integer)Specifies the window id Return value:<model information>object An object with the following fields: .nm The number of models in the window
.list[ An array of model numbers, of ] length <nm> If this function is called on an inactive window then <nm> will return zero, and <list> will not be defined. Example: a = GetWindowModels(1); for(i=0; i<a.nm; i++) { <do something with a.list[i]> Get list of models in window #1
Page A.45
D3PLOT
boolean SetCurrentState(state_id)
Sets the "current" state for the Javascript interface to <state_id> This is the state used for all "get" and "put" functions which handle model-related data. If the optional <state_id> argument in a get/put function call is used then that state is used instead for the duration of that call, but this current state is not changed. The current state is a property of the current model, in other words each model has its own, separate, current state. For all models this defaults to state #1 (if present). Setting the current state in model <i> has no effect on the current state in any other model. Arguments: <state_id>IntegerState numberSpecifies the state id to be made current Return value:<status> BooleanJS_TRUE on success, JS_FALSE on failure. Example: SetCurrentState(27); Make state #27 current
Page A.46
D3PLOT
In this example the script would probably run incredibly slowly as each GetData() call would have to reread data from disk into the newly scavenged memory, so you would end up with <#elements * 2> disk reads of all the data for this component and element type. The same would be true if PutUbinData() or GetUbinData() were used as both of these require the data to be "put" or "got" to exist in memory, requiring that memory to be obtained from somewhere. By "locking" states N and N-1 in this example you would force D3PLOT to allocate enough memory to hold both data vectors in memory at the same time, and the script would run <#elements * 2> times faster. For a model with 1,000,000 elements this might reduce the run-time from months to seconds! Clearly states should not be "locked" unnecessarily or, more importantly, left "locked" when there is no longer any need for the data they contain, since this will lead to a significant build-up of memory usage. Therefore states can be unlocked in three ways: Explicitly by using the Javascript function UnlockState() Implicitly by using the Javascript function SetCurrentState(), which unlocks all states except the current one Implicitly by exiting the Javascript, as normal (interactive or batch) D3PLOT usage will implicitly unlock all but the current state. To summarise: this function is likely to be needed only when you are performing repeated "gets" and/or "puts" of data to and from more than one state. Locking and unlocking states takes place in the current model only, and has no effect on states in any other model. Arguments: <state_id>IntegerState Specifies the state id to have its data locked against number scavenging Return <status> BooleanJS_TRUE on success, JS_FALSE on failure. value: Example: LockState(13); Lock data in state #13
boolean UnlockState(state_id)
"Unlocks" this state for the purposes of memory scavenging, making any data vectors within it eligible for reuse by other states looking for memory. Please see the documentation on LockState() for a description of what this function does, and when it might be needed. Page A.47
User manual Version 11.0, March 2013 <state_id>IntegerState Specifies the state id to have its data unlocked against number scavenging <status> BooleanJS_TRUE on success, JS_FALSE on failure.
Page A.48
D3PLOT
Page A.49
D3PLOT Arguments: <type_code>ConstantA valid type code or other constant from the list Type code Returns constant WINDOW Number of windows
Type code Returns constant USER Total number of user-defined components Number of user-defined node scalar " .. node vector .. .. solid/shell scalar .. .. solid/shell tensor .. .. beam scalar .. .. beam vector .. Number of Solid integration points Number of Beam int pts (integrated beams) Number of Shell int pnts Number of Thick Shell int pnts Number of "extra" solid data values Number of "extra" shell data values Number of "extra" thick shell data values
MODEL
UNOS
Number of families in current model (CM) Number of states in CM .. Parts in CM .. .. Nodal Rigid Bodies in CM .. .. Contact surfaces in CM.. .. Nodes in Current Family (CF) .. .. Solids in CF..
.. Beams .. .. Shells.. .. Thick shells.. .. Lumped masses .. .. Springs and dampers .. .. Seat-belts ..
NIP_S NIP_T
RETR SLIP PRET JOINT WALL SEGM SWLD CWLD GWLD BWLD HWLD HSWA
.. Retractors.. .. Sliprings .. .. Pretensioners .. .. Joints .. .. Rigid walls .. .. Contact segments .. ... Total number of Spotwelds ... ... *CONSTRAINED_SPOTWELD Spotwelds ... ... *CONSTARINED_GENERALIZED Spotwelds ... ... Beam Spotwelds ... ... Hex Spotwelds ... ... Hex Spotwled Assemblies ...
<state_id> Integer Optional: a state id (integer) which will be used instead of the current state. Only necessary in adaptively remeshed analyses. Return type: <quantity>IntegerThe number of items of this type.
Page A.50
User manual Version 11.0, March 2013 Examples: a = GetNumberOf(MODEL); a = GetNumberOf(NIP_S); Return the number of models Return number of shell integration points
D3PLOT
a = GetNumberOf(SOLID, state_id); Return number of solid elements in family of state <state_id> Notes: 1. The "number of models" returned by GetNumberOf(MODEL) is actually the number of active and inactive model "slots" in the database, including those currently not in use. This means that it will always return the highest model number that has been used to date. Therefore that the following sequence: Read in (say) three models M1 to M3 Delete models M1 and M2, leaving only M3 in use.
Will result in GetNumberOf(MODEL) returning the value 3. You can use SetCurrentModel(model_id) to attempt to set a model and examine its return value to see whether it succeeded or failed. For example you might write: n = GetNumberOf(MODEL); for(i=1; i<=n; i++) { if(SetCurrentModel(i)) { do something
if(QueryDataPresent(EPL, SOLID)) ... Returns JS_TRUE if Effective Plastic Strain exists for solids if(QueryDataPresent(TEMP)) ... Returns JS_TRUE if nodal temperatures exist
Page A.51
User manual Version 11.0, March 2013 Information Object An object with the following members: .ptf_name String The full name (including pathname) of the complete state PTF (d3plot) file. The full name (including pathname) of the Nastran OP2 file. The full name (including pathname) of the LS-PREPOST database file. ditto for the contact force CTF file (intfor) ditto for the extra database ZTF file ditto for the extra database XTF file The number of adaptive remesh families in the file sequence. Will be one for a normal non-adaptive analysis The number of complete states in the file sequence. The string "Not defined" is returned for any files that are not present
.op2_name
String
.pp_name
String
.ctf_name
String
.num_states
Integer
Notes: The vast majority of analyses do not use adaptive remeshing, and the <family_id> argument can be ignored. When it is given: Family id 0 is the base analysis: Family id 1 is the first remesh, ie name_aa ... and so on. Example: info = GetModelInfo(); Print("PTF filename = " + info.ptf_name + "\n"); Print("Number of states = " + info.num_states + "\n"); info = GetModelInfo(2, 3); Print("PTF filename = " + info.ptf_name + "\n"); Returns the name of the PTF (d3plot) file of the current model. Also the number of states in this analysis Returns name of the 3rd adaptive remesh PTF file in model 2
integer GetTime((state_id))
Returns the analysis time of the current state, or that of <state_id> if defined. Arguments: <state_id>IntegerOptional: State numberThe state to be used instead of the current state. Return value:<time> Double The time of the state, or the frequency for eigenvalue analyses Example: time = GetTime(); Returns the time of the current state.
Page A.52
D3PLOT
The type of the item Internal item numbers will be many times faster to process
<pid>
The state to be used instead of the current state. Only necessary in adaptively remeshed analyses. Integer The internal part id (internal, sequential numbering starting from 1)
a = GetPid(SHELL, 27); Returns the internal part id of the 27th internal shell.
Page A.53
Returns the external material id of *PART 2 Returns the external material id of the 3rd layer of *PART_COMPOSITE 12 Returns the external material id of the 27th internal shell.
d = GetMid(SHELL, 100, 2); Returns the external material id of the second layer of internal shell 100. Assumes that the part of the shell is of type *PART_COMPOSITE
Page A.54
User manual Version 11.0, March 2013 Return value: <Element list> Object
D3PLOT If there are any elements of <type> at the node an object with the following members: .nn Integer Number of elements in <list[ ]> Array of internal element indices
.list[ ] Integer array Example: if(a = GetElemsAtNode(inode, SHELL)) { nelems = a.nn; e1 = a.list[0]; e2 = a.list[1]; }
Returns an object with the list of shell elements at node <inode>. If there are no elements the function returns JS_FALSE.
double or double array GetData(component, type_code, item, (int_pnt), (extra), (fr_of_ref), (state_id), (dda))
Returns the data for <component> of <item> of type <type_code>. The return value is scalar, array[3] or array[6] for scalar, vector and tensor components respectively. WARNING: If the function arguments are grammatically correct but the requested data component is not present in the database, then 1, 3 or 6 zeros are returned as required, and no warning message is output. Therefore it is good practice to use function QueryDataPresent() to check that an optional data component is actually present in a database before attempting to extract its values.
Page A.55
D3PLOT
Arguments: <component>Constant A valid component code (eg DX, Only valid codes in the list below are SXY) permitted. <type_code>Constant A valid element type code ( SOLID, The type of the item etc) <item> Integer If +ve: The internal item number Internal item numbers will be many starting from 1 times faster to process If -ve: The external label of the item <int_pnt> Integer Optional: Integration points are only If +ve is an integration point meaningful for some components, id (1 = lowest), such as shell stress tensors and Alternatively one of the integrated beam stresses. This codes TOP, MIDDLE, argument may be omitted if not BOTTOM needed. Use zero to define a null "padding" argument Optional: This argument is only necessary for a The "extra" solid or shell few components, and may be omitted component id for components if not needed. SOX or SHX The ALE multi-material group id for components AMMG and AMMS The sub-number for user-defined components UNOS, UNOV, USSS, USST, UBMS, UBMV Use zero to define a null "padding" argument Optional: If supplied should be one of the constants: GLOBAL LOCAL CYLINDRICAL USER_DEFINED
<extra>
Integer
<fr_of_ref>Integer
This argument is only necessary for directional components (eg X stress), and then only when something other than the default GLOBAL coordinate system is to be used.
If omitted, or set to zero, it defaults to Use zero to define a null "padding" GLOBAL for directional components, argument and is ignored for all others. Optional: State number The state to be used instead of the current state. Optional: "Direct Disk Access" Either OFF (default) for normal data flag. cacheing or ON to enable direct disk reading of data. If turned on this reads data not currently in core memory directly from disk without loading the complete data vector for the state into core. This should be used if you want to extract results for a few items over a range of states, since it will potentially be faster. The return value will be one of three types: double (scalar) double array[3] double array[6] For data components that return a single scalar value (eg SXX) For data components that return a vector value (eg UNOV) For data components that return a tensor value (eg ETEN) See table below for data component codes and return types.
Return value:
<Data>
Page A.56
User manual Version 11.0, March 2013 Examples: a = GetData(SXX, SHELL, 27, 2, 0, LOCAL); b = GetData(ETEN, SOLID, 93); sxx = b[0]; sxy = b[3]; c = GetData(UNOV, NODE, inode, 0, 2, 0, 3); vx = c[0]; vy = c[1]; vz = c[2];
D3PLOT
Returns the (scalar) X stress of internal shell #27 at integration point 2, in the element local coordinate system. Returns an array[6] of the strain tensor in solid element #93, implicitly in the global coordinate system. Returns an array[3] of the 2nd user-defined Nodal Vector component at internal node #inode at state #3.
Page A.57
D3PLOT
<dispose>
Constant
Page A.58
User manual Version 11.0, March 2013 <location> Constant Optional: specify where the or data for this component is to <pathname> be stored, one of: A valid <pathname> IN_CORE
D3PLOT If <pathname> is defined then .ubd files will be written to this directory instead of that of the original analysis. This will usually be a better solution than the alternative options of keeping data "in core" since it allows D3PLOT memory management to operate normally, writing data to disk if space is needed in memory. The directory <pathname> must exist, and you must have write permission to it. IN_CORE stipulates that this components data will always be held in memory, and will never be written to disk. This solves the problem of data files being in read-only directories since no ".ubd" files are written. However it also means that D3PLOT will not dump data for currently unused states to disk, meaning that you may run out of memory if you generate too much data in your Javascripts. If IN_CORE is used the value of <dispose> above is ignored. If this argument is omitted then by default behaviour of creating ".ubd" files in the same directory as the analysis database files will be used. However an alternative default directory my be specified by the preference: d3plot*ubd_file_location: <pathname>
Return type: <Handle> Integer A "handle" for the newly created component that should be used in subsequent "ubin" processing function calls. This "handle" should be regarded as private data, and not modified in any way. In addition if a UBIN component is created and then recreated and over-written in a script (if_existing = REPLACE) the "handle" from each call may be different - dont assume that it has not changed. Example: handle_1 = CreateUbinComponent("My nodal data", U_NODE, U_SCALAR, REPLACE); handle_2 = CreateUbinComponent("My shell tensor data", U_SOSH, U_TENSOR, REPLACE); Creates a component for nodal scalar data Creates a tensor component for solid, shell and thick shell data
object LocateUbinComponent(component_name)
Locates an existing UBIN component <name> and returns its <handle>. This is useful when a previous run has created a UBIN component and this script wishes to work with it. <name> is not case-sensitive, but an exact character match is required, so embedded white space is significant. If the lookup succeeds this function returns the handle of the component (which will be a +ve integer), if it fails it returns the value JS_FALSE. Arguments: <component_name>String A name to search for, a Component names are not character string up to 30 case-sensitive, but searching only characters long. succeeds if an exact match is found.
Page A.59
User manual Version 11.0, March 2013 If successful this routine returns an object with members: .handle Integer The "handle" of the UBIN component
Constant One of U_SCALAR, U_VECTOR, U_TENSOR If unsuccessful it returns JS_FALSE. Example: if(udata = LocateUbinComponent("My nodal data")) { handle = udata.handle; ... } else { ... deal with failure Looks for component "My nodal data" and puts the result of a successful lookup in object <udata>.
integer DeleteUbinComponent(handle)
Deletes an existing UBIN component <handle>. The component is deleted from memory, and any ".ubd" files cached on disk are also deleted. If this succeeds it returns JS_TRUE, otherwise JS_FALSE. Arguments: <handle>IntegerThe handle of an existing UBIN component Return value:<status>IntegerJS_TRUE on success, JS_FALSE on failure. Example: if(!DeleteUbinComponent(handle_1)) Deletes UBIN component { <handle_1> ...deal with failure...
Page A.60
User manual Version 11.0, March 2013 Arguments: <handle> Integer A UBIN component handle as returned by CreateUbinComponent() <item_type>Constant A constant of the standard type codes NODE, SOLID, SHELL, etc.
D3PLOT
<item> <int_pnt>
<data>
This must be a handle of an existing UBIN component. It is illegal to attempt to store data for a type that does not match the underlying UBIN component type This must match the underlying type thus, for example, you cannot store of the UBIN component, thus NODE NODE data for a U_SOSH for components of type U_NODE, and component. so on. Integer If +ve: The internal item number Internal item numbers will be many starting from 1 times faster to process If -ve: The external label of the item Integer Integration point: must be a +ve layer "Top", "Middle" and "Bottom" are number (lowest = 1) not allowed in this context since "middle" is not writable in cases Or zero for item types NODE and with an even number of points. BEAM that do not consider integration points in this context. A value of 1 should normally be used for solid elements Double The data to be stored. Its format The alignment of array members depends on the "data type" of the should be as follows: or component: Vector: [X, Y, Z] Double "Data valid <data> type(s) array Tensor: [XX, YY, ZZ, XY, YZ, ZX] type" U_SCALAR Scalar double, or double array[ ] of length >= 1. U_VECTOR Double array[ ]of length >= 3 U_TENSOR Double array[ ]of length >= 6
The state to be used instead of the current state. Boolean JS_TRUE on success, JS_FALSE on failure.
dvec = new array(6); dvec[XX] = sxx; dvec[YZ] = syz; PutUbinData(handle_1, SOLID, 27, 1, dvec); PutUbinData(handle_2, NODE, 17, 0, 19.5, istate);
Write an array of tensor data for solid #27, which implies that the UBIN data component <handle_1> is of type U_SOSH, and that its data type is U_SCALAR.
Write the scalar value 19.5 for node #17, in state <istate>. This implies that the UBIN component <handle_2> is of type U_NODE and its data is U_SCALAR.
Page A.61
User manual Version 11.0, March 2013 Integer A UBIN component handle as returned by CreateUbinComponent() <item_type>Constant A constant of the standard type codes NODE, SOLID, SHELL, etc. This must be a handle of an existing UBIN component. It is illegal to attempt to store data for a type that does not match the underlying UBIN component type This must match the underlying type thus, for example, you cannot store of the UBIN component, thus NODE NODE data for a U_SOSH for components of type U_NODE, and component. so on. <item> Integer If +ve: The internal item number Internal item numbers will be many starting from 1 times faster to process If -ve: The external label of the item <int_pnt> Integer Integration point: must be a +ve layer "Top", "Middle" and "Bottom" are number (lowest = 1) not allowed in this context since "middle" is not directly readable in Or zero for item types NODE and cases with an even number of BEAM that do not consider integration points. points in this context. A value of 1 should normally be used for solid elements <state_id> Integer Optional: State number The state to be used instead of the current state. <data> double Results are returned as: or double array "Data type" Data type returned U_SCALAR U_VECTOR U_TENSOR Scalar double Double array[3] Double array[6]
Return value:
Examples: dvec = GetUbinData(handle_1, SOLID, 27, 1); sxx = dvec[0]; szx = dvec[5]; nval = GetUbinData(handle_2, NODE, 17, 0, istate); Retrieve an array of tensor data for solid #27, which implies that the UBIN data component <handle_1> is of type U_SOSH, and that its data type is U_SCALAR. Retrieve the scalar value of node #17, in state <istate>. This implies that the UBIN component <handle_2> is of type U_NODE and its data is U_SCALAR.
Page A.62
D3PLOT
OR_AND_V An array of 9 numbers in three triplets: <origin coordinate>, <X axis vector>, <XY plane vector>. Local Z is obtained from X cross XY. N3 LS_DYNA An array of three integer node ids. Node #1 is the origin, N1N2 is the local X vector and N1N3 defines the local XY plane. Local Z is obtained from N1N2 cross N1N3 An array of 9 numbers in three triplets: <Normal tail coord (origin)>, <Normal head coord>, <X axis head coord>. Local Z and local X are obtained directly, and local Y from Z cross X.
FOLLOW_N(odes) determines whether or not a DEFORMED space section will track the motion of the node(s) used to define it. This is only meaningful for sections defined by: N3. The motion of all three nodes will update the origin and axes at each state CONST_X/Y/Z where a node has been used to define the origin. The node motion will update the section origin at each state, but its axes will remain constant.
Page A.63
D3PLOT
Arguments: <window_id>Integer A valid window id, or ALL for all active windows. <attribute>Constant<attribute> / <value> pairs must be selected from the table below. <value> Varies Attribute Type Permissable values STATUS SPACE Constant Constant OFF or ON (default is OFF) BASIC, DEFORMED (default) (or SCREEN, not recommended) <Origin> coordinate, <x axis vector>, <xy plane vector> Constant X plane centred at <origin> or at <node_id> Constant Y plane centred at <origin> or at <node_id> Constant Z plane centred at <origin> or at <node_id> N3 LS_DYNA Integer array[3] Double array[9] 3 Node indices (+ve) or labels (-ve) to define the section <Normal tail coord (origin)>, <Normal head coord>, <X axis head coord>
OR_AND_V Double array[9] CONST_X CONST_Y CONST_Z Double array[3] or Integer node_id
FOLLOW_N Constant OFF or ON (default is OFF) All coordinates and vectors must be defined in model space, and will always form an orthogonal right handed coordinate system in which local Z is normal to the cut plane. Vector length is irrelevant (but should be well-conditioned), and the Y axis is obtained automatically from the vector cross product Z_AXIS x X_AXIS. If the Z and X axes as supplied are not at right angles the X will be updated to make it orthogonal to Y and Z. The most recent of N1, N3 or ORIGIN will define the cut section origin coordinate. The most recent of N3, or ORIGIN / X_AXIS / Z_AXIS will define the section orientation. Care must be taken when defining nodes for windows that contain multiple models. Since a node index (+ve) may resolve to a different node in each model it is usually best to use external labels (-ve) in this context to avoid ambiguity. (The speed of the external => internal lookup will not matter as this function is unlikely to be called many times.) FOLLOW_N(odes) will only have an effect if N1 or N3 were the most recently defined sources of origin and orientation. JS_TRUE The return value will be JS_TRUE for success, or JS_FALSE for failure. or JS_FALSE
<Boolean>
SetCutSection(SPACE, DEFORMED); var coord = new Array(1.0, 2.0, 3.0); if(!SetCutSection(CONST_Z, coord)) { <deal with error> var data = new Array(0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 10.0, 0.0); if(!SetCutSection(LS_DYNA, data)) { <deal with error>
Set the cut section to "deformed" (lagrangian) space. Make the section constant in Z, with its origin at (1,2,3). Implicitly this means a plane of constant Z = 3.
Make a cut-section using the LS_DYNA method with the origin at (0,0,0), Z axis pointing down the global X vector (head at (10,0,0)), and X axis down the global Y vector (0,10,0)
Page A.64
D3PLOT
<model_id>
Page A.65
User manual Version 11.0, March 2013 <Attributes>Object The return value is a single object with the members: Member name Type .status .space .origin[3] .x_axis[3] .y_axis[3] .z_axis[3] Integer Integer Double array[3] Double array[3] Double array[3] Double array[3] Values returned Either OFF or ON Either BASIC, DEFORMED or SCREEN Origin coordinates Local X axis vector (normalised) Local Y axis vector (normalised) Local Z axis vector (normalised) One of OR_AND_V, CONST_X, CONST_Y, CONST_Z, N3, LS_DYNA or zero if no section has been defined yet. For definition == CONST_X/Y/Z: nodes[0] = index of node if supplied. For definition == N3: nodes[0 to 2] = indices of three N3 nodes. This array will always be present and have three entries, with unused entries being set to zero. .follow_n Integer ON if the section follows N1 or N3 as appropriate OFF if it does not. This value is only meaningful for definition == CONST_X/Y/Z where a <node_id> was supplied, and N3 If the call fails the boolean value JS_FALSE is returned instead.
.definition Integer
.nodes[3]
Integer array[3]
Examples: a = GetCutSection(1); a = GetCutSection(2, 10, 3); Retrieve the attributes of the cut section in window 1 at the current state and model. Retrieve the attributes of the cut-section in window 2, at state #10 in model #3.
Page A.66
D3PLOT
<State_id> <Model_id>
Page A.67
User manual Version 11.0, March 2013 Object The return value is an object with the following members Member name .force[3] .moment[3] Data format Double array[3] Double array[3] Content 3 forces 3 moments Cut section centroid Data alignment [Fx, Fy, Fz] [Mxx, Myy, Mzz] [Cx, Cy, Cz]
Cut section [Area] area The coordinate system of these results depends upon the cut sections space system as follows: BASIC space Forces are moments are always returned in the global axis system, about the geometrical centre of the cut elements at the given state. Therefore the effective origin is likely to change as the model deforms. (This is the method used by LS-DYNA) Forces and moments are returned in the plane local axis system, about the current section origin. The origin and axes will remain fixed as the model deforms unless one of the "section follows node(s)" options has been used. Forces and moments are also returned in the plane local axis system. This space system is not suitable for computing results since these will change as the user updates the view, and therefore its use in this context is strongly deprecated.
DEFORMED space
SCREEN space
If the call fails the boolean value JS_FALSE is returned instead. Examples: if(a = GetCutSection(1)) { fx = a.force[X]; myy = a.moment[Y]; area = a.area; b = GetCutSection(2,0,3,12,1); Retrieve the results of the cut section in window 1 using all default attributes.
Retrieve the results from unblanked elements in part 3 using the section in window 2 for state 12 in model 1.
Page A.68
D3PLOT
Page A.69
D3PLOT
Array
Pick 4 PARTS and return the internal index of each one in array (a) Pick 3 NODES and return the external labels in array (b)
integer Select(type_code)
Allows the user to interactively select items using the mouse or from a menu. Returns the number of items selected. If the user cancels from the selection menu then the number returned is -1. Arguments: <type_code>ConstantA valid type code ( SOLID, etc)The type of the item to select Return value:<#> Integer >0 The number of items selected -1 : User canceled the operation -2 : Model doesnt contain any of the type requested. Examples: a = Select(PART); Select PARTS interactively and return the number selected.
Boolean IsSelected(type_code,item)
Returns JS_TRUE if the item was selected, otherwise it returns JS_FALSE. Arguments: <type_code> ConstantA valid type code ( SOLID, etc) The type of the item to select <item> Integer If +ve: The internal item number Internal item numbers will be many starting from 1 times faster to process If -ve: The external label of the item Return <True/False>Integer JS_TRUE if the item was selected, JS_FALSE if it wasnt. value: Examples: if(IsSelected(PART,1)) ... Returns JS_TRUE if the 1st PART in the model was selected.
Page A.70
D3PLOT
Boolean IsBlanked(type_code,item)
Returns JS_TRUE if the item is currently blanked, otherwise it returns JS_FALSE. If the type is PART then this function will only return JS_TRUE if all the elements of the PART are currently blanked. Arguments: <type_code> ConstantA valid type code ( SOLID, etc) The type of the item to select <item> Integer If +ve: The internal item number Internal item numbers will be many starting from 1 times faster to process If -ve: The external label of the item Return <True/False>Integer JS_TRUE if the item was selected, JS_FALSE if it wasnt. value: Examples: if(IsBlanked(SHELL,1)) ... Returns JS_TRUE if the 1st SHELL in the model is blanked.
Boolean IsDeleted(type_code,item)
Returns JS_TRUE if the item is currently deleted, otherwise it returns JS_FALSE. If the type is PART then this function will only return JS_TRUE if all the elements of the PART are currently deleted. Arguments: <type_code> ConstantThis function only supports the following type The type of the item to codes PART, NODE, SOLID, BEAM, select SHELL TSHELL. <item> Integer If +ve: The internal item number starting from Internal item numbers will 1 be many times faster to If -ve: The external label of the item process Return <True/False>Integer JS_TRUE if the item was selected, JS_FALSE if it wasnt. value: Examples: if(IsDeleted(SHELL,1)) ... Returns JS_TRUE if the 1st SHELL in the model has been deleted.
Boolean Blank(type_code,item)
Blanks an item. No return value. Arguments: <type_code>ConstantA valid type code ( SOLID, etc) The type of the item to select <item> Integer If +ve: The internal item Internal item numbers will be many number starting from 1 times faster to process If -ve: The external label of the item No Return value: Examples: Blank(PART,1); Blanks the 1st PART in a model
Boolean Unblank(type_code,item)
Unblanks an item. No return value. Arguments: <type_code>ConstantA valid type code ( SOLID, etc) The type of the item to select <item> Integer If +ve: The internal item Internal item numbers will be many number starting from 1 times faster to process If -ve: The external label of the item No Return value: Examples: Unblank(PART,1); Unblanks the 1st PART in a model
D3PLOT
Print("The answer is "The answer is 3.141592" " + a.area + "\n"); to <stdout>, terminating the line with a <line feed> (because the line ends "\n".). Note the use of the "+" operator which when used with strings in Javascript causes them to be concatenated into a single result. Note also that the number <a.area> is automatically converted into a string by Javascript in this context. Print(a.x, ", ", a.y, ", ", a.z, "\n"); Prints the [x, y, z] components of object <a> in a comma-separated format, followed by a line feed.
Page A.72
D3PLOT
Page A.73
User manual Version 11.0, March 2013 0} 1 } directional 2 } equivalents 3 } for tensors 4} 5}
Page A.74
User manual Version 11.0, March 2013 SXX SYY SZZ SXY or SYX SYZ or SZY SZX or SXZ SVON SMAX SMID SMIN SAV SMS S2MAX S2MIN STEN X stress Y stress Z stress XY shear stress YZ shear stress ZX shear stress von Mises stress Max principal stress Middle princ stress Min princ stress Average stress (pressure) Max shear stress 2D (in-plane) max princ stress 2D (in-plane) min princ stress Stress tensor [Sxx,Syy,Szz,Sxy,Syz,Szx] EXX EYY EZZ EXY or EYX EYZ or EZY EZX or EXZ EVON EMAX EMID EMIN EAV EMS E2MAX E2MIN ERATIO ENGMAJ ENGMIN ENGTHK ETEN EPL ERATE PEMAG Basic and integrated beam components BFX BFY BFZ BFR BMXX BMYY BMZZ BRM BFMV FX axial force FY shear force FZ shear force Force magnitude X strain Y strain Z strain XY shear strain YZ shear strain ZX shear strain von Mises strain Max principal strain Middle princ strain Min princ strain Average strain Max shear strain 2D (in-plane) max princ strain 2D (in-plane) min princ strain 2D (in-plane) princ strain ratio Engineering Major strain Engineering Minor strain Engineering Thickness strain Strain tensor [Exx,Eyy,Ezz,Exy,Eyz,Ezx] Effective plastic strain Strain rate Plastic strain magnitude
D3PLOT
Belytschko-schwer resultant data Total axial strain Plastic energy at end 1 Plastic energy at end 2 Y rotation end 1 Y rotation end 2 Z rotation end 1 Z rotation end 2 Y moment end 1 Y moment end 2 Z moment end 1 Z moment end 2 Axial energy Internal energy Torsional rotation Bending energy density Axial energy density Internal energy density
BSAX BPE1 BPE2 BRY1 BRY2 MXX torsional moment BRZ1 MYY bending moment BRZ2 MZZ bending moment BMY1 Moment magnitude BMY2 BMZ1 Force and moment vectors BMZ2 6 values: [Fx,Fy,Fz,Mxx,Myy,Mzz] BAEN BIE Axial stress BRXX YZ shear stress XZ shear stress BBED Effective plastic strain BAED Axial strain BIED
Beam element components (results from Nastran OP2 file only) BSEN BSENP BSEND BKEN BKENP BKEND Strain energy Strain energy percentage Strain energy density Kinetic energy Kinetic energy percentage Kinetic energy density ALE data BENL BENLP BENLD Energy loss Energy loss percentage Energy loss density
Page A.75
D3PLOT SOX SHX Extra solid data Extra shell & tk shell data ADENS ADMOF AMMG AMMS Contact surface derived data (only if a .ctf file has been read) CSN CST CSX CSY Contact normal stress Contact tangential stress Contact local X stress Contact local Y stress CFGX CFGY CFGZ CFLX CFLY CFLZ CFM
User manual Version 11.0, March 2013 Ale density Ale dominant fraction Ale multi-material group id Ale multi-mat group mass
Contact global X force Contact global Y force Contact global Z force Contact local X force Contact local Y force Contact local Z force Contact force magnitude
LSDA (binout) derived data components SW_F SW_S SW_TRSN SW_FAIL SW_TIME SP_F SP_E SP_M SP_R XSEC_F XSEC_M XSEC_A Spotweld axial force Spotweld shear force Spotweld torsion moment Spotweld failure Spotweld failure time Spring axial force Spring elongation Spring torsional moment Spring rotation Database X-sect force } Vector Database X-sect moment } data Database X-sect area SB_F SB_L SR_P RT_F RT_P SPC_F SPC_M Seatbelt axial force Seatbelt length Slipring pull-through Retractor force Retractor pull-out SPC force } Vector data at nodes. SPCs are SPC moment } not "elements" as such.
LSDA-derived data are only available if both a ZTF file (which provides geometry and topology) and an LSDA file (which provides results) have been read. Also an attempt to extract a data component that does not match the element type, for example spring force for a spotweld, will return 0.0. These components and their names are configured dynamically from the "d3plot.components" file, which will be be in one or more of the $OA_ADMIN, $OA_INSTALL or $ OA_HOME directories. If this file is updated further components may become available. User-defined data component type codes UNOS UNOV USSS USST UBMS UBMV Node scalar Node vector Solid & shell scalar Solid & shell tensor Beam scalar Beam vector U_NODE U_SOSH U_BEAM U_SCALAR U_VECTOR U_TENSOR User-defined nodal component ditto solid, shell, tk shell comp ditto beam components Scalar data (1 value) Vector data (3 values) Tensor data (6 values)
Material-derived data, valid for PARTs and part-based element types (only if a .ztf file has been read) DENS YMOD PRAT YSTRS FSTRN Material density Youngs modulus Poissons ratio Yield stress Failure strain These are calculated by PRIMER and written to the .ZTF file, so they will only be available if a ZTF file has been read. Not all properties are calculable for all material types, and -1.0 will be returned if a value cannot be computed.
Page A.76
D3PLOT
Examples
The following simple examples show how the functions above might be used. Further example scripts may be found in directory $OASYS/d3plot_library/examples
Print("Forces = " + c.force[X] + ", " + c.force[Y] + ", " + c.force[Z] + "\n"); Print("Moments = " + c.moment[X] + ", " + c.moment[Y] + ", " + c.moment[Z] + "\n"); Print("Centroid = " + c.centroid[X] + ", " + c.centroid[Y] + ", " + c.centroid[Z] + "\n"); Print("Area = " + c.area + "\n\n"); } }
Page A.78
User manual Version 11.0, March 2013 /* Now create a scalar user-defined binary component to hold the result */ icomp = CreateUbinComponent("Maximum of SXX", U_SOSH, U_SCALAR, REPLACE); /* Data has to be stored at a state, so choose state 1 */ SetCurrentState(1); /* Then populate this user-defined component, intg point #1. */ for(j=1; j<=nshell; j++) PutUbinData(icomp, SHELL, j, 1, shell_env[j]); for(j=1; j<=nsolid; j++) PutUbinData(icomp, SOLID, j, 1, solid_env[j]);
D3PLOT
var ply = new Array(); var ply_id = new Array(); var ply_flag = 0; var tmp1 = 0; var offset = {}; // part, ip var order1= {}; // part, ip var order2= {}; // part, ip var max1 = {}; var max2 = {}; var iter= 0; // iteration counter var i_flag = 0; var t_flag = 0; // setup part array for (i=1; i<=npa; i++) //shell { part_flag = 0; a = GetLabel(PART, i); b = GetMid(PART, i, 1);
Page A.79
D3PLOT
if (b == 0) // check to see if the part is not a Part Composite { part_flag = 1; } for(j=1; j<=co1; j++) //part { if (a == part_id[j]) // check to see if the part is already defined { part_flag = 1; } } if (part_flag == 0) { co1 = co1 + 1; part[co1] = i; part_id[co1] = a; } } // setup ply order array for (i=1; i<=co1; i++) // part { order1[i] = new Object; for(j=1; j<=nip; j++) // ip { b = GetMid(PART, part[i], j); order1[i][j] = b; } } // setup ply id array for (i=1; i<=co1; i++) //part { for(j=1; j<=nip; j++) //ip { b = order1[i][j]; if (b == 0) // ply doesnt exist { ply_flag = 1; } for (k=1; k<=co2; k++) //ply already created { if (b == ply_id[k]) { ply_flag = 1; } } if (ply_flag == { co2 = co2 + ply_id[co2] Message(co2 } ply_flag = 0; } } //////////////////////////// proccessing loop while (i_flag == 0) { iter = iter + 1; Page A.80 0) 1; = b; +" "+ b);
User manual Version 11.0, March 2013 Message("Iteration "+ iter); if(iter > 1) { for (i=1; i<=co1; i++) // part { for(j=1; j<=co2; j++) // ip { order1[i][j] = order2[i][j]; } } } //// ply order array for (i=1; i<=co2; i++) //ply { ply[i] = new Object; for(j=1; j<=co1; j++) //part { ply[i][j] = new Object; for(k=1; k<=co2; k++) //ply { b = order1[j][k]; if (b == ply_id[i]) { ply[i][j] = k } } } } //// find max position for each ply for (i=1; i<=co2; i++) { max1[i] = 0; for(j=1; j<=co1; j++) { if (typeof(ply[i][j]) == "object") { ply[i][j] = 0; } max1[i] = Math.max(max1[i], ply[i][j] ); } } for (i=1; i<=co2; i++) { Message(i +" "+ ply_id[i] + " "+ max1[i]); } // offset ply for (i=1; i<=co1; i++) // part { order2[i] = new Object; max = 0; pos2 = 0; for(j=1; j<=co2; j++) // ip { pos1 = j; b = order1[i][j]; // ply id for(k=1; k<=co2; k++) // ply { if(ply_id[k] == b) {
D3PLOT
Page A.81
if(b != null && b != 0) { p_off = Math.max((pos2 - pos1 + 1),0); pos2 = Math.max(max, (p_off + pos1)); order2[i][pos2] = b; } } } i_flag = 1; for (i=1; i<=co1; i++) // part { for(j=1; j<=co2; j++) // ip { if(order1[i][j] != order2[i][j]) i_flag = 0; } } } ////////////////// create table var var var var var we x1 x2 y1 y2 = = = = = new Window("Ply Layout", 0.2, 0.3, 0.5, 0.6 ); 0; 0; 0 0;
var part = new Widget(we, Widget.LABEL, 0, Math.max((co1*10)+30, 70), 10, 20, "PART"); part.justify=Widget.CENTRE; for (i=1; i<=co2; i++) // ply { t_flag = 1; y1 = (i*10) + 20; y2 = y1 + 10; for(j=1; j<=co1; j++) // part { x1 = (j*10) + 10; x2 = x1 + 10; if(i == 1) { var partl = new Widget(we, Widget.LABEL, x1, x2, 20, 30, ""+part_id[j]); } var mark = new Widget(we, Widget.BUTTON, x1, x2, y1, y2, " "); if (order2[j][i] != 0 && order2[j][i] != null) { mark.text= ""+order2[j][i]; mark.background=Widget.BLUE; mark.foreground=Widget.WHITE; t_flag = 0; } } if(t_flag == 1) { var yn = i; i = co2+1; } } var ply = new Widget(we, Widget.LABEL, 10, 20, (yn*5)+25, (yn*5)+35, "PLY");
Page A.82
D3PLOT
var exit = new Widget(we, Widget.BUTTON, 20, 60, (y1+20), (y2+20), "Exit"); exit.background = Widget.DARKRED; exit.foreground = Widget.WHITE; exit.onClick = ex_clicked; we.Show(false) //////////////////////////////////////////////////////////////////////////////// function ex_clicked() { Exit(); } ///////////////////////////////////////////////////////////////////////////////
Using the Window and Widget classes to present ply data graphically
This example demonstrates the use of Menu Window and Widget classes of the common API shared with PRIMER to present information to the user graphically, and to interact with him. It goes through a laminate model using *PART_COMPOSITE and sorts the plies into usage by part. This information is then presented to the user as shown in the figure here and the script pauses until the user clicks on "Exit" in order to continue.
SetCurrentModel(1); SetCurrentState(1); nsh = GetNumberOf(SHELL); nip = GetNumberOf(NIP_S); npa = GetNumberOf(PART); var var var var var part = new Array(); part_id = new Array(); part_flag = 0; co1 = 0; // part counter co2 = 0; // ply counter
var ply = new Array(); var ply_id = new Array(); var ply_flag = 0; var tmp1 = 0; var offset = {}; // part, ip var order1= {}; // part, ip var order2= {}; // part, ip var max1 = {}; var max2 = {}; var iter= 0; // iteration counter var i_flag = 0; var t_flag = 0; // setup part array for (i=1; i<=nsh; i++) //shell Page A.83
for(j=1; j<=co1; j++) //part { if (a == part_id[j] || b == 0) // check to see if the part is already defined or not a Part Composite { part_flag = 1; } } if (part_flag == 0) { co1 = co1 + 1; part[co1] = i; part_id[co1] = a; } } // setup ply order array for (i=1; i<=co1; i++) // part { order1[i] = new Object; for(j=1; j<=nip; j++) // ip { b = GetMid(SHELL, part[i], j); order1[i][j] = b; } } // setup ply id array for (i=1; i<=co1; i++) //part { for(j=1; j<=nip; j++) //ip { b = order1[i][j]; for (k=1; k<=co2; k++) //ply { if (b == ply_id[k] || b == 0) { ply_flag = 1 } } if (ply_flag == 0) { co2 = co2 + 1; ply_id[co2] = b; } ply_flag = 0; } } //////////////////////////// processing loop while (i_flag == 0) { iter = iter + 1; Message("Iteration "+ iter); if(iter > 1) { for (i=1; i<=co1; i++) // part { for(j=1; j<=co2; j++) // ip Page A.84
User manual Version 11.0, March 2013 { order1[i][j] = order2[i][j]; } } } //// ply order array for (i=1; i<=co2; i++) //ply { ply[i] = new Object; for(j=1; j<=co1; j++) //part { ply[i][j] = new Object; for(k=1; k<=co2; k++) //ply { b = order1[j][k]; if (b == ply_id[i]) { ply[i][j] = k } } } } //// find max position for each ply for (i=1; i<=co2; i++) { max1[i] = 0; for(j=1; j<=co1; j++) { if (typeof(ply[i][j]) == "object") { ply[i][j] = 0; } max1[i] = Math.max(max1[i], ply[i][j] ); } } // offset ply for (i=1; i<=co1; i++) // part { tmp1 = 0; offset[i] = new Object; for(j=1; j<=co2; j++) // ip { b = order1[i][j]; for(k=1; k<=co2; k++) // ply { if(ply_id[k] == b) { if(max1[k] > j) { tmp1 = max1[k] - j; } } } offset[i][j] =tmp1 } } for (i=1; i<=co1; i++) // part { order2[i] = new Object; for(j=1; j<=co2; j++) // ip { a = offset[i][j]; b = order1[i][j];
D3PLOT
Page A.85
D3PLOT order2[i][j+a] = b; } } i_flag = 1; for (i=1; i<=co1; i++) // part { for(j=1; j<=co2; j++) // ip { if(offset[i][j] != 0) i_flag = 0; } } } ////////////////// create table var var var var var we x1 x2 y1 y2 = = = = =
var part = new Widget(we, Widget.LABEL, (co1*5)+15, (co1*5)+25, 10, 20, "PART"); part.justify=Widget.CENTRE; for (i=1; i<=co2; i++) // ply { t_flag = 1; y1 = (i*10) + 20; y2 = y1 + 10; for(j=1; j<=co1; j++) // part { x1 = (j*10) + 10; x2 = x1 + 10; if(i == 1) { Message("a"+ part_id[j]); var partl = new Widget(we, Widget.LABEL, x1, x2, 20, 30, ""+part_id[j]); } var mark = new Widget(we, Widget.BUTTON, x1, x2, y1, y2, " "); if (order2[j][i] != 0 && order2[j][i] != null) { mark.text= ""+order2[j][i]; mark.background=Widget.BLUE; mark.foreground=Widget.WHITE; t_flag = 0; } } if(t_flag == 1) { var yn = i; i = co2+1; } } var ply = new Widget(we, Widget.LABEL, 10, 20, (yn*5)+25, (yn*5)+35, "PLY"); var exit = new Widget(we, Widget.BUTTON, 20, 60, (y1+20), (y2+20), "Exit"); exit.background = Widget.DARKRED; exit.foreground = Widget.WHITE; exit.onClick = ex_clicked; we.Show(false) //////////////////////////////////////////////////////////////////////////////// Page A.86
D3PLOT
var f; /* Get the number of states in the current model */ max_states = GetNumberOf(STATE); /* Get the number of nodes in the current model */ nnode = GetNumberOf(NODE); print("Start of loop\n"); /* Loop over each state */ for(istate=1; istate<=max_states; istate++) { SetCurrentState(istate); print("State " + istate + "\n"); /* Loop over each node */ for(inode=1; inode<=nnode; inode++) { /* Get shell elements at node */ if(objElem = GetElemsAtNode(inode, SHELL)) { if(objElem.nn > 0) { /* Get the external PID */ internal_pid = GetPid(SHELL, objElem.list[0]); external_pid = GetLabel(PART, internal_pid); /* Check it against parts to test */ if(external_pid>=fence_part_min && external_pid<=fence_part_max) Page A.87
D3PLOT {
temp = GetData(DZ, NODE, inode); if(temp > z_max) { max_state = istate; /* Store the state the maximum occurs */ max_node = inode; /* Store the node the maximum occurs at */ z_max = temp; /* Store the maximum */ } if(temp < z_min) { min_state = istate; /* Store the state the minimum occurs */ min_node = inode; /* Store the node the minimum occurs at */ z_min = temp; /* Store the minimum */ } } } } } } /* Open a file to write the variables to */ f = new File("./reporter_variables", File.WRITE); /* Write to the file */ f.Writeln("VAR Z_MAX DESCRIPTION=Maximum z displacement VALUE=" + z_max + ""); f.Writeln("VAR Z_MIN DESCRIPTION=Minimum z displacement VALUE=" + z_min + ""); f.Writeln("VAR Z_MAX_NODE DESCRIPTION=Node with maximum z displacement VALUE=" + max_node + ""); f.Writeln("VAR Z_MIN_NODE DESCRIPTION=Node with minimum z displacement VALUE=" + min_node + ""); f.Writeln("VAR Z_MAX_STATE DESCRIPTION=State with maximum z displacement VALUE=" + max_state + ""); f.Writeln("VAR Z_MIN_STATE DESCRIPTION=State with minimum z displacement VALUE=" + min_state + ""); /* Close the file */ f.Close(); Next section
Page A.88
D3PLOT
ISO_SURFACE_PLOT Iso-surface contour plot VELOCITY_PLOT CRITERION_PLOT Velocity arrows plot Criterion mode plot The syntax is: COMPONENT <data> ATTRIBUTE <attr> Defines the data component <data> to plot Defines the attributes of the criterion analysis. Valid <attr>s are:
Page A.89
User manual Version 11.0, March 2013 Symbol length Symbol colour. Valid <colour>s are: DATA_VALUE Scales colours with data values
FIXED_COLOURS Sets fixed colours SYMBOL <symbol> Symbol type. Valid <symbol>s are: HIERARCHY MAX stress has normal arrow head MID stress has flat T arrowhead MIN stress has inverted arrow head ALL_LINES All components drawn using plain lines GO EXPLAIN STATUS SI_SHADED_IMAGE Shaded image plotting options The syntax is: SHININESS <%age> SATURATION <%age> OVERLAY_COLOUR <colour> LM_LIGHTING_MODEL <switch> BRIGHTNESS <%age> AMBIENT_LIGHT_LEVEL <%age> SHADING_TYPE <option> FLAT SMOOTH <angle> DS_DITHER_SHADING <switch> Set the object shininess Set the object colour saturation Set the overlay colour Turn lighting model ON or OFF Set directional lighting intensity Set ambient light level Set smooth or flat shading. Valid <option>s are: Flat shading Smooth shading with an edge angle <angle> Turn dithered shades ON or OFF Perform the criterion plot Further help Show the current settings
GOURAD_SHADING Set solid or fuzzy contour bands. Valid <option> <option>s are: ON Fuzzy bands
OFF Solid bands DC_DITHER_CONTOURS <switch> COLOUR_MAP GO Turn contour dithering ON or OFF Draw the current colour map Execute the plot
Page A.90
User manual Version 11.0, March 2013 STATUS EXPLAIN INTERFACE_ PLOTTING Plot sliding interface results The syntax is: COMPONENT <data> LC_LINE_CONTOURS CT_CONTINUOUS_TONE SI_SHADED_IMAGE VECTOR_PLOT HATCHING_SWITCH <switch> OPACITY_SWITCH <switch> EXPLAIN BP_BEAM_PLOTTING Plots beam data The syntax is: CT_CONTINUOUS DP_DIAGRAM_PLOT COMPONENT <data> INTG_POINT R2_REVERSE_END_2 THICKNESS ATTRIBUTES <attr> SIZE <size> HATCHING <hatch> PROJECTION <proj>
Define the <data> component to plot Line plot Continuous tone contour plot Shaded contour plot Vector force plot <switch> hatching ON or OFF <switch> opacity ON or OFF Further help
Continuous tone contour plot Bending moment diagram plot Defines the data component <data> to plot Set H-L beam extra dat integration point Set the reverse end 2 switch on or off Set the CT plot beam thickness Defines the attributes of the DP plot. Valid <attr>s are: Size of the maximum diagram vector in screen units Intervals between the intermediate lines in screen units How the diagram is projected. Valid <proj>s are: SCREEN Always in the screen XY plane LOCAL In the local YY or ZZ plane
Set the label switch on or off Set the opacity switch on or off Further help Some notes and caveats Show the current settings
Page A.91
D3PLOT OTHER_PLOTTING Plots other (LSDA) data The syntax is: CT_CONTINUOUS SI_SHADED_IMAGE COMPONENT <data> GREYSCALE Draw a solid shaded plot The syntax is: COLOUR_OF_OBJECT <colour> SHININESS <%age> SATURATION <%age> OVERLAY_COLOUR <colour> LM_LIGHTING_MODEL <switch> BRIGHTNESS <%age> AMBIENT_LIGHT_LEVEL <%age> SHADING_TYPE <option> FLAT SMOOTH <angle> DS_DITHER_SHADING <switch> GO STATUS EXPLAIN ENVELOPE_PLOT COMPONENT <type> OFF MAX_VALUE
Continuous tone contour plot Shaded contour plot Defines the data component <data> to plot
Set monochrome object colour Set object shininess level Set object colour saturation Set overlay colour Turn lighting model ON or OFF Set directional light intensity Set ambient light level Set smooth or flat shading. Valid <option>s are: Flat shading Smooth shading with an edge angle <angle> Turn dithered shades ON or OFF Execute the plot Show the current settings Further help Select the type of value to plot. Valid <type>s are: Turn envelope plotting off Plot max values
TIME_OF_MAX_VALUE Plot time of the max values MIN_VALUE Plot min values
TIME_OF_ABS_VALUE Plot time of absolute values STATES <list> MAX_MIN Controls max / min value plotting The syntax is: Give a <list> of state numbers to be used
Page A.92
User manual Version 11.0, March 2013 OFF ON_DATA_PLOTS ON_ALL_PLOTS NUMBER_OF_VALUES (NO_)MAX_LIST (NO_)MAX_LABEL (NO_)MAX_VALUES (NO_)MIN_LIST (NO_)MIN_LABEL (NO_)MIN_VALUES COMPONENT <data> Defines the data component <data> to plot STRESS_CONTROL Control stress plotting The syntax is: PART_IGNORED_SW BLANKING_IGNORED_SW CLIPPING_IGNORED_SW AVERAGE_SWITCH GLOBAL_COORDINATES LOCAL_COORDINATES CYLINDRICAL_COORDINATES USER_DEFINED_COORDINATES SURFACE <surface>
D3PLOT Turn off display of max/min values Turn on display of max/min values on data bearing plots Turn on display of max/min values on all plots Set the number of values shown Turn on/off max values in a list Turn on/off max labels on plot Turn on/off max values on plot Turn on/off min values in a list Turn on/off min labels on plot Turn on/off min values on plot
Do / do not average across parts Do / do not include blanked elements Do / do not include clipped elements Do / do not average stress at nodes Use global coordinates Rotate to local element coordinates Rotate to cylindrical coordinates Rotate to user defined coordinates Select a shell surface or layer. Valid <surface>s are: TOP, MIDDLE, BOTTOM, MAX_ALL, MIN_ALL, MAG_ALL or a layer number if present
EXPLAIN STATUS CONTOUR Control contour settings The syntax is: NUMBER_OF_LEVELS <levels> AUTOMATIC MANUAL_MAX_MIN <min> <max> USER_DEFINED REVERSE
Defines the number of contour levels Autoscales the levels Manually sets the minimum <min> and maximum <max> Define each contour line Reverse the contour colours
Page A.93
User manual Version 11.0, March 2013 Define the contour resolution. Valid <res>s are: LOW, MEDIUM or HIGH Force line labelling on LC plots Set the labelling frequency on LC plots to <freq> Define what is contoured by upper and lower bound limits. Where: <switch> Is either ON or OFF <low> Is the lower limit <high> Is the upper limit <action> Is the exclusion behaviour and can be: OMIT, OUTLINE or BLACK COLOURS <band> <colour> OVERLAY_COLOUR <colour> ARROW_LENGTH <length> FORMAT_NUMBER <option> Set the colour of an individual contour band Set the overlay colour Set the length of arrows Set the format of the numbers on the contour bar. Valid <option>s are: AUTOMATIC SCIENTIFIC GENERAL MANUAL EXPONENT_VALUE <value> DECIMAL_PLACES <value> TSHELL_OPTS <opt> D3Plot will set it automatically Scientific format General format Manual format Set the exponent value Set the number of decimal places Set the thick shell contour method. Valid <opt>s are: INTERPOLATED or SIMPLE Show the current settings
STATUS DISPLAY_OPTIONS Set display parameters The syntax is: UNDEFORMED_SWITCH BF_SWITCH IF_SWITCH LOCAL_TRIAD_SWITCH CLOCK_SWITCH HEADER_SWITCH Page A.94
Do / do not draw undeformed geometry Do / do not draw back faces Do / do not draw internal faces Do / do not draw triad Do / do not draw clock Do / do not draw title header
User manual Version 11.0, March 2013 CONTOUR_BAR_SWITCH NASTRAN_CASES_SW DATE_SWITCH BORDER_SWITCH GRATICULE_SWITCH GRID_SWITCH G3D_GRATICULE X_GRATICULE Y_GRATICULE Z_GRATICULE X_GRAT_POS <pos> Y_GRAT_POS <pos> Z_GRAT_POS <pos> GRAT_NUMBER_FORMAT <option>
D3PLOT Do / do not draw contour bar Do / do not draw nastran cases/freqs Do / do not draw date on plots Do / do not draw border Do / do not draw graticule Do / do not draw graticule grid Turn on / off the 3D graticule Turn on / off the 3D X graticule plane Turn on / off the 3D Y graticule plane Turn on / off the 3D Z graticule plane Set the position of the X graticule to <pos> Set the position of the Y graticule to <pos> Set the position of the Z graticule to <pos> Set the number format on the graticule. Valid <option>s are: D3Plot will set it automatically Scientific format General format Manual format Set the exponent value Set the number of decimal places Set the colour of the graticule plane to <col> Set the colour of the graticule lines to <col> Set the colour of the graticule text to <col> Do / do not draw box round model Do / do not draw all nodes Control node / element labelling Control entity visibility Set hidden line options. Valid <option>s are:
AUTOMATIC SCIENTIFIC GENERAL MANUAL EXPONENT <value> DECIMAL_PLACES <value> GRAT_PLANE_COLOUR <col> GRAT_LINE_COLOUR <col> GRAT_TEXT_COLOUR <col> MODEL_BOX_SWITCH ALL_NODES_SWITCH LABEL_SWITCH ENTITY_SWITCH HO_HIDDEN_LINE_OPT <option>
Page A.95
User manual Version 11.0, March 2013 Use "painter" algorithm Use "rigorous" algorithm Set the resolution to <x> x <y>
FREE_FACE_OPTIONS <option>
Set how free edges are displayed. Valid <option>s are: OFF ON BE_BLANK_EDGES Turn free edges off Turn free edges on Blanking does create free edges
BN_BLANK_NO_EDGES Blanking does not create free edges CE_CLIP_EDGES CN_CLIP_NO_EDGES PE_PART_EDGES PN_PART_NO_EDGES SE_SURF_EDGES SN_SURF_NO_EDGES Clipping does create free edges Clipping does not create free edges Part boundaries create edges Part boundaries do not create edges Surface boundaries create edges Surface boundaries do not create edges
SEAT_BELT_OPTIONS <option>
Set how seat belt elements are displayed. Valid <option>s are: BELT_WIDTH <width> RETRACTOR_SIZE <size> SLIP_RING_SIZE <size> Set the visual width Set the visual retractor size Set the visual slip ring size
SPRING_SYMBOL <option>
Set how spring elements are displayed. Valid <option>s are: ZIG_ZAG Display springs as a zig-zag LINE Display springs as a line Set how beam elements are displayed. Valid <option>s are: LINE THICK_LINE Display beams as a thin line Display beams as a thick line Define the image window setting. Valid <option>s are:
BEAM_SYMBOL <option>
WINDOW <option>
Page A.96
D3PLOT The plot occupies the full screen The plot will not overwrite titleor contour key
REPORT_FORMAT The colour hard-copied the image will be the same size as a Laser A4 plot USER_DEFINED STATUS PROPERTIES Set model properties The syntax is: SAVE <mod> <filename> LOAD <mod> <filename> DISPLAY_MODE <entity> <list> <mode> Save a properties file for model <mod> to <filename> Load a properties file for model <mod> from <filename> Set the display mode of a <list> of <entity> types to <mode>. Valid <mode>s are: Define the plot window with cursor Show the current settings
CURRENT Current mode COLOUR <entity> <list> <col> TRANSPARENCY <entity> <list> <trans> BRIGHTNESS <entity> <list> <bright> SHININESS <entity> <list> <shine> OC_OVERLAY_COLOUR <entity> <list> <col> OM_OVERLAY_MODE <entity> <list> <mode> Set the colour of a <list> of <entity> type to <col> Set the transparency of a <list> of <entity> type to <trans> % Set the brightness of a <list> of <entity> type to <bright> % Set the shininess of a <list> of <entity> type to <shine> % Set the overlay colour of a <list> of <entity> type to <col> Set the overlay mode of a <list> of <entity> types to <mode>. Valid <mode>s are:
NONE
No overlay
FREE_EDGES Overlay on free edges FULL CURRENT VIEW_OPTIONS Store and get views from a file The syntax is: STORE <view id> <name> GET <view id> Store the current view in <view id> with the name <name> Get the view <view id> All overlay Current overlay
Page A.97
D3PLOT DIRECTORY RENAME <view id> <name> DELETE <view id> FILE_NAME <file_name> PERSPECTIVE <option> ON OFF
User manual Version 11.0, March 2013 List the stored views Rename a stored view <view id> to <name> Delete view <view id> Change the name of the file the views are stored in to <file_name> Set perspective options. Valid <option>s are: Turn perspective on Turn perspective off Set the eye to centre distance to <distance> Display the explicit centre and scale Set the explicit centre to the coordinates <x y z> and the scale to <scale> Show the current settings Further help
STATUS EXPLAIN BLANK Blank / unblank entities The syntax is: <entity> <list> ON OFF ALL UNBLANK <enitity> <list> REVERSE STATUS UNBLANK Unblank entities The syntax is: <entity> <list> ALL VOLUME_CLIPPING Clip display by volume The syntax is: CREATE <option>
Blank the <list> of entities of type <entity> Switch blanking on Switch blanking off Blank all entities except nodes Unblank the list of entities of type <entity> Reverse the blanking Show the current settings
Page A.98
User manual Version 11.0, March 2013 CARTESIAN <x_max, y_max, z_max> <x_min, y_min, z_min> <orient> Define a box. Where: <x_max, y_max, z_max> and <x_min, y_min, z_min> <orient>
D3PLOT
Defines the orientation of the volume and can be: BASIC_MODEL, DEFORMED_MODEL or SCREEN_SPACE
CYLINDRICAL Define a cylinder <x_c, y_c, z_c> <rad> Where: <min_height> <max_height> <x_c, y_c, Defines the centre of <H_axis> z_c> the cylinder <orient> <rad> Defines the radius of the cylinder <min_height> Define the height of the <max_height> cylinder <H_axis> Is the global axis to align the cylinder with and can be X, Y or Z Defines the orientation of the volume and can be: BASIC_MODEL, DEFORMED_MODEL or SCREEN_SPACE SPHERICAL <x_c, y_c, z_c> <rad> <orient> Define a sphere Where: <x_c, y_c, z_c> <rad> <orient> Defines the centre of the sphere Defines the radius of the sphere Defines the orientation of the volume and can be: BASIC_MODEL, DEFORMED_MODEL or SCREEN_SPACE CANCEL Cancels the clipping volume
<orient>
Page A.99
D3PLOT ORIENT
User manual Version 11.0, March 2013 Defines the orientation of the volume and can be: BASIC_MODEL, DEFORMED_MODEL or SCREEN_SPACE Remove elements outside the volume Remove elements inside the volume Turn the clipping off Turn the clipping on Turns drawing of volume off Turns drawing of volume on Draw 4 views of the model to visualise the volume Store the current volume in <volume id> with the name <name> Retrieve the stored volume <volume id> Rename a stored volume <volume id> to <name> Delete volume <volume id> List stored volumes on file Change the name the volumes are stored in to <file_name> Show the current settings Further help
DO_DISCARD_OUTSIDE DI_DISCARD_INSIDE OFF ON DRAW_OFF DRAW_ON LOCATION_PLOT STORE <volume id> <name> GET <volume id> RENAME <volume id> <name> DELETE <volume id> DIRECTORY FILE_NAME <file_name> STATUS EXPLAIN CUT_SECTIONS Define a section that cuts through the model The syntax is: OFF ON CREATE <option>
Turn the cut section off Turn the cut section on Create a cut section. Valid <option>s are:
Page A.100
D3PLOT LS_DYNA_METHOD Define normal and edge coordinates <x_nt, y_nt, z_nt> Where: <x_nh, y_nh, z_nh> <x_nt, Defines the Normal Tail <x_eh, y_eh, y_nt, coordinate z_eh> z_nt> <orient> <x_nh, Defines the Normal y_nh, Head coordinate z_nh> <x_eh, y_eh, z_eh> Defines the Edge Head coordinate
<orient> Orientation of cutting plane and can be: BASIC_MODEL, DEFORMED_MODEL, SCREEN_SPACE OV_ORIGIN_&_VECTORS Define an origin, local x axis and <x_o, y_o, z_o> local xy plane <x_x, y_x, z_x> <x_xy, y_xy, z_xy> Where: <orient> <x_o, Defines the origin y_o, z_o> <x_x, y_x, z_x> <x_xy, y_xy, z_xy> Defines the local x axis
<orient> Orientation of cutting plane and can be: BASIC_MODEL, DEFORMED_MODEL, SCREEN_SPACE N3_THREE_NODES Define a plane with three nodes <N1, N2, N3> <orient> Where: <N1, N2, N3> Defines the three nodes
<orient> Orientation of cutting plane and can be: BASIC_MODEL, DEFORMED_MODEL, SCREEN_SPACE
Page A.101
D3PLOT
User manual Version 11.0, March 2013 X_CONSTANT <x> <orient> Define a plane of constant X Where: <x> Defines the x coordinate
<orient> Orientation of cutting plane and can be: BASIC_MODEL, DEFORMED_MODEL, SCREEN_SPACE Y_CONSTANT <y> <orient> Define a plane of constant Y Where: <y> Defines the ycoordinate
<orient> Orientation of cutting plane and can be: BASIC_MODEL, DEFORMED_MODEL, SCREEN_SPACE Z_CONSTANT <z> <orient> Define a plane of constant Z Where: <z> Defines the zcoordinate
<orient> Orientation of cutting plane and can be: BASIC_MODEL, DEFORMED_MODEL, SCREEN_SPACE CANCEL SYSTEM <orient> BASIC_MODEL Cancels the cut section Define the orientation of the cutting plane. Valid <orient>s are: Tied to model space, undeformed geometry
DEFORMED_MODEL Tied to model space, deformed geometry SCREEN_SPACE FSYS <system> Tied to the screen Define the system for force and moment calculations. Valid <system>s are:
Page A.102
D3PLOT Basic space will use global coordinates, deformed and screen space will use local coordinates Local coordinates Global coordinates Action for elements on positive side of the section. Valid <action>s are: OMIT OUTLINE NORMAL Do not draw the elements Draw the elements in outline Draw the elements in the display mode Action for elements on negative side of the section. Valid <action>s are the same as above <thickness> or OFF Set the plane thickness, eg: thick_cut 100.0 thick_cut off
NEGATIVE_ACTION <action>
THICK_CUT
Action for capping 2D elements. Valid <action>s are: Do not cap 2D elements Cap 2D elements with their true thickness * <factor> Cap 2D elements with a fixed thickness of <value>
FIXED_THICKNESS <value> LOCATION_PLOT VIEW_PLANE SKETCH FORCE WRITE_FORCES <name> STORE <section id> <name> GET <section id> RENAME <section id> <name> DELETE <section id> DIRECTORY FILE_NAME <file_name> STATUS EXPLAIN
Draw 4 views of the model to visualise the section Change view to normal to plane Sketch the section Calculate forces on current section Write forces to csv file <name> Store the current section in <section id> with the name <name> Retrieve the stored section <section id> Rename a stored section <section id> to <name> Delete section <section id> List stored sections on file Change the name the sections are stored in to <file_name> Show the current settings Further help Page A.103
D3PLOT DEFORM Modify or deform the geometry The syntax is: EXPLODE <action>
Separate parts. Valid <action>s are: DEFINE <parts> <x, y, z> CANCEL Define the list of <parts> to explode along the vector <x, y, z> Remove the vector Magnify the displacements by <x, y, z> Apply a negative translation, equal to the displacement of a node, to the whole model. Valid <action>s are: DEFINE <node id> Define the node <node id> CANCEL Remove the translation Apply a negative translation and rotation equal that defined by three nodes, to the whole model. Valid <action>s are: DEFINE <N1, N2, N3> CANCEL Define the three nodes Remove the translation and rotation Contour relative to a node or three nodes. Valid <action>s are: SINGLE_NODE <node id> THREE_NODES <N1, N2, N3> GLOBAL LOCAL REF_VALUES Define the node <node id> Define the three nodes Contour results in global system Contour results in local system defined by nodes<N1, N2, N3> Toggle on and off whether reference values should be used for WRITE and XY_DATA Contour relative to a state. Valid <action>s are:
SHIFT_DEFORMED <action>
REF_NODE <action>
REF_STATE <action>
Page A.104
D3PLOT Turn reference state on Turn reference state off Select a reference model. Valid <action>s are: NUMBER <model id> CURRENT Set the reference model to <model id> Set the reference model to the current model
SET_REF_STATE <action>
Select a reference state. Valid <action>s are: NUMBER <state id> TIME_RS <time> CURRENT Set the reference state to <state id> Set the reference state to the state at time <time> Use the current state
Toggle on or off whether to apply reference to current coordinates Toggle on or off whether to apply reference to data values Toggle on or off whether to apply reference to undeformed geometry
TRANSFORM <action>
Page A.105
D3PLOT
TRANSLATE or
Tx Ty Tz OFF
Translate by Tx Ty Tz, eg: translate 10.0 0.0 -100.0 translate off "Axis" is X or Y or Z, "distance" is position on axis, eg: reflect Y -1500.0 reflect off Tx Ty Tz are rotation angles in degrees, Cx Cy Cz is centre of rotation, eg: rotate 0 0 30 100.0 10.0 -20.0 rotate off Scaling by factors Sx Sy Sz, eg: scale 2.0 2.0 2.0 scale off Turns off ALL transformations (leaving values unchanged) Shows current transformation status
REFLECT or
ROTATE or
Tx Ty Tz Cx Cy Cz OFF
SCALE or
Sx Sy Sz OFF
CANCEL
<No arguments>
STATUS
<No arguments>
STATUS EXPLAIN ATTACHED Find attached items The syntax is: APPLY SAVE_CURRENT RESTORE_SAVED RECURSIVE ON OFF MAX_LOOPS <n> SELECTION <option>
Find attached Save current blanking status Restore blanking status Set recursive attached options. Valid <option>s are: Turn on recursive find Turn off recursive find Set the max number of loops to <n> Valid <option>s are: ATTACHED_PART Find whole parts SINGLE_ELEM Find single elements Valid <option>s are:
METHOD <option>
Page A.106
User manual Version 11.0, March 2013 VISIBLE SINGLE_ELEM <list> THROUGH <option>
D3PLOT Find attached to what is visible Select <list> of nodes to find attached to Toggle on and off the entities that find attached will look for. Valid <option>s are: NODES ON/OFF SOLIDS ON/OFF BEAMS ON/OFF SHELLS ON/OFF THICK_SHELLS ON/OFF SPRINGS ON/OFF CONNECTION_TYPES ON/OFF Turn on/off finding attached through nodes Turn on/off finding attached through solids Turn on/off finding attached through beams Turn on/off finding attached through shells Turn on/off finding attached through thick shells Turn on/off finding attached through springs Turn on/off finding attached through connection types
LAYOUT
Set the page layout The syntax is: SAME_SIZE <action> ON Set switch to make tiled windows the same size. Valid <action>s are: Turn on switch to make tiled windows the same size
OFF Turn off switch to make tiled windows the same size WIDE TALL CASCADE ONE_X_ONE TWO_X_TWO THREE_X_THREE XY <X> <Y> CUSTOM <options> Set the page layout to be tile wide. Set the page layout to be tile tall. Set the page layout to be cascade. Set the page layout to be 1x1. Set the page layout to be 2x2. Set the page layout to be 3x3. Set the page layout to be <X>x<Y> Customise the page layout. Valid <option>s are:
Page A.107
D3PLOT
User manual Version 11.0, March 2013 LAYOUT <page> <layout> Set the layout of page <page> to <layout>. Valid <layout>s are: WIDE TALL CASCADE ONE_X_ONE TWO_X_TWO Tile wide Tile tall Cascade 1x1 2x2
RW_REMOVE_WINDOW Remove D3PLOT window <wdw> <page> <wdw> from page <page> AG_ADD_GRAPH <graph> <page> RG_REMOVE_GRAPH <graph> <page> TEMPLATE Read and write template files The syntax is: WRITE <filename> READ <filename> WRITE Write data to the terminal The syntax is: <entity> <list> <component> SCAN <entity> <nn> <component> Write <component> data for a <list> entities of type <entity> Display the maximum and minimum <nn> values of <component> for element type <entity> Display a model summary. Valid <summary>s are: Whole model summary Whole model summary by part Write a template file to <filename> Read a template file from <filename> Add T/HIS graph <graph> to page <page> Remove T/HIS graph <graph> from page <page>
GS_GLOBAL_SUMMARY <summary>
GS_GLOBAL_SUMMARY PS_PART_SUMMARY
NRB_NODAL_RB_SUMMARY Nodal rigid body summary IS_INTERFACE_SUMMARY Contact surfaces summary COINCIDENT OS_OUTPUT_TO_SCREEN OF_OUTPUT_TO_FILE ENVELOPE <option> Display coincident elements Switches screen output on/off Switches file output on/off Turn envelope on. Valid <option>s are:
Page A.108
D3PLOT Select the type of value to write. Valid <type>s are: OFF Turn envelope plotting off Plot max values
MAX_VALUE
TIME_OF_MAX_VALUE Plot time of the max values MIN_VALUE Plot min values
TIME_OF_MIN_VALUE Plot time of the min values ABS_VALUE Plot absolute values
TIME_OF_ABS_VALUE Plot time of the absolute values STATES <list> KEYWORD <option> Give a <list> of state numbers to be used Write initial keyword data <option>s are: <entity> <list> FILENAME <fname> (NO_)NODE_COORDS (NO_)NODE_CONSTRAINTS (NO_)ELEM_TOPOLOGY (NO_)INITIAL_STRESS (NO_)INITIAL_STRAIN Select a <list> of entities of type <entity> Output filename Turn on/off output of nodal coordinates Turn on/off output of nodal constraints Turn on/off output of element topology Turn on/off output of initial stress Turn on/off output of initial strain
(NO_)INITIAL_NODAL_VEL Turn on/off output of initial nodal velocity APPLY STATUS EXPLAIN XY_DATA Plot XY Data The syntax is: NODES <list> <component> Plot <component> data versus time for nodes in <list> Write the data to file Show the current settings Further help
Page A.109
D3PLOT SOLIDS <list> <component> BEAMS <list> <component> SHELLS <list> <component> THICK_SHELLS <list> <component> STONEWALLS <list> <component> INTERFACES <list> <component> PARTS <list> <component> AIRBAGS <list> <component> SURFACES <component> GLOBAL <component>
User manual Version 11.0, March 2013 Plot <component> data versus time for solids in <list> Plot <component> data versus time for beams in <list> Plot <component> data versus time for shells in <list> Plot <component> data versus time for thick shells in <list> Plot <component> data versus time for stonewalls in <list> Plot <component> data versus time for interfaces in <list> Plot <component> data versus time for parts in <list> Plot <component> data versus time for airbags in <list> Plot <component> data versus time for surfaces Plot global <component> data versus time Plot <component1> data versus <component2> over time for the <list> of <entity>s Plot <component1> data versus <component2> at a given time for the <list> of <entity>s Sort the COMP_LINE data points. Valid <action>s are: NO_SORT LABEL X_VALUE Y_VALUE BX_COORD BY_COORD BZ_COORD CX_COORD CY_COORD CZ_COORD SET_INTERVALS <start> <interval> <finish> SELECT_STATES <list> SHOW_TIMES No sorting Sort by label ids Sort by data x value Sort by data y value Sort by item basic x coordinate Sort by item basic y coordinate Sort by item basic z coordinate Sort by item current x coordinate Sort by item current y coordinate Sort by item current z coordinate Set the start time for the first state to be extracted, the time interval between states and the time of the last state to be extracted Give a <list> of state numbers to be used Show state times in .ptf file
COMP_XY <entity> <list> <component1> <component2> COMP_LINE <entity> <list> <component1> <component2> SORT <action>
Page A.110
User manual Version 11.0, March 2013 PLOT WRITE_CURVES WRITE_CSV CURVE_NAMES <type>
D3PLOT Turn XY plotting on or off Turn curve file writing on or off Turn csv file writing on or off Change the default curve file names. Valid <type>s are: GLOBAL PART AIRBAG CONTACT ELEMENT NODE COMPOSITE SECTION Global data curves Part data curves Airbag data curves Contact data curves Element data curves Node data curves Composite curves Cut section curves Set the maximum number of curves in a .cur file to <curves> Show the current settings Further help
NUMBER_OF_CURVES <curves> STATUS EXPLAIN IMAGES Output images and animations Select what to capture with the syntax: ALL_PAGES CURRENT_PAGE ONLY_WINDOW <win_num> WHITE_BACKGROUND <switch> Select the image type with the syntax: JPEG <filename> BMP_U8 <filename>
Select all the pages to capture Select the current page to capture Select window <wiun_num> to capture Capture images with white background ON or OFF
Write the current image as a jpeg to <filename> Write the current image as an uncompressed 8-bit bitmap to <filename> Write the current image as a compressed 8-bit bitmap to <filename> Write the current image as an uncompressed 24-bit bitmap to <filename> Write the current image as a portable pixmap to <filename> Write the current image as an 8-bit png to <filename> Write the current image as a 24-bit png to <filename>
BMP_C8 <filename>
BMP_U24 <filename>
Page A.111
User manual Version 11.0, March 2013 Write the current image as a gif to <filename> Write the current animation as an mpeg to <filename> Write the current animation as a motion-jpeg to <filename> Write the current animation as an uncompressed 8-bit motion-jpeg to <filename> Write the current animation as a compressed 8-bit motion-jpeg to <filename> Write the current animation as an uncompressed 24-bit motion-jpeg to <filename> Set the dithering level Set to <n> number of frames per second for animations Set to <n> number of repeats for animations Image quality of J/MPEG files Show the current settings
AVI_C8 <filename>
AVI_U24 <filename>
DITHER <level> FRAME_RATE <n> REPEAT <n> QUALITY <%age> STATUS LABEL Display labels The syntax is: <entity> <list> LABEL PN_PART_NUMBER NE_NODES_ON_ELEMENT EN_ELEMENTS_ON_NODE NC_NODAL_COORDINATES DATA_VALUE STATUS EXPLAIN UTILITIES General utility commands The syntax is: COLOUR_OF_ENTITIES <entity> <list> <colour> TRANSPARENCY <entity> <list> <%age>
A <list> of <entity>s to label Toggle on or off if entities are labelled with their node/element number Toggle on or off if entities are labelled with their part/surface number Toggle on or off if nodes attached to an element are labelled Toggle on or off if elements attached to a node are labelled Toggle on or off if nodes are labelled with their coordinates Toggle on or off if nodes/elements are labelled with their current data value Show the current settings Further help
Set the colour of a <list> of <entity> type to <colour> Set the percentage transparency of a <list> of <entity> type to <%age>
Page A.112
D3PLOT Measure distances on screen. Valid <action>s are: PP_POINT_TO_POINT NN_NODE_TO_NODE NO_NODE_TO_ORIGIN NA_NODE_ANGLE PA_POINT_ANGLE Distance between two screen points (cursor picked) Distance between two nodes (cursor picked) Current node location (cursor picked) Angle between vectors n1n2 and n1n3 (cursor picked) Angle between vectors p1p2 and p1p3 (cursor picked) Change the model title to <title> List any unattached nodes Add nodal target markers. Valid <action>s are: RADIUS <rad> COLOUR <col1> <col2> CREATE <node id> DELETE <node id> OFF ON Define the radius of the marker Define the two colours <col1> <col2> of the marker Create a marker on node <node id> Delete the marker from node <node id> Turn target markers off Turn target markers on How to handle failed elements. Valid <action>s are: DS_DELETED_SWITCH DL_DELETED_LIST FH_HATCHING_SWITCH FC_FAILED_CONTOUR <colour> FL_FAILED_LIST CRITERION Toggle displaying deleted elements List deleted elements Toggle hatching deleted elements Hatching colour List failed elements Define failure criterion List data components Graphic options. Valid <action>s are:
FAILURE_LOGIC <action>
Page A.113
D3PLOT
User manual Version 11.0, March 2013 LW_LINE_WIDTH <pixels> M3D_3D_GRAPHICS M2D_2D_GRAPHICS UPDATE_LEVEL <level> SOFT_CLIP_SWITCH SP_SHOW_PROJECTION Define line width in pixels Switch to 3D mode Switch to 2D mode Define the update level Turn the software clipping on or off Turn the box showing a representation of the projection and clipping planes on or off
WINDOW_SIZE <x> <y> Set the window size FILE_SKIP <n> FAMILY_SIZE <size> SETTINGS_FILE <action> Write to <filename> Read from <filename> PROPERTIES_FILE <action> WRITE <model> <filename> READ <model> <filename> TOPAZ_FILE <To> <Tf> <Ti> <size> <header> <family> <filename> Write or read a properties file. Valid <action>s are: Write properties of <model> to <filename> Read properties from <filename> into <model> Write a topaz file Where: <To> is the time offset <Tf> is the time factor <Ti> is the time interval <size> is the family member size in MBytes <header> sets whether to write a header of initial data to file and can be YES or NO <family> is the family member to start at <filename> is the name of the file to write to Skips <n> missing .ptf files Set the file member size to <size> in MBytes Write or read a settings file. Valid <action>s are:
Page A.114
D3PLOT Write an .stl file to <filename> as a file in the format <type> Where: <type> is either ASCII or BINARY
EXTERNAL <action>
Plot externally defined data. Valid <action>s are: READ_FILE <filename> OFF ON Read from <filename> Switch data off Switch data on Read <filename> for global factors Display the menu attributes panel Generate a new set of ptf files with a subset of the data. Valid <action>s are:
Page A.115
D3PLOT
User manual Version 11.0, March 2013 OUTPUT_TYPE <type> Set the output type to ORIGINAL or REORDERED Set the current model Set the filename Set a <list> of parts to output Set a <list> of states to output Set the maximum fanily size (in KB) Write the ptf files Turn on all output Turn off all output Turn on/off output of nodal velocities Turn on/off output of nodal accelerations Turn on/off output of nodal temperatures Turn on/off output of shell and thick shell stress tensor Turn on/off output of plastic strain Turn on/off output of shell forces and moments Turn on/off output of shell thicknesses Turn on/off output of shell extra variables Turn on/off output of solid extra variables Turn on/off output of beam extra variables Turn on/off output of strain tensor Turn on/off output of strain tensor for SPH elements Turn on/off output of plastic strain for SPH elements Turn on/off output of stress tensor for SPH elements Turn on/off output of airbag particle data
MODEL <model id> FILENAME <filename> PART <list> STATES <list> FAMILY_SIZE <size> APPLY ALL_ON ALL_OFF (NO_)VELOCITIES (NO_)ACCELERATIONS (NO_)TEMPERATURES (NO_)SHELL_STRESS (NO_)PLASTIC (NO_)SHELL_FORCES (NO_)SHELL_THICKNESS (NO_)SHELL_EXTRA (NO_)SOLID_EXTRA (NO_)BEAM_EXTRA (NO_)STRAIN (NO_)SPH_STRESS (NO_)SPH_PLASTIC
(NO_)SPH_STRAIN (NO_)AIRBAG
Page A.116
D3PLOT Turn on/off output of stress tensor for solid elements (reordered database only) Turn on/off output of plastic strain for solid elements (reordered database only) Turn on/off output of Von Mises stress for solid elements (reordered database only) Turn on/off output of Von Mises stress for shell elements (reordered database only)
(NO_)SOLID_PLASTIC
(NO_)SOLID_VM_STRESS
(NO_)SHELL_VM_STRESS
(NO_)TSHELL_VM_STRESS Turn on/off output of Von Mises stress for thick shell elements (reordered database only) (NO_)SOLID_VM_STRAIN Turn on/off output of Von Mises strain for solid elements (reordered database only) Turn on/off output of Von Mises strain for shell elements (reordered database only)
(NO_)SHELL_VM_STRAIN
(NO_)TSHELL_VM_STRAIN Turn on/off output of Von Mises strain for thick shell elements (reordered database only) (NO_)SHELL_ENG_STRAIN Turn on/off output of Engineering strain for shell elements (reordered database only) (NO_)SPOTWELD Turn on/off output of Spotweld data (reordered database only) Turn on/off output of SPC data (reordered database only) Turn on/off output of Spring data (reordered database only) Turn on/off output of Seatbelt data (reordered database only) Turn on/off output of nodes for ZTF items Do/Dont embed ztf file in database (reordered database only)
(NO_)SPC
(NO_)SPRING
(NO_)SEATBELT
(NO)_NODES_FOR_ZTF (DONT)_EMBED_ZTF
LC_COMBINATION <action>
Combine Nastran linear static subcases. Valid <action>s are: Page A.117
D3PLOT
User manual Version 11.0, March 2013 MODEL <model id> SUBCASE <subcase id> <factor> NAME <name> APPLY Set the current model Add <subcase id> to the list of subcases to be combined Set the combined loadcase name Create the combined loadcase with the currently selected subcases Read a loadcase combination file Write a loadcase combination file Clear the selected subcases
READ <filename> WRITE <filename> RESET GROUPS Group options The syntax is: CREATE ADD <entity> <list> REMOVE <entity> <list> CLEAR STORE
Create a group Add the <list> of entities of type <entity> to the current group Remove the <list> of entities of type <entity> from the current group Clear the current group Store the current group NEW <num> <name> EXISTING <group> LIST Store it as group number <num> and <name> Store it in existing <group>
List the contents of the current group Sketch the group. <group> can be the number or name of the group. Modify a stored group. <group> can be the number or name of the group.
Page A.118
User manual Version 11.0, March 2013 ADD <entity> <list> REMOVE <entity> <list> CLEAR STORE
D3PLOT Add the <list> of entities of type <entity> to the current group Remove the <list> of entities of type <entity> from the current group Clear the current group Store the current group NEW <num> <name> EXISTING <group> LIST Store it as group number <num> and <name> Store it in existing <group>
List the contents of the current group Rename a stored group. <group> can be the number or name of the group.
RENAME <group>
NAME <name> NUMBER <num> APPLY DELETE <group> SAVE <filename> READ <filename> READ_OLD <filename> LIST JAVASCRIPT Javascript interface The syntax is: COMPILE <filename> EXECUTE <filename>
New name New number Apply the new name and/or number Delete a stored group. <group> can be the number or name of the group. Save the stored groups as an ascii file to <filename> Read the ascii file <filename> Read an old style binary group file <filename> List the stored groups
Compiles the javascript <filename> to check it for errors Executes the most recently compiled javascript file or compiles and executes <filename> if given and different Sets javascript memory arena to <size> in MBytes
MEMORY <size> STATUS NEW_MODEL <filename> EXIT Display programme status Open model <filename> Exit D3Plot
User manual Version 11.0, March 2013 Draws the current state in hidden-line mode Draws the current state in shaded mode Redraws all windows
CW_CURRENT_WINDOW <window id> Sets the current window to <window id> CM_CURRENT_MODEL <model id> SXY, SYZ, SZX +XY, +YZ, +ZX -XY, -YZ, -ZX ISOMETRIC +ISO, -ISO RS <x y z> RM <x y z> ZM CENTRE MG <scale> AU_AUTOSCALE_UNDEF AC_AUTOSCALE_CURR ZERO_VIEW TIME <time> Sets the current model to <model id> Preset views on XY, YZ and XZ axes Alternative syntax for the above Reversed views of the above Preset isometric view Same as above and reverse Rotate about screen coordinates <x y z> Rotate about model coordinates <x y z> Zoom in using cursor Centre image on cursor position Magnify by factor <scale> Autoscale on undeformed geometry Autoscale on current geometry Reset view to plan on XY plane Set to a state at time <time> Where: <time> is a time value, PREVIOUS, NEXT or LAST STATE <number> Set to a state by <number> Where: <number> is a state number, PREVIOUS, NEXT or LAST FILE_SCAN SS_SHOW_STATES GM_GLOBAL_MENU GH_GLOBAL_HELP GE_GLOBAL_EXPLAIN Re-scan file family for new states Show all state times in the file Display global menu command summary Help on global commands Details of global commands
Page A.120
D3PLOT
Solution Types
The following solution types can be read in to D3PLOT. SOL 101 - Linear Statics SOL 103 - Normal Modes SOL 106 - Non-Linear Statics SOL 107 - Direct Complex Eigenvalues SOL 108 - Direct Frequency Response SOL 109 - Direct Transient Response SOL 110 - Modal Complex Eigenvalues SOL 111 - Modal Frequency Response SOL 112 - Modal Transient Response Other solution types may read in to D3PLOT, but have not been tested.
Elements
The following elements can be read in to D3PLOT. NASTRAN ELEMENTs plotted as SOLIDs CHEX20 CHEX8 CHEXA CHEXAFD CHEXA20F CHEXPR CHEXAL CHEXA1 CHEXA2 CPENTA CPENPR CPENT15F CPENT6FD CTETRA CTETPR CTETR4FD CTETR10F CWEDGE NASTRAN ELEMENTs plotted as BEAMs CBAR CBEAM CONROD CROD CTUBE PLOTEL NASTRAN ELEMENTs plotted as SHELLs CQUAD CQUAD1 CQUAD2 CQUAD4 Page A.121
D3PLOT CQUAD4FD CQUADR CQUAD8 CQUADX CQUAD9FD CTRBSC CTRIA1 CTRIA2 CTRIA3 CTRIA6 CTRIAR CTRIARG CTRIA3FD CTRIA6FD CTRIAX CTRIAX6
NASTRAN ELEMENTs plotted as SPRINGs CBUSH CBUSH1D CBUSH2D CDAMP1 CDAMP2 CELAS1 CELAS2 CELAS3 CELAS4 CGAP CMASS1 CMASS2 CVISC
Data Components
The data components that will be available in D3PLOT will depend on which case control output statements were in the input file. The following statements are supported: DISPLACMENT(PLOT) VELOCITY(PLOT) ACCELERATION(PLOT) THERMAL(PLOT) STRESS(PLOT) STRAIN(PLOT) FORCE(PLOT) ESE(PLOT) EKE(PLOT) EDEL(PLOT) SPCFORCE(PLOT)
Nodal Data
The following components will be available if the DISPLACEMENT command was used: DX_X_DISPLACEMENT RDX_X_ROTATION DY_Y_DISPLACMENT RDY_Y_ROTATION
DZ_Z_DISPLACEMENT RDZ_Z_DROTATION DR_DISP_RESULTANT RDR_ROT_RESULTANT The following components will be available if the VELOCITY command was used:
Page A.122
User manual Version 11.0, March 2013 VX_X_VELOCITY VY_Y_VELOCITY VZ_Z_VELOCITY RVX_X_ROTATION RVY_Y_ROTATION RVZ_Z_ROTATION
D3PLOT
VR_VEL_RESULTANT RVR_ROT_RESULTANT The following components will be available if the ACCELERATION command was used: AX_X_VELOCITY AY_Y_VELOCITY AZ_Z_VELOCITY RAX_X_ROTATION RAY_Y_ROTATION RAZ_Z_ROTATION
AR_ACCEL_RESULTANT RAR_ROT_RESULTANT The following components will be available if the THERMAL command was used: TEMPERATURE
Element Data
The following components will be available if the STRESS command was used: SOLID and SHELL elements: X_DIRECT_STRESS XY_SHEAR_STRESS Y_DIRECT_STRESS YZ_SHEAR_STRESS Z_DIRECT_STRESS ZX_SHEAR_STRESS The following components will be available if the STRAIN command was used: SOLID and SHELL elements: SX_DIRECT_STRAIN SXY_SHEAR_STRAIN SY_DIRECT_STRAIN SYZ_SHEAR_STRAIN SZ_DIRECT_STRAIN SZX_SHEAR_STRAIN BEAM elements: SAX_AXIAL_STRAIN (Note: For CBEAM elements this is the Longitudinal strain at point C). The following components will be available if the FORCE command was used: SHELL elements: FX_NORMAL_FORCE MX_BENDING_MOMENT FY_NORMAL_FORCE MY_BENDING_MOMENT FXY_SHEAR_FORCE BEAM elements: MXY_BENDING_MOMENT QXZ_SHEAR_FORCE QYZ_SHEAR_FORCE
Page A.123
FY_Y_SHEAR_FORCE MYY_BENDING_MOMENT FZ_Z_SHEAR_FORCE MZZ_BENDING_MOMENT SPRING elements (Note: results are plotted on beams): FX_AXIAL_FORCE The following components will be available if the ESE command was used: SOLID and SHELL elements: SEN_STRAIN_ENERGY SENP_STRAIN_ENERGY_PERCENT SEND_STRAIN_ENERGY_DENSITY BEAM elements: BSEN_STRAIN_ENERGY BSENP_STRAIN_ENERGY_PERCENT BSEND_STRAIN_ENERGY_DENSITY The following components will be available if the EKE command was used: SOLID and SHELL elements: KEN_KINETIC_ENERGY KENP_KINETIC_ENERGY_PERCENT KEND_KINETIC_ENERGY_DENSITY BEAM elements: BKEN_KINETIC_ENERGY BKENP_KINETIC_ENERGY_PERCENT BKEND_KINETIC_ENERGY_DENSITY The following components will be available if the EDEL command was used: SOLID and SHELL elements: ENL_ENERGY_LOSS ENLP_ENERGY_LOSS_PERCENT ENLD_ENERGY_LOSS_DENSITY BEAM elements: BENL_ENERGY_LOSS BENLP_ENERGY_LOSS_PERCENT BENLD_ENERGY_LOSS_DENSITY
Other Data
Page A.124
User manual Version 11.0, March 2013 These are accesible under the Other data tab (see Section 4.3.8) The following components will be available if the SPCFORCE command was used: SPC_R_FORCE(X) SPC_R_FORCE(Y) SPC_R_FORCE(Z) SPC_R_MOMENT(X) SPC_R_MOMENT(Y) SPC_R_MOMENT(Z)
D3PLOT
SPC_R_FORCE(MAG) SPC_R_MOMENT(MAG) Note that you will need to have a d3plot.components file in the installation directory for these components to be available.
Page A.125
D3PLOT
Page A.126
D3PLOT
Installation organisation
The version 11 installation can be customised to try and avoid a number of issues that often occur in large organisations with many users. Large organisations generally imply large networks, and it is often the case that the performance of these networks can be intermittent or poor, therefore it is common practice to perform an installation of the software on the local disk of each machine, rather then having a single installation on a remote disk. This avoids the pauses and glitches that can occur when running executable files over a network, but it also means that all the configuration files in, or depending upon, the top level "Admin" directory have to be copied to all machines and, more to the point, any changes or additions to such files also have to be copied to all machines. In larger organisations the "one person per computer" philosophy may not apply, with the consequence that users will tend to have a floating home area on a network drive and may not use the same machine every day. This is not usually a problem on Linux where the "home" directory is tied to the login name not the machine. However on Windows platforms it means that %USERPROFILE%, which is typically on the local C drive of a machine, is not a good place to consider as "home" since it will be tied to a given computer, therefore a user who saves a file in his home directory on machine A may not be able to access it from machine B. In a similar vein placing large temporary files on the /tmp partition (Linux) or the C: drive (Windows) may result in local disks becoming too full, or quotas exceeded.
This section gives only a brief summary of the installation organisation, and you should refer to the separate Installation Guide if you want to find out more about the details of installation, licensing, and other related issues.
Page B.1
User manual Version 11.0, March 2013 Same as OA_ADMIN_11, provided for backwards compatibility with earlier releases. It is recommended that plain OA_ADMIN, without the _xx version suffix, is not used since otherwise there is no easy way of distinguishing between parallel installations of different releases of the Oasys Ltd software in an installation. If OA_ADMIN_11 is not defined then this non-release specific version is checked.
OA_INSTALL_xx
Optional
(xx =11 for release 11.0, thus OA_ADMIN_11 All executables Installation level oa_pref file
oasys*install_dir: <pathname>
OA_INSTALL
Optional
Same as OA_INSTALL_11. If no "OA_ADMIN_xx" directory is used and all software is simply placed in this "install" directory, which would be typical of a single-user installation, then it is recommended that the _xx version suffix is used in order to keep parallel installations of different releases of the Oasts Ltd software separate on the machine. If OA_INSTALL_11 is not defined then this non-release specific version is checked
oasys*install_dir: <pathname>
OA_MANUALS
Optional
Specific directory for user manuals. If not defined oasys*manuals_dir: then will search in: <pathname> OA_ADMIN_xx/manuals (xx = major version number) OA_INSTALL/manuals Specific "home" directory for user when using Oasys oasys*home_dir: Ltd software. If not defined will use: <pathname> $HOME (Linux) %USERPROFILE% (Windows) Specific "temporary" directory for user when using oasys*temp_dir: Oasys Ltd software. If not defined will use: <pathname> P_tmpdir (Linux, typically /tmp) %TEMP% (Windows, typically C:\temp)
OA_HOME
Optional
OA_TEMP
Optional
It will be clear from the table above that no Environment variables have to be set, and that all defaults will revert to pre-9.4 behaviour. In other words users wishing to keep the status quo will find behaviour and layout unchanged if they do nothing. OA_INSTALL_XX Previously the software used the OA_INSTALL (renamed from OASYS) environment variable to locate the directory the software was installed in. On Windows this is no longer required as the software can work out its own installation directory. As this environment variable is no longer required it is recommended that it is removed from machines it is currently set on as in some cases where more than one version has been installed in different directories it can cause problems. On LINUX systems the "oasys_11" script that starts the SHELL automatically sets this Environment Variable and passes it to any application started from the SHELL. If you run applications directly from the command line and bypass the SHELL then you should set OA_INSTALL_XX so that the software can locate manuals and other required files.
OA_ADMIN_XX Users wishing to separate configuration and installation directories will be able to do so by making use of the new top level OA_ADMIN_xx directory.
Page B.2
D3PLOT
Installation Examples
The following diagrams illustrate how the installation might be organised in various different scenarios.. a) Single user installation on one machine There is no need to worry about separating administration and installation directories, and the default installation of all files in and below the single installation directory will suffice. It is suggested that the _xx version suffix of OA_INSTALL_xx is used in order to keep parallel installations of different releases of the Oassys Ltd software separate on the machine. b) A few machines on a small network, each user has his own machine The top level administration directory can be installed on a network server, possibly also locating the manuals centrally. Each users machine has its own installation directory to give good performance, but there is no need to manage home or temporary directories centrally since each user owns his machine. If network performance is good an alternative would be to install executables on the central server, meaning that local OA_INSTALL directories are not required.
c) Large corporate network There is no need to worry about separating administration and installation directories, and the default installation of all files in and below the single installation directory will suffice.
Page B.3
D3PLOT
oasys*home_dir: <pathname for home directory> oasys*temp_dir: <pathname for temporary files>
} would almost certainly be unchanged between major } versions, although they could be different if desired
Pathnames in the oa_pref file may contain environment variables which will be resolved before being applied.
The rules for reading these files are: If a given directory does not exist, or no file is found in that directory, then no action is taken. This is not an error. A more recently read definition supersedes one read earlier, therefore "local" definitions can supersede "global" ones (unless it was locked ). If two of more of the directories in the table above are the same then that file is only read once from the first instance.
primer*maximise: true
Page B.4
User manual Version 11.0, March 2013 primer#maximise: true Locked case using "#"
D3PLOT
These changes may be made either by editing the file manually, or by using the preferences editor.
Page B.5
D3PLOT
Page B.6
D3PLOT
It is fairly basic but hopefully has enough functionality for people to be able to find and fix problems in scripts.
Adding/removing breakpoints
A breakpoint is a line in the script where execution will pause in JaDe. To add a breakpoint either left click on the line you want the breakpoint on or right click on the line and select Create breakpoint from the popup. A red circle is then drawn on the line to show that there is an active breakpoint.
Page C.1
D3PLOT
Additionally the breakpoint will also be added to the list in the breakpoint window (bottom left of JaDe). You can click on this at any time and the main text window will jump to the correct file and line. Active breakpoints are shown with a red circle. Breakpoints can be activated/deactivated by clicking on the line again. Unactive breakpoints are shown as a grey circle instead of a red one. They are also shown in grey text in the breakpoint window . To delete a breakpoint right click on the line and select Delete breakpoint. The breakpoint will be deleted.
Conditional breakpoints
Sometimes it is useful to only stop at a breakpoint if a certain condition is met. For example in the above example we may only want to stop at line 114 if mines is 10. You can do this by right clicking on the the breakpoint and selecting Add condition.
A window is mapped allowing you type in the condition you want to try to meet. The condition should be a JavaScript expression which evaluates to true if you want the breakpoint to stop execution, or false if you want the breakpoint to be skipped. In this example the condition is n == 10. If a breakpoint has a condition associated with it a C is drawn on the circle and in the breakpoint window. The condition can be edited again or removed by right clicking on the breakpoint and selecting either Edit condition or Remove condition from the popup.
Page C.2
D3PLOT
The line that the debugger has paused the script on is shown by a green triangle. In the above example it is paused at line 114. The middle panel on the left shows the call stack. See the call stack section below for more details.
Using Quickwatch
If you want to look at the values for lots of variables it is annoying to have to type the variable name in and press Print for each one. A better way is to use Quickwatch at the top left of JaDe
Page C.3
D3PLOT
Type the name of the variable that you want to watch in the Click to add textbox. A line will be added for the variable showing its name and value. e.g. in the following image the variable mines is being displayed and its current value is 10. If the value is very long hover over the value to get the whole string.
You can add any number of variables to watch. To remove one right click on the variable and select Remove quickwatch from the popup. If a variable exists and has been assigned to then the value is displayed. e.g. mines in the following example. If the variable exists but it has not yet had a value assigned its value is the undefined value. e.g. pos in the following example. If the variable does not exist the value is shown as ! invalid ! . e.g. fred in the following example.
Page C.4
D3PLOT
The top line shows the function that the script is currently paused at. The other lines show the calling functions in order. The above example can be read as: 1. The script starts 2. On line 65 in script file minesweeper.js in the main program the function start_game is called. 3. On line 160 in script file minesweeper.js in function start_game the function allocate_mines is called 4. On line 114 in script file minesweeper.js in function allocate_mines the script is paused. This information is sometimes very useful in more complicated scripts to find out the order things are done in. The function that the user is currently looking at is highlighted in blue. You can move up or down the call stack by clicking on a line. The main text window will jump to the correct file and line. The line will be shown with a blue triangle instead of a green triangle.
Exceptions
Sometimes when developing a script you get errors that you need to try to investigate and fix. e.g. an object is null when it should be defined or you try to call a method that does not exist for an object. In these cases an exception is thrown by JavaScript and the script would terminate is run normally. JaDe will trap the exception and stop at the line where the exception occured. e.g. If for example you has the following code: var w = new Window(Example, 0.5, 1.0, 0.5, 1.0); w.BadMethod(); w.Show() There is no method called BadMethod for a Window. JaDe will stop at this point and allow you to look at the script.
Page C.5