PRIMER 22.1

(DEFINE_) CURVE/TABLE: Defining Load Curves

(DEFINE_) CURVE/TABLE: Defining Load Curves

Other curve suffices:

_COMPENSATION
_ENTITY
_FEEDBACK
_FUNCTION
_SMOOTH
_TRIM


The *DEFINE_CURVE keyword is used to create "loadcurves". These are lists of two or more (x, y) data points which are used extensively for defining loading (e.g. force vs. time), material properties (e.g. stress vs. strain) and other varying data in an Ansys LS-DYNA analysis.

The *DEFINE_TABLE keyword defines a table of loadcurves. A table is an ordered set of data pairs consisting of a value and a loadcurve id, typically a strain rate and a stress:strain characteristic. It is an unfortunate quirk of the Ansys LS-DYNA keyword input that the loadcurves belonging to a table must follow it in sequential order. PRIMER endeavours to maintain this ordering but care must be taken if decks are edited manually, or split into *INCLUDE files, to ensure that this order is adhered to. In later versions of Ansys LS-DYNA the _2D option has been added to remove the need for this strict ordering. PRIMER offers a model check to warn of existing *DEFINE_TABLE cards and offers an autofix to convert them to *DEFINE_TABLE_2D.

Loadcurves do not have any explicit data types or units associated with them, this is implied by the items which reference them. It is legal, but generally not sensible, for any number of unrelated items to use the same loadcurve. It may cause problems for Unit change operations.

PRIMER keeps track of what references each loadcurve, and hence the implied data types and units for each axis, which makes it possible to detect and correct conflicting usage.

Loadcurves use unique labels and, although part of the *DEFINE keyword, their labels do not clash with other *DEFINE_xxx entities except tables (see below). For example it is legal to have (*DEFINE_)BOX #1 and (*DEFINE_)CURVE #1.

LOADCURVES

NOTE: TABLE and CURVE definitions occupy the same labelling space, and are interchangeable in some contexts. Thus it is not legal to have TABLE#1 and CURVE#1 .

This figure shows the main menu for the editing of curves.

All functions have their standard meanings as given in Standard Keyword Top Level Menu Options. The COMPARE option is specific to curves, and is described below.

The table and curve main menu panels are similar.

CREATE Making a new loadcurve definition
This figure shows the basic CREATE / UPDATE CURVE panel.

The loadcurve editing panel layout is shown in this figure.

There are six main areas in the panel, each area grouping together buttons of similar function.

  1. Create/abort loadcurve
  2. Loadcurve display buttons
  3. *DEFINE_CURVE options
  4. Loadcurve plot
  5. Loadcurve points
  6. Loadcurve modification

(1) Create/abort loadcurve




CREATE

This will exit the current loadcurve creation, saving the curve in the database. This button will be inactive (greyed out) until a label ( LCID ) is given for the loadcurve and there are at least two points in the curve.

CANCEL

Aborts from the current loadcurve creation without saving any of the modifications.

X_REFS

If the loadcurve has any cross references in the database they are displayed in a dialogue window. If there are no cross references to this curve [ no cross references found ] will be displayed.



RESET ALL

Resets the curve back to its initial state. Any points which have been added or modified are lost.

COPY IN

Copies the data from an existing loadcurve into the loadcurve currently being created. Any points which have been added since starting the create will be lost.

CHECK

Checks the loadcurve currently being created for any errors.



SKETCH

Sketch is currently inoperative.

(2) Loadcurve display buttons


GRID, LINES & SYMBOLS

These buttons toggle whether the grid, the curve line and the curve symbols are drawn on the plot.

AUTOSCALE

Resets the scaling on the loadcurve plot so the curve just fits the screen and replots the loadcurve.

ZOOM

Two points are selected using the left mouse button. Xmin, Xmax, Ymin and Ymax are updated and the curve is replotted

PLOT

The curve is replotted as the scale currently selected by Xmin, Xmax, Ymin and Ymax .

Xmin, Xmax, Ymin & Ymax

Typing in a value changes the limits for plotting the curve.

By default when creating a curve Xmin and Ymin are -1. Xmax and Ymax are 1. When modifying an existing curve they are set so the curve just fits on the screen (equivalent to AUTOSCALE )

LOG

The two log buttons can be used to set the graph x and/or y axis to a logarithmic scale. When a log button is selected, the axis min gets set to the closest power of 10 less than the positive minimum value and the max is set to the closest power of 10 greater than the positive maximum value. The same applies when the ‘Autoscale’ button is pressed when in log mode. The axis min/max can be changed to any value in the corresponding textboxes.

Plot DYNA

Will display the curve points discretized according to Ansys LS-DYNA rules.

WHITE BGD

Toggle between white and black background

EDIT

When toggled on, this button can be used to drag, insert or delete points from the displayed curve(s). Right click on the button to change the option. In drag mode, left mouse click and hold on a point on the curve, then drag. In insert mode, left mouse click at a point on the curve where you wish to add a point. In delete mode, either left mouse click on a point on the curve to delete it, or left mouse click hold to drag a box around a number of points to delete them.

INC SCALE+OFFSET

By default when a curve is plotted on the screen the offsets ( SFA, SFO ) and scale factors ( OFFA, OFFO ) are not included. If this button is pressed then they are included in the plot. To ensure that the user is aware of this the SFA, SFO, OFFA and OFFO text boxes turn green (by default they are blue) and the curve line and symbols are plotted in green. Pressing the button again toggles the inclusion off.

Loadcurve values are scaled after the offsets are applied.

Abcissa value = SFA x (Defined value + OFFA)

Ordinate value = SFO x (Defined value + OFFO)

(3) *DEFINE_CURVE options


LCID

Label for loadcurve. If there is no label then the label is shown as <none> and the box is red rather than the default blue. A new label can be typed in the box or the right mouse button pressed to get the standard label popup box.

SIDR

Sets whether the loadcurve will be used in a transient or dynamic relaxation analysis. Either type in the value or use the right mouse button to bring up a popup menu.


SFA, SFO, OFFA & OFFO

Scale factors and offsets for the loadcurve abcissa (x) and ordinate (y) values.

DATTYP

Sets the type of data in the loadcurve: generally this is set to zero. Either type in a value or use the right mouse button to bring up a popup menu.


(4) Loadcurve plot

The loadcurve currently being created or modified is plotted in the bottom left of the loadcurve panel.

If the curve has no cross references then the units for the X and Y axes are shown as Unknown units. If there are cross references, the first reference that PRIMER finds is used and the units displayed on the X and Y axes. All the cross references for the curve can be displayed with the LIST_XREFS button.

The visibility of the curve lines, symbols and the grid is controlled by the GRID, LINES and SYMBOLS buttons.

If the INC_SCALE+OFFSET button is selected, the curve is drawn in green instead of the default yellow to inform the user that the scale factors and offsets are included in the plot.

The plot can be updated at any time by pressing the PLOT button.


(5) Loadcurve points

When a curve is created the user is forced into INS_AFTER mode until a point is created. The user will not be able to change to another mode ( MODIFY, INS_BEFORE or DELETE ) until this point is created.

The X and Y value boxes for this initial point are blank and coloured green to indicate that a number is required. If a number is typed into one of the boxes the box turns blue.

When numbers are present for X and Y the line for point 1 becomes blue and point 2 becomes green. As many points as necessary can be added using this method.

When there is more than one point the current mode can be changed at any time by pressing the MODIFY, INS_BEFORE or DELETE buttons.

Any incomplete points (i.e. if either the X or Y values [or both] are blank) will be deleted when changing mode. If the number of points in the loadcurve is greater than 10 a sliding bar appears by the side of the points. The mouse can be used to select which points are visible in the text box. Drag the bar up and down with the left mouse button to move between the points. Alternatively clicking on the up (or down) arrow with the left, middle or right mouse button, increases (or decreases) the points shown by 1, 10 or 100 respectively. The value of a point can be changed in any mode by clicking on the X or Y value box and typing in a number.

(6) Loadcurve modification

MODIFY

Selects modify mode for loadcurve point editing. In this mode only the values of the points can be changed. No points can be added or deleted.

When in this mode the point buttons are greyed out so they cannot be selected.

If a point is currently being edited in INS_BEFORE or INS_AFTER mode it is deleted before the modify mode is selected.



INS_BEFORE & INS_AFTER

Select either INS_BEFORE or INS_AFTER mode for loadcurve point editing. This allows points to be added to the curve.

When in these modes the point buttons turn green. If a point is selected by clicking with the mouse a new point is created either before or after (depending on which mode) the selected point. If a point is currently being added in this mode and another point is selected the current point is deleted and the new point added.

INS_BEFORE & INS_AFTER


DELETE

Selects delete mode for loadcurve point editing. In this mode points can be deleted as well as being able to change the values of the points.

When in this mode the point buttons turn red. If a point is selected by clicking with the mouse it is deleted. If a point is currently being edited in INS_BEFORE or INS_AFTER mode it is deleted before the delete mode is selected.

DELETE
TOP & END

Moves the slider automatically to the top or end of the points for the loadcurve

GOTO_POINT

Moves the slider so that the point number which is typed in is visible.

IMPORT

Allows a loadcurve to be read from an external file or from a database in PRIMER . Pressing the IMPORT button brings up a new set of buttons instead of the loadcurve points.

Two types of file can be read into the loadcurve editor. T/HIS curve files and raw x,y data. The formats of these files is given in Appendix H . The format of the file to import is selected by using the RADIO buttons. The filename can then either be typed in the file text box or selected by browsing using the ? button. T/HIS curve files can contain multiple curves in one file. In this case the curve number in the file to read should be given. If no number is given the first curve in the file will be read. For the XY data/CSV data option you can specify the number of lines to skip at the start of the file, and also the columns for the X and Y data, should they not be in column 1 and 2.

EXPORT

Allows a loadcurve to be written to an external file from PRIMER . Pressing the EXPORT button brings up a new set of buttons instead of the loadcurve points.

Two types of file can be written from the loadcurve editor. T/HIS curve files and CSV x,y data. The formats of the T/HIS curve data is given in Appendix H. The format of the file to import is selected by using the RADIO buttons. The filename can then either be typed in the file text box or selected by browsing using the ? button.

READ

Reads the selected file into the loadcurve editor and plots the curve. Any modifications to the current curve will be lost when importing a file.

CANCEL

Aborts the import and returns to the normal loadcurve editor window.

DATABASE

The DATABASE button starts the loadcurve database function in PRIMER .

A list of the available loadcurve databases will be shown on the screen. When one is selected a curve can be read from the database.

For further details on databases see Databases: Importing Data from Pre-Defined Database Files and Appendix A.

COPY Copy existing loadcurve(s) to make a new loadcurve(s).

The selected loadcurves are copied. (Loadcurves do not "own" anything, so the concept of recursive copying does not apply.)

MODIFY Modifying the attributes of an existing loadcurve.

MODIFY functions in the same way as CREATE , except that an initial definition will be present. Any modifications made to the loadcurve definition will not be made permanent until the UPDATE_CURVE button is pressed. At this point a the local copy which has been updated is used to overwrite the version in the model.

DELETE Delete existing loadcurve definitions.

The selected loadcurves are deleted.

Loadcurves do not "own" anything, so the concept of recursive deletion does not apply, however a loadcurve that is referred to (i.e. "owned") by some higher order item will not be deletable unless that item is deleted too, or its reference to the loadcurve removed.

SKETCH Sketch loadcurve definitions.

SKETCH is currently inoperative.

LIST List loadcurve summaries to screen

The selected loadcurves are summarised on the screen.

CHECK Check loadcurve definitions for errors

The selected loadcurve definitions are run through the standard checking routines.

TEXT_EDIT

The standard "Text edit" function works on Curves, Tables and Functions in the normal way with one special exception for *DEFINE_TABLE.

A *DEFINE_TABLE keyword in Ansys LS-DYNA is exceptional since it takes the form

*DEFINE_TABLE
N lines of factors on loadcurves

*DEFINE_CURVE first of N following loadcurves
*DEFINE_CURVE second of N following loadcurves
etc to the Nth following loadcurve

This means that the order of keywords in the keyword deck is significant and PRIMER must take care that a table is not separated from "its" associated loadcurves during keyword input and output.


As a consequence when a file is written out for text editing it will contain both the *DEFINE_TABLE definition itself, as you would expect, but also vestigial *DEFINE_CURVE definitions for all the associated loadcurves. These "vestigial" definitions will only contain the first line of the curve giving its label and factors SFA, etc. This gives the impression that the values on these first lines can be edited and that these changes will be re-imported back into PRIMER when the Text edit process is complete.

Prior to version 18 this was not the case: such changes would be ignored. From version 18 onwards these changes are read and applied.

Any such changes are made directly to the loadcurve definitions in the database, so the sequence:

  • Open editor on *DEFINE_TABLE
  • Use Text edit to edit it externally
  • Change a value on any of the *DEFINE_CURVE definitions
  • Save and exit the editor

Will import the changes to the loadcurves immediately. If the editing panel is then "Aborted" the *DEFINE_TABLE itself will not be changed, since editing takes place on a scratch definition, however any changes to the associated loadcurves will remain.

PRIMER detects this situation and warns you when you quit the edit. However if the changes need to be reverted you will have to do this manually.

RENUMBER Change loadcurve labels

RENUMBER lets you change any or all loadcurve labels within a given model using the standard renumbering panel. To change the label of an individual loadcurve it may be simpler just to MODIFY it.

T/HIS Send load curve to T/HIS

T/HIS lets you send any load curve to the linked session of T/HIS, which lets you perform various operation on the curve(s), before sending them back to PRIMER . To send a load curve, go to a load curve edit panel and hit T/HIS . In case there is no T/HIS session linked to PRIMER , it will launch T-HIS and then load the curve. A limit of 1200 points on the curve is set that can be sent to T/HIS without a linked T-HIS session. After an active T-HIS linked session, it should be fine to send curves more than 1200 points. See The POST Panel for more details about shared memory link between T-HIS and PRIMER .

It is also possible to send DEFINE_CURVE_FUNCTION curve definitions from PRIMER to T/HIS for evaluation, as long as the expression only depends on TIME and not any other values that can change during the run. If the curve is suitable, the T/HIS button will be active. The curve will be plotted from TIME = 0 until the termination time specified on the DATABASE_CONTROL_TERMINATION card and any parameters appearing in the expression will be preserved. The equation can be edited in T/HIS by right-clicking and seleting 'Edit equation', before being sent back to PRIMER to update the original deifinition, again by right-clicking and selecting 'Update curve in PRIMER'.

this_curve

CURVE COMPARE

From the main *DEFINE_CURVE panel, there is a COMPARE option. This is used to visually plot and compare multiple curves on one graph.

After selecting the curves you wish to compare, the curve compare panel will open.


The curve compare panel is similar to the normal curve edit panel, but there is a list of the selected curves on the left hand side. Selecting different curves in this list will display the data associated with that curve in the points list. You still have all the same options for editing the curve data on this panel.

TABLES

CREATE/MODIFY Making/modifying a table definition

This figure shows the CREATE/UPDATE TABLE panel.


The functionality of the table editing panel is similar to the panel for loadcurves. The following features are briefly described.

Adding a new entry: when a value and loadcurve id (select, create, or type in) are entered into the top box ADD_ENTRY will become active. The new entry will automatically be added to the correct row.

Deleting an entry: a row is deleted from the table using popup of the row id button. The curve itself is NOT deleted.

Sketching an entry: the same popup may be used to sketch a single curve

Blanking/Unblanking an entry: clicking on the green (unblanked) row id button will toggle it to red (blanked)

Editing an entry: any row may be modified by typing in a new value and new loadcurve id. The latter may also be selected through the SELECT popup. Further, a loadcurve itself may be created/edited as the loadcurve editing panel can be accessed directly via the CREATE & EDIT popup. You are also able to interactively drag/insert/delete points from the curves on tables using the EDIT button.

Reordering entries : If entries become out of order the REORDER button will sort them.

Exporting a table: exports all the table curves to a T/HIS format (2e20) curve file. The table values are output as a step diagram.

Importing a table: imports all the table curves from a T/HIS format. Curves are created independently from the table creation. The table values are imported as a step diagram.

<none>, _3D, _3D: toggles between the various *DEFINE_TABLE options.

*DEFINE_CURVE_COMPENSATION

This definition defines a curve for local compensation..

PRIMER will read them in and write them out, but no interactive editing of them is provided

*DEFINE_CURVE_ENTITY

This definition defines a curve of straight line segments and circular arcs that defines an axisymmetric surface.

PRIMER will read them in and write them out, but no interactive editing of them is provided

*DEFINE_CURVE_FEEDBACK

These definitions do not create a loadcurve, rather they add special metal-forming attributes to an existing curve definition.

PRIMER will read them in and write them out, but no interactive editing of them is provided.

*DEFINE_CURVE_FUNCTION

These definitions are an alternative way of creating a loadcurve. Instead of explicit <x,y> data the user enters up to 10 rows of pseudo-fortran syntax, which may also contain references to functions that return the current state of Ansys LS-DYNA entities during an analysis.

It is possible to send these curve definitions from PRIMER to T/HIS for evaluation, as long as the expression only depends on TIME and not any other values that can change during the run. If the curve is suitable, the T/HIS button will be active. The curve will be plotted in T/HIS from TIME = 0 until the termination time specified on the DATABASE_CONTROL_TERMINATION card and any parameters appearing in the expression will be preserved. The equation can be edited in T/HIS by right-clicking and seleting 'Edit equation', before being sent back to PRIMER to update the original definition, again by right-clicking and selecting 'Update curve in PRIMER'.

The only checking performed on these expressions is suitability for evaluation in T/HIS, other than this PRIMER just reads these in and writes them out, but does not attempt to evaluate them.

These definitions may be edited in the normal curve editor as follows:

  • Select CURVE_FUNCTION in the options box of the curve editor
  • Enter rows of data.

*DEFINE_CURVE_SMOOTH

This is yet another way to define a loadcurve. In this case a smoothly varying "hump" function is defined in terms of its parameters.

These definitions may be edited in the normal curve editor as follows:

  • Select _SMOOTH in the options box of the curve editor
  • Enter the relevant parameters

.

*DEFINE_CURVE_TRIM

These are not loadcurves at all (the name is misleading), rather they are geometrical definitions used with *ELEMENT_TRIM during springback analyses. Their label sequence is totally separate from that of conventional loadcurves, and there is no relationship between the two types.

PRIMER reads in and writes out these definitions, but does not provide any interactive editing or visualisation of them.