7.10. User Functions
This section is referenced in the following other sections
7.10.1. Definition For Function
- Scope
Sierra
- Summary
Defines a function in terms of its type and values.
begin Definition For Function FunctionName Abscissa Name... Abscissa Offset Abscissa_offset Abscissa Scale Abscissa_scale At Discontinuity Evaluate To Column Titles Titles1 Titles2... Data File = filename [ X From Column xcol Y From Column ycol ] Debug Differentiate Expression Expr Evaluate Expression Expr Evaluate From x0 To x1 By Dx Expression Variable: Expr = value_var_name... [ State ] Expression Variable: Expr Field Types Titles1 Titles2... Ordinate Name... Ordinate Offset Ordinate_offset Ordinate Scale Ordinate_scale Scale By x Type X Offset X_offset X Scale X_scale Y Offset Y_offset Y Scale Y_scale begin Expressions empty end begin Values empty end end Definition For Function FunctionName
7.10.1.1. Line Commands
Abscissa
- Syntax
Abscissa Name…
- Summary
Specifies a string identifier for the independent variable. Optionally specify a scale and/or offset value which transforms the abscissa values into scaled_abscissa = scale * ( abscissa + abscissa_offset).
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
string… |
– |
Abscissa Offset
- Syntax
Abscissa Offset Abscissa_offset
- Summary
Alias for X OFFSET
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
Abscissa_offset |
real |
– |
Abscissa Scale
- Syntax
Abscissa Scale Abscissa_scale
- Summary
Alias for X SCALE
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
Abscissa_scale |
real |
– |
At Discontinuity Evaluate To
- Syntax
At Discontinuity Evaluate To
- Summary
Control the behavior of a piecewise constant function when evaluated at a discontinuity (plus or minus a small tolerance). The default behavior is to take the value to the right of the discontinuity. If “Left” is specified, the value to the left of the discontinuity is taken instead.
Parameter |
Value |
Default |
|---|---|---|
{left | right} |
– |
Column Titles
- Syntax
Column Titles Titles1 Titles2…
- Summary
Name the columns (and also defined the expected number of columns) for Multicolumn Piecewise Linear tabular data.
Parameter |
Value |
Default |
|---|---|---|
string1 string2… |
– |
Data File
- Syntax
Data File = filename [ X From Column xcol Y From Column ycol ]
- Summary
Function will read tabular data from an input file. Compatible with the piecewise linear function type. File must be of form like:
--------------------------------------------- \# EXAMPLE FILE 1.099 1191 1.101 221 5.9011 133.1 ---------------------------------------------
Lines headed by a # are considered comments and will be ignored. Data itself must by in tabular columns separated by whitespace or commas.
Parameter |
Value |
Default |
|---|---|---|
filename |
string |
– |
Debug
- Syntax
Debug
- Summary
Prints functions to the log file.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{off | on} |
– |
Differentiate Expression
- Syntax
Differentiate Expression Expr
- Summary
Specifies the expression of derivative of evaluation expression.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
(expression) |
– |
Evaluate Expression
- Syntax
Evaluate Expression Expr
- Summary
Specifies the expression to evaluate.
- Description
This will greatly help with manufactured solutions, and be useful for other purposes as well. This uses the STK expression evaluator to evaluate the provided string. See the STK user manual for details about valid syntax.
begin definition for function pressure type is analytic evaluate expression is "x <= 0.0 ? 0.0 : (x < 0.5 ? x*200.0 : (x < 1.0 ? (x - 0.5) *50.0 + 100.00 : 150.0))" end definition for function pressure
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
(expression) |
– |
Evaluate From
- Syntax
Evaluate From x0 To x1 By Dx
- Summary
Specifies the range and evaluation interval.
Parameter |
Value |
Default |
|---|---|---|
x0 |
real |
– |
x1 |
real |
– |
Dx |
real |
– |
Expression Variable:
- Syntax
Expression Variable: Expr = value_var_name… [ State ]
- Summary
Specifies what the arguments of an expression correspond to. For example:
BEGIN DEFINITION FOR FUNCTION dx_shear TYPE = ANALYTIC EXPRESSION variable: mx = NODAL model_coordinates(x) EXPRESSION variable: my = NODAL model_coordinates(y) EXPRESSION variable: time = GLOBAL time EVALUATE EXPRESSION = "(time/{termTime})*({stretchx}*(mx - 0.0) + ((my-0.25)/0.5)*{stretchxy})" END
Assuming the above expression is being evaluated on nodes the current values for x and y model coordinates would be placed into mx and my and current analysis time placed into time
Parameter |
Value |
Default |
|---|---|---|
Expr |
string |
– |
{element | element_sym_tensor | element_tensor | element_vector | face | global | nodal | nodal_sym_tensor | nodal_tensor | nodal_vector} |
– |
|
string… |
– |
Expression Variable:
- Syntax
Expression Variable: Expr
- Summary
Specifies what the arguments of an expression exists, but does not define it correspond to. For example:
BEGIN DEFINITION FOR FUNCTION dx_shear TYPE = ANALYTIC EXPRESSION variable: mx EXPRESSION variable: my EXPRESSION variable: time EVALUATE EXPRESSION = "(time/{termTime})*({stretchx}*(mx - 0.0) + ((my-0.25)/0.5)*{stretchxy})" END
Call function must determine what each variable actually is is based off of the string name
Parameter |
Value |
Default |
|---|---|---|
Expr |
string |
– |
Field Types
- Syntax
Field Types Titles1 Titles2…
- Summary
The field types (GLOBAL/NODE/ELEMENT) that correspond to the column titles listed for the multicolumn data.
Parameter |
Value |
Default |
|---|---|---|
string1 string2… |
– |
Ordinate
- Syntax
Ordinate Name…
- Summary
Specifies a string identifier for the dependent variable. Optionally specify a scale and/or offset value which transforms the ordinate values into scaled_ordinate = scale * ( ordinate + ordinate_offset).
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
string… |
– |
Ordinate Offset
- Syntax
Ordinate Offset Ordinate_offset
- Summary
Alias for Y OFFSET
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
Ordinate_offset |
real |
– |
Ordinate Scale
- Syntax
Ordinate Scale Ordinate_scale
- Summary
Alias for Y SCALE
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
Ordinate_scale |
real |
– |
Scale By
- Syntax
Scale By x
- Summary
Specifies a scale factor to be applied.
Parameter |
Value |
Default |
|---|---|---|
x |
real |
– |
Type
- Syntax
Type
- Summary
Specifies the type of function.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{analytic | constant | multicolumn piecewise linear | piecewise analytic | piecewise constant | piecewise linear | piecewise multivariate | xtable} |
– |
X Offset
- Syntax
X Offset X_offset
- Summary
Sets an offset for the x-axis
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
X_offset |
real |
– |
X Scale
- Syntax
X Scale X_scale
- Summary
Sets a scale factor for the x-axis
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
X_scale |
real |
– |
Y Offset
- Syntax
Y Offset Y_offset
- Summary
Sets an offset for the y-axis
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
Y_offset |
real |
– |
Y Scale
- Syntax
Y Scale Y_scale
- Summary
Sets a scale factor for the y-axis
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
Y_scale |
real |
– |
7.10.2. Values
- Scope
Definition For Function
- Summary
Lists the values of the function. The values should be listed one pair per line, independent variable first, with whitespace or comma as a separator.
begin Values empty Xyvalues... end Values empty
7.10.2.1. Line Commands
Xyvalues
- Syntax
Xyvalues Xyvalues…
- Summary
For a piecewise linear function, lists an x-y pair for the nth interpolation point.
Parameter |
Value |
Default |
|---|---|---|
real… |
– |