StressBeam class

The StressBeam class gives you access to define initial stress beam cards in PRIMER. More...

The PRIMER JavaScript API provides many class constants, properties and methods. For Arup to be able to extend and enhance the API in the future any constant, property or method names beginning with a lowercase or uppercase letter are reserved.
If you need to add your own properties or methods to one of the existing classes then to avoid any potential future conflict you should ensure that the name begins with either an underscore (_) or a dollar sign ($) or the name is prefixed with your own unique identifier.
For example if company 'ABC' need to add a property called 'example' then to avoid any potential future conflict use one of:

Class functions

Member functions

StressBeam constants

Constants for Coordinate system for stresses

Name Description
StressBeam.GLOBAL_CSYS Stress components are defined in the global coordinate system.
StressBeam.LOCAL_CSYS Stress components are defined in the local beam system.

Constants for Number of Axes

Name Description
StressBeam.NAXES_0 Number of variables giving beam local axes is zero.
StressBeam.NAXES_12 Number of variables giving beam local axes is 12.

Constants for Types of Rule

Name Description
StressBeam.RULE_GUASS_QUADRATURE_NPTS_1 Type of Rule is 1 x 1 Gauss quadrature. Rule value is 1. Also sets npts to 1.
StressBeam.RULE_GUASS_QUADRATURE_NPTS_16 Type of Rule is 4 x 4 Gauss quadrature. Rule value is 5. Also sets npts to 16.
StressBeam.RULE_GUASS_QUADRATURE_NPTS_4 Type of Rule is 2 x 2 Gauss quadrature. Rule value is 2. Also sets npts to 4.
StressBeam.RULE_GUASS_QUADRATURE_NPTS_9 Type of Rule is 3 x 3 Gauss quadrature. Rule value is 3. Also sets npts to 9.
StressBeam.RULE_LOBATTO_QUADRATURE_NPTS_9 Type of Rule is 3 x 3 Lobatto quadrature. Rule value is 4. Also sets npts to 9.

StressBeam properties

Name Type Description
eid integer Beam Element ID
exists (read only) logical true if initial stress beam exists, false if referred to but not defined.
include integer The Include file number that the initial stress beam is in.
large logical true if large format, false otherwise.
local constant Coordinate system for stresses. Valid values are: StressBeam.GLOBAL_CSYS or StressBeam.LOCAL_CSYS.
model (read only) integer The Model number that the initial stress beam is in.
naxes constant Number of variables giving beam local axes. Valid values are: StressBeam.NAXES_0 or StressBeam.NAXES_12.
nhisv integer Number of additional history variables (only used if large is TRUE).
npts integer Number of integration points. The property value is set automatically if the rule is NOT set to a IntegrationBeam label.
rule integer Integration rule type number. Valid values are: StressBeam.RULE_GUASS_QUADRATURE_NPTS_1, StressBeam.RULE_GUASS_QUADRATURE_NPTS_4, StressBeam.RULE_GUASS_QUADRATURE_NPTS_9, StressBeam.RULE_LOBATTO_QUADRATURE_NPTS_9, StressBeam.RULE_GUASS_QUADRATURE_NPTS_16 or a IntegrationBeam label as a negative value.

Detailed Description

The StressBeam class allows you to create, modify, edit and manipulate *INITIAL_STRESS_BEAM cards. See the documentation below for more details.

Constructor

new StressBeam(Model[Model], eid[integer], rule[integer], large (optional)[boolean], nhisv (optional)[integer], local (optional)[constant], naxes (optional)[constant])

Description

Create a new StressBeam object.

Arguments

  • Model (Model)

    Model that stress_beam will be created in

  • eid (integer)

    Beam Element ID

  • rule (integer)

    Integration rule type number. Valid values are: StressBeam.RULE_GUASS_QUADRATURE_NPTS_1, StressBeam.RULE_GUASS_QUADRATURE_NPTS_4, StressBeam.RULE_GUASS_QUADRATURE_NPTS_9, StressBeam.RULE_LOBATTO_QUADRATURE_NPTS_9, StressBeam.RULE_GUASS_QUADRATURE_NPTS_16 or a IntegrationBeam label as a negative value.

  • large (optional) (boolean)

    true if large format, false otherwise.

  • nhisv (optional) (integer)

    Number of additional history variables (only used if large is TRUE).

  • local (optional) (constant)

    Coordinate system for stresses. Valid values are: StressBeam.GLOBAL_CSYS or StressBeam.LOCAL_CSYS.

  • naxes (optional) (constant)

    Number of variables giving beam local axes. Valid values are: StressBeam.NAXES_0 or StressBeam.NAXES_12.

    Returns

    StressBeam object

    Return type

    StressBeam

    Example

    To create a new stress_beam in model m, for beam element id 100 with 4 number of integration points and number of history variables as 4:

    var s = new StressBeam(m, 100, StressBeam.RULE_GUASS_QUADRATURE_NPTS_4, true, 4);

    Details of functions

    AssociateComment(Comment[Comment])

    Description

    Associates a comment with a initial stress beam.

    Arguments

  • Comment (Comment)

    Comment that will be attached to the initial stress beam

    Returns

    No return value

    Example

    To associate comment c to the initial stress beam isb:

    isb.AssociateComment(c);


    ClearFlag(flag[Flag])

    Description

    Clears a flag on the initial stress beam.

    Arguments

  • flag (Flag)

    Flag to clear on the initial stress beam

    Returns

    No return value

    Example

    To clear flag f for initial stress beam isb:

    isb.ClearFlag(f);


    Copy(range (optional)[boolean])

    Description

    Copies the initial stress beam. The target include of the copied initial stress beam can be set using Options.copy_target_include.

    Arguments

  • range (optional) (boolean)

    If you want to keep the copied item in the range specified for the current include. Default value is false. To set current include, use Include.MakeCurrentLayer().

    Returns

    StressBeam object

    Return type

    StressBeam

    Example

    To copy initial stress beam isb into initial stress beam z:

    var z = isb.Copy();


    DetachComment(Comment[Comment])

    Description

    Detaches a comment from a initial stress beam.

    Arguments

  • Comment (Comment)

    Comment that will be detached from the initial stress beam

    Returns

    No return value

    Example

    To detach comment c from the initial stress beam isb:

    isb.DetachComment(c);


    Error(message[string], details (optional)[string])

    Description

    Adds an error for initial stress beam. For more details on checking see the Check class.

    Arguments

  • message (string)

    The error message to give

  • details (optional) (string)

    An optional detailed error message

    Returns

    No return value

    Example

    To add an error message "My custom error" for initial stress beam isb:

    isb.Error("My custom error");


    First(Model[Model]) [static]

    Description

    Returns the first initial stress beam in the model.

    Arguments

  • Model (Model)

    Model to get first initial stress beam in

    Returns

    StressBeam object (or null if there are no initial stress beams in the model).

    Return type

    StressBeam

    Example

    To get the first initial stress beam in model m:

    var isb = StressBeam.First(m);


    FlagAll(Model[Model], flag[Flag]) [static]

    Description

    Flags all of the initial stress beams in the model with a defined flag.

    Arguments

  • Model (Model)

    Model that all initial stress beams will be flagged in

  • flag (Flag)

    Flag to set on the initial stress beams

    Returns

    No return value

    Example

    To flag all of the initial stress beams with flag f in model m:

    StressBeam.FlagAll(m, f);


    Flagged(flag[Flag])

    Description

    Checks if the initial stress beam is flagged or not.

    Arguments

  • flag (Flag)

    Flag to test on the initial stress beam

    Returns

    true if flagged, false if not.

    Return type

    Boolean

    Example

    To check if initial stress beam isb has flag f set on it:

    if (isb.Flagged(f) ) do_something...


    ForEach(Model[Model], func[function], extra (optional)[any]) [static]

    Description

    Calls a function for each initial stress beam in the model.
    Note that ForEach has been designed to make looping over initial stress beams as fast as possible and so has some limitations.
    Firstly, a single temporary StressBeam object is created and on each function call it is updated with the current initial stress beam data. This means that you should not try to store the StressBeam object for later use (e.g. in an array) as it is temporary.
    Secondly, you cannot create new initial stress beams inside a ForEach loop.

    Arguments

  • Model (Model)

    Model that all initial stress beams are in

  • func (function)

    Function to call for each initial stress beam

  • extra (optional) (any)

    An optional extra object/array/string etc that will appended to arguments when calling the function

    Returns

    No return value

    Example

    To call function test for all of the initial stress beams in model m:

    StressBeam.ForEach(m, test);
    function test(isb)
    {
    // isb is StressBeam object
    }

    To call function test for all of the initial stress beams in model m with optional object:

    var data = { x:0, y:0 };
    StressBeam.ForEach(m, test, data);
    function test(isb, extra)
    {
    // isb is StressBeam object
    // extra is data
    }


    GetAll(Model[Model], property (optional)[string]) [static]

    Description

    Returns an array of StressBeam objects or properties for all of the initial stress beams in a model in PRIMER. If the optional property argument is not given then an array of StressBeam objects is returned. If the property argument is given, that property value for each initial stress beam is returned in the array instead of a StressBeam object

    Arguments

  • Model (Model)

    Model to get initial stress beams from

  • property (optional) (string)

    Name for property to get for all initial stress beams in the model

    Returns

    Array of StressBeam objects or properties

    Return type

    Array

    Example

    To make an array of StressBeam objects for all of the initial stress beams in model m:

    var a = StressBeam.GetAll(m);

    To return an array containing the value of property 'foo' (for example 'x' for a node) for each initial stress beam in model m:

    var a = StressBeam.GetAll(m, 'foo');


    GetComments()

    Description

    Extracts the comments associated to a initial stress beam.

    Arguments

    No arguments

    Returns

    Array of Comment objects (or null if there are no comments associated to the node).

    Return type

    Array

    Example

    To get the array of comments associated to the initial stress beam isb:

    var comm_array = isb.GetComments();


    GetFlagged(Model[Model], flag[Flag], property (optional)[string]) [static]

    Description

    Returns an array of StressBeam objects for all of the flagged initial stress beams in a model in PRIMER If the optional property argument is not given then an array of StressBeam objects is returned. If the property argument is given, then that property value for each initial stress beam is returned in the array instead of a StressBeam object

    Arguments

  • Model (Model)

    Model to get initial stress beams from

  • flag (Flag)

    Flag set on the initial stress beams that you want to retrieve

  • property (optional) (string)

    Name for property to get for all flagged initial stress beams in the model

    Returns

    Array of StressBeam objects or properties

    Return type

    Array

    Example

    To make an array of StressBeam objects for all of the initial stress beams in model m flagged with f:

    var isb = StressBeam.GetFlagged(m, f);

    To return an array containing the value of property 'foo' (for example 'x' for a node) for all of the initial stress beams in model m flagged with f:

    var a = StressBeam.GetFlagged(m, f, 'foo');


    GetFromID(Model[Model], number[integer]) [static]

    Description

    Returns the StressBeam object for a initial stress beam ID.

    Arguments

  • Model (Model)

    Model to find the initial stress beam in

  • number (integer)

    number of the initial stress beam you want the StressBeam object for

    Returns

    StressBeam object (or null if initial stress beam does not exist).

    Return type

    StressBeam

    Example

    To get the StressBeam object for initial stress beam 100 in model m

    var isb = StressBeam.GetFromID(m, 100);


    GetIntegrationPoint(index[integer])

    Description

    Returns the data for a specific integration point as an array. For each integration point there will be 7 values if large is FALSE. For each integration point there will be (7 + nhisv) values if large is TRUE. There are npts integration points.

    Arguments

  • index (integer)

    Index you want the integration point data for. Note that indices start at 0.

    Returns

    An array containing the integration point data.

    Return type

    Array

    Example

    To get the data for the 3rd integration point for initial stress beam isb:

    var data = isb.GetIntegrationPoint(2);


    GetLocalAxesValues()

    Description

    Returns the 12 axes values as an array. The axes values are valid only if the naxes is set to StressBeam.NAXES_12.

    Arguments

    No arguments

    Returns

    An array containing the axes values.

    Return type

    Array

    Example

    To get the data for the axes values for initial stress beam isb:

    var data = isb.GetLocalAxesValues();


    GetParameter(prop[string])

    Description

    Checks if a StressBeam property is a parameter or not. Note that object properties that are parameters are normally returned as the integer or float parameter values as that is virtually always what the user would want. For this function to work the JavaScript interpreter must use the parameter name instead of the value. This can be done by setting the Options.property_parameter_names option to true before calling the function and then resetting it to false afterwards.. This behaviour can also temporarily be switched by using the StressBeam.ViewParameters() method and 'method chaining' (see the examples below).

    Arguments

  • prop (string)

    initial stress beam property to get parameter for

    Returns

    Parameter object if property is a parameter, null if not.

    Return type

    Parameter

    Example

    To check if StressBeam property isb.example is a parameter:

    Options.property_parameter_names = true;
    if (isb.GetParameter(isb.example) ) do_something...
    Options.property_parameter_names = false;

    To check if StressBeam property isb.example is a parameter by using the GetParameter method:

    if (isb.ViewParameters().GetParameter(isb.example) ) do_something...


    Keyword()

    Description

    Returns the keyword for this initial stress beam (*INITIAL_STRESS_BEAM). Note that a carriage return is not added. See also StressBeam.KeywordCards()

    Arguments

    No arguments

    Returns

    string containing the keyword.

    Return type

    String

    Example

    To get the keyword for stress_beam i:

    var key = i.Keyword();


    KeywordCards()

    Description

    Returns the keyword cards for the initial stress beam. Note that a carriage return is not added. See also StressBeam.Keyword()

    Arguments

    No arguments

    Returns

    string containing the cards.

    Return type

    String

    Example

    To get the cards for stress_beam i:

    var cards = i.KeywordCards();


    Last(Model[Model]) [static]

    Description

    Returns the last initial stress beam in the model.

    Arguments

  • Model (Model)

    Model to get last initial stress beam in

    Returns

    StressBeam object (or null if there are no initial stress beams in the model).

    Return type

    StressBeam

    Example

    To get the last initial stress beam in model m:

    var isb = StressBeam.Last(m);


    Next()

    Description

    Returns the next initial stress beam in the model.

    Arguments

    No arguments

    Returns

    StressBeam object (or null if there are no more initial stress beams in the model).

    Return type

    StressBeam

    Example

    To get the initial stress beam in model m after initial stress beam isb:

    var isb = isb.Next();


    Pick(prompt[string], limit (optional)[Model or Flag], modal (optional)[boolean], button text (optional)[string]) [static]

    Description

    Allows the user to pick a initial stress beam.

    Arguments

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

    If the argument is a Model then only initial stress beams from that model can be picked. If the argument is a Flag then only initial stress beams that are flagged with limit can be selected. If omitted, or null, any initial stress beams from any model can be selected. from any model.

  • modal (optional) (boolean)

    If picking is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the pick will be modal.

  • button text (optional) (string)

    By default the window with the prompt will have a button labelled 'Cancel' which if pressed will cancel the pick and return null. If you want to change the text on the button use this argument. If omitted 'Cancel' will be used.

    Returns

    StressBeam object (or null if not picked)

    Return type

    StressBeam

    Example

    To pick a initial stress beam from model m giving the prompt 'Pick initial stress beam from screen':

    var isb = StressBeam.Pick('Pick initial stress beam from screen', m);


    Previous()

    Description

    Returns the previous initial stress beam in the model.

    Arguments

    No arguments

    Returns

    StressBeam object (or null if there are no more initial stress beams in the model).

    Return type

    StressBeam

    Example

    To get the initial stress beam in model m before initial stress beam isb:

    var isb = isb.Previous();


    Select(flag[Flag], prompt[string], limit (optional)[Model or Flag], modal (optional)[boolean]) [static]

    Description

    Allows the user to select initial stress beams using standard PRIMER object menus.

    Arguments

  • flag (Flag)

    Flag to use when selecting initial stress beams

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

    If the argument is a Model then only initial stress beams from that model can be selected. If the argument is a Flag then only initial stress beams that are flagged with limit can be selected (limit should be different to flag). If omitted, or null, any initial stress beams can be selected. from any model.

  • modal (optional) (boolean)

    If selection is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the selection will be modal.

    Returns

    Number of initial stress beams selected or null if menu cancelled

    Return type

    Number

    Example

    To select initial stress beams from model m, flagging those selected with flag f, giving the prompt 'Select initial stress beams':

    StressBeam.Select(f, 'Select initial stress beams', m);

    To select initial stress beams, flagging those selected with flag f but limiting selection to initial stress beams flagged with flag l, giving the prompt 'Select initial stress beams':

    StressBeam.Select(f, 'Select initial stress beams', l);


    SetFlag(flag[Flag])

    Description

    Sets a flag on the initial stress beam.

    Arguments

  • flag (Flag)

    Flag to set on the initial stress beam

    Returns

    No return value

    Example

    To set flag f for initial stress beam isb:

    isb.SetFlag(f);


    SetIntegrationPoint(index[integer], data[Array of data])

    Description

    Set the data for a specific integration point. For each integration point there will be 7 values if large is FALSE. For each integration point there will be (7 + nhisv) values if large is TRUE. There are npts integration points.

    Arguments

  • index (integer)

    Index you want the integration point data for. Note that indices start at 0.

  • data (Array of data)

    Array containing the integration point data. The array length should be 7 if large is FALSE. The array length should be (7 + nhisv) if large is TRUE.

    Returns

    No return value.

    Example

    To set the 3rd integration point data for initial stress beam isb to the values in array adata:

    isb.SetIntegrationPoint(2, adata);


    SetLocalAxesValues(data[Array of data])

    Description

    Sets the 12 axes values as an array. The axes values are set only if the naxes is set to StressBeam.NAXES_12.

    Arguments

  • data (Array of data)

    Array containing the axes values data. The array length should be 12.

    Returns

    No return value

    Example

    To set the data for the axes values for initial stress beam isb:

    var data = isb.SetLocalAxesValues(data);


    Sketch(redraw (optional)[boolean])

    Description

    Sketches the initial stress beam. The initial stress beam will be sketched until you either call StressBeam.Unsketch(), StressBeam.UnsketchAll(), Model.UnsketchAll(), or delete the model

    Arguments

  • redraw (optional) (boolean)

    If model should be redrawn or not after the initial stress beam is sketched. If omitted redraw is true. If you want to sketch several initial stress beams and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To sketch initial stress beam isb:

    isb.Sketch();


    SketchFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]

    Description

    Sketches all of the flagged initial stress beams in the model. The initial stress beams will be sketched until you either call StressBeam.Unsketch(), StressBeam.UnsketchFlagged(), Model.UnsketchAll(), or delete the model

    Arguments

  • Model (Model)

    Model that all the flagged initial stress beams will be sketched in

  • flag (Flag)

    Flag set on the initial stress beams that you want to sketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the initial stress beams are sketched. If omitted redraw is true. If you want to sketch flagged initial stress beams several times and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To sketch all initial stress beams flagged with flag in model m:

    StressBeam.SketchFlagged(m, flag);


    Total(Model[Model], exists (optional)[boolean]) [static]

    Description

    Returns the total number of initial stress beams in the model.

    Arguments

  • Model (Model)

    Model to get total for

  • exists (optional) (boolean)

    true if only existing initial stress beams should be counted. If false or omitted referenced but undefined initial stress beams will also be included in the total.

    Returns

    number of initial stress beams

    Return type

    Number

    Example

    To get the total number of initial stress beams in model m:

    var total = StressBeam.Total(m);


    UnflagAll(Model[Model], flag[Flag]) [static]

    Description

    Unsets a defined flag on all of the initial stress beams in the model.

    Arguments

  • Model (Model)

    Model that the defined flag for all initial stress beams will be unset in

  • flag (Flag)

    Flag to unset on the initial stress beams

    Returns

    No return value

    Example

    To unset the flag f on all the initial stress beams in model m:

    StressBeam.UnflagAll(m, f);


    Unsketch(redraw (optional)[boolean])

    Description

    Unsketches the initial stress beam.

    Arguments

  • redraw (optional) (boolean)

    If model should be redrawn or not after the initial stress beam is unsketched. If omitted redraw is true. If you want to unsketch several initial stress beams and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To unsketch initial stress beam isb:

    isb.Unsketch();


    UnsketchAll(Model[Model], redraw (optional)[boolean]) [static]

    Description

    Unsketches all initial stress beams.

    Arguments

  • Model (Model)

    Model that all initial stress beams will be unblanked in

  • redraw (optional) (boolean)

    If model should be redrawn or not after the initial stress beams are unsketched. If omitted redraw is true. If you want to unsketch several things and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To unsketch all initial stress beams in model m:

    StressBeam.UnsketchAll(m);


    UnsketchFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]

    Description

    Unsketches all flagged initial stress beams in the model.

    Arguments

  • Model (Model)

    Model that all initial stress beams will be unsketched in

  • flag (Flag)

    Flag set on the initial stress beams that you want to unsketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the initial stress beams are unsketched. If omitted redraw is true. If you want to unsketch several things and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To unsketch all initial stress beams flagged with flag in model m:

    StressBeam.UnsketchAll(m, flag);


    ViewParameters()

    Description

    Object properties that are parameters are normally returned as the integer or float parameter values as that is virtually always what the user would want. This function temporarily changes the behaviour so that if a property is a parameter the parameter name is returned instead. This can be used with 'method chaining' (see the example below) to make sure a property argument is correct.

    Arguments

    No arguments

    Returns

    StressBeam object.

    Return type

    StressBeam

    Example

    To check if StressBeam property isb.example is a parameter by using the StressBeam.GetParameter() method:

    if (isb.ViewParameters().GetParameter(isb.example) ) do_something...


    Warning(message[string], details (optional)[string])

    Description

    Adds a warning for initial stress beam. For more details on checking see the Check class.

    Arguments

  • message (string)

    The warning message to give

  • details (optional) (string)

    An optional detailed warning message

    Returns

    No return value

    Example

    To add a warning message "My custom warning" for initial stress beam isb:

    isb.Warning("My custom warning");


    Xrefs()

    Description

    Returns the cross references for this initial stress beam.

    Arguments

    No arguments

    Returns

    Xrefs object.

    Return type

    Xrefs

    Example

    To get the cross references for initial stress beam isb:

    var xrefs = isb.Xrefs();


    toString()

    Description

    Creates a string containing the initial stress beam data in keyword format. Note that this contains the keyword header and the keyword cards. See also StressBeam.Keyword() and StressBeam.KeywordCards().

    Arguments

    No arguments

    Returns

    string

    Return type

    String

    Example

    To get data for stress_beam i in keyword format

    var s = i.toString();