IntegrationBeam (IntB) class

The IntegrationBeam class gives you access to integration 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

IntegrationBeam properties

Name Type Description
d1 real Cross-section dimension.
d2 real Cross-section dimension.
d3 real Cross-section dimension.
d4 real Cross-section dimension.
d5 real Cross-section dimension.
d6 real Cross-section dimension.
exists (read only) logical true if integration beam exists, false if referred to but not defined.
icst integer Standard cross section type. If icst is non-zero, nip should be zero and vice-versa.
include integer The Include file number that the integration beam is in.
irid integer Integration rule id.
k integer Integration refinement parameter for standard cross section types.
model (read only) integer The Model number that the integration beam is in.
nip integer Number of integration points. If nip is non-zero, icst should be zero and vice-versa.
pid Part Optional part ID if different from the PID specified on the element card.
ra real Relative area of cross section.
s real Normalized s coordinate of integration point.
sref real Location of reference surface normal to s, for the Hughes-Liu beam only.
t real Normalized t coordinate of integration point.
tref real Location of reference surface normal to t, for the Hughes-Liu beam only.
wf real Weighting factor (area associated with integration point divided by actual cross sectional area).

Detailed Description

The IntegrationBeam class allows you to create, modify, edit and manipulate integration beam cards. See the documentation below for more details.

For convenience "IntB" can also be used as the class name instead of "IntegrationBeam".

Constructor

new IntegrationBeam(Model[Model], irid[integer], nip (optional)[integer], ra (optional)[real], icst (optional)[integer], k (optional)[integer])

Description

Create a new IntegrationBeam object.

Arguments

  • Model (Model)

    Model that intb will be created in.

  • irid (integer)

    Integration_Beam ID.

  • nip (optional) (integer)

    Number of integration points. If omitted nip will be 0. If nip is non-zero, icst should be zero and vice-versa.

  • ra (optional) (real)

    Relative area of cross section. If omitted ra will be 0.

  • icst (optional) (integer)

    Standard cross section type. If omitted icst will be 0. If icst is non-zero, nip should be zero and vice-versa.

  • k (optional) (integer)

    Integration refinement parameter for standard cross section types. If omitted k will be 0.

    Returns

    IntegrationBeam object

    Return type

    IntegrationBeam

    Example

    To create a new intgb 1000 in model m with the following specifiction: irid, nip, ra, icst, k are 1000, 2, 0.1, 3, 5 respectively

    var w = new IntegrationBeam(m, 1000, 2, 0.1, 3, 5);

    Details of functions

    AssociateComment(Comment[Comment])

    Description

    Associates a comment with a integration beam.

    Arguments

  • Comment (Comment)

    Comment that will be attached to the integration beam

    Returns

    No return value

    Example

    To associate comment c to the integration beam ib:

    ib.AssociateComment(c);


    Browse(modal (optional)[boolean])

    Description

    Starts an edit panel in Browse mode.

    Arguments

  • modal (optional) (boolean)

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

    Returns

    no return value

    Example

    To Browse integration beam ib:

    ib.Browse();


    ClearFlag(flag[Flag])

    Description

    Clears a flag on the integration beam.

    Arguments

  • flag (Flag)

    Flag to clear on the integration beam

    Returns

    No return value

    Example

    To clear flag f for integration beam ib:

    ib.ClearFlag(f);


    Copy(range (optional)[boolean])

    Description

    Copies the integration beam. The target include of the copied integration 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

    IntegrationBeam object

    Return type

    IntegrationBeam

    Example

    To copy integration beam ib into integration beam z:

    var z = ib.Copy();


    Create(Model[Model], modal (optional)[boolean]) [static]

    Description

    Starts an interactive editing panel to create a integration beam

    Arguments

  • Model (Model)

    Model that the integration beam will be created in.

  • modal (optional) (boolean)

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

    Returns

    IntegrationBeam object (or null if not made).

    Return type

    IntegrationBeam

    Example

    To start creating a integration beam in model m:

    var ib = IntegrationBeam.Create(m);


    DetachComment(Comment[Comment])

    Description

    Detaches a comment from a integration beam.

    Arguments

  • Comment (Comment)

    Comment that will be detached from the integration beam

    Returns

    No return value

    Example

    To detach comment c from the integration beam ib:

    ib.DetachComment(c);


    Edit(modal (optional)[boolean])

    Description

    Starts an interactive editing panel.

    Arguments

  • modal (optional) (boolean)

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

    Returns

    no return value

    Example

    To Edit integration beam ib:

    ib.Edit();


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

    Description

    Adds an error for integration 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 integration beam ib:

    ib.Error("My custom error");


    First(Model[Model]) [static]

    Description

    Returns the first integration beam in the model.

    Arguments

  • Model (Model)

    Model to get first integration beam in

    Returns

    IntegrationBeam object (or null if there are no integration beams in the model).

    Return type

    IntegrationBeam

    Example

    To get the first integration beam in model m:

    var ib = IntegrationBeam.First(m);


    FirstFreeLabel(Model[Model], layer (optional)[Include number]) [static]

    Description

    Returns the first free integration beam label in the model. Also see IntegrationBeam.LastFreeLabel(), IntegrationBeam.NextFreeLabel() and Model.FirstFreeItemLabel().

    Arguments

  • Model (Model)

    Model to get first free integration beam label in

  • layer (optional) (Include number)

    Include file (0 for the main file) to search for labels in (Equivalent to First free in layer in editing panels). If omitted the whole model will be used (Equivalent to First free in editing panels).

    Returns

    IntegrationBeam label.

    Return type

    Number

    Example

    To get the first free integration beam label in model m:

    var label = IntegrationBeam.FirstFreeLabel(m);


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

    Description

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

    Arguments

  • Model (Model)

    Model that all integration beams will be flagged in

  • flag (Flag)

    Flag to set on the integration beams

    Returns

    No return value

    Example

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

    IntegrationBeam.FlagAll(m, f);


    Flagged(flag[Flag])

    Description

    Checks if the integration beam is flagged or not.

    Arguments

  • flag (Flag)

    Flag to test on the integration beam

    Returns

    true if flagged, false if not.

    Return type

    Boolean

    Example

    To check if integration beam ib has flag f set on it:

    if (ib.Flagged(f) ) do_something...


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

    Description

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

    Arguments

  • Model (Model)

    Model that all integration beams are in

  • func (function)

    Function to call for each integration 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 integration beams in model m:

    IntegrationBeam.ForEach(m, test);
    function test(ib)
    {
    // ib is IntegrationBeam object
    }

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

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


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

    Description

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

    Arguments

  • Model (Model)

    Model to get integration beams from

  • property (optional) (string)

    Name for property to get for all integration beams in the model

    Returns

    Array of IntegrationBeam objects or properties

    Return type

    Array

    Example

    To make an array of IntegrationBeam objects for all of the integration beams in model m:

    var a = IntegrationBeam.GetAll(m);

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

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


    GetComments()

    Description

    Extracts the comments associated to a integration 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 integration beam ib:

    var comm_array = ib.GetComments();


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

    Description

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

    Arguments

  • Model (Model)

    Model to get integration beams from

  • flag (Flag)

    Flag set on the integration beams that you want to retrieve

  • property (optional) (string)

    Name for property to get for all flagged integration beams in the model

    Returns

    Array of IntegrationBeam objects or properties

    Return type

    Array

    Example

    To make an array of IntegrationBeam objects for all of the integration beams in model m flagged with f:

    var ib = IntegrationBeam.GetFlagged(m, f);

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

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


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

    Description

    Returns the IntegrationBeam object for a integration beam ID.

    Arguments

  • Model (Model)

    Model to find the integration beam in

  • number (integer)

    number of the integration beam you want the IntegrationBeam object for

    Returns

    IntegrationBeam object (or null if integration beam does not exist).

    Return type

    IntegrationBeam

    Example

    To get the IntegrationBeam object for integration beam 100 in model m

    var ib = IntegrationBeam.GetFromID(m, 100);


    GetIntegrationPoint(index[integer])

    Description

    Returns the data for an integration point in *INTEGRATION_BEAM.Note data is only available when NIP>0.

    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 integration beam ib:

    var data = ib.GetIntegrationPoint(2);


    GetNipCard()   [deprecated]

    This function is deprecated in version 11.0. It is only provided to keep old scripts working. We strongly advise against using it in new scripts. Support may be removed in future versions.

    Description

    Please use IntegrationBeam.GetIntegrationPoint() instead.

    Arguments

    No arguments

    Returns

    No return value


    GetParameter(prop[string])

    Description

    Checks if a IntegrationBeam 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 IntegrationBeam.ViewParameters() method and 'method chaining' (see the examples below).

    Arguments

  • prop (string)

    integration beam property to get parameter for

    Returns

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

    Return type

    Parameter

    Example

    To check if IntegrationBeam property ib.example is a parameter:

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

    To check if IntegrationBeam property ib.example is a parameter by using the GetParameter method:

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


    GetSectionData()   [deprecated]

    This function is deprecated in version 11.0. It is only provided to keep old scripts working. We strongly advise against using it in new scripts. Support may be removed in future versions.

    Description

    Use properties d1, d2, sref etc to get the section data.

    Arguments

    No arguments

    Returns

    No return value


    Keyword()

    Description

    Returns the keyword for this intb (*INTEGRATION_BEAM). Note that a carriage return is not added. See also IntegrationBeam.KeywordCards()

    Arguments

    No arguments

    Returns

    string containing the keyword.

    Return type

    String

    Example

    To get the keyword for intb n:

    var key = n.Keyword();


    KeywordCards()

    Description

    Returns the keyword cards for the intb. Note that a carriage return is not added. See also IntegrationBeam.Keyword()

    Arguments

    No arguments

    Returns

    string containing the cards.

    Return type

    String

    Example

    To get the cards for intb n:

    var cards = n.KeywordCards();


    Last(Model[Model]) [static]

    Description

    Returns the last integration beam in the model.

    Arguments

  • Model (Model)

    Model to get last integration beam in

    Returns

    IntegrationBeam object (or null if there are no integration beams in the model).

    Return type

    IntegrationBeam

    Example

    To get the last integration beam in model m:

    var ib = IntegrationBeam.Last(m);


    LastFreeLabel(Model[Model], layer (optional)[Include number]) [static]

    Description

    Returns the last free integration beam label in the model. Also see IntegrationBeam.FirstFreeLabel(), IntegrationBeam.NextFreeLabel() and see Model.LastFreeItemLabel()

    Arguments

  • Model (Model)

    Model to get last free integration beam label in

  • layer (optional) (Include number)

    Include file (0 for the main file) to search for labels in (Equivalent to Highest free in layer in editing panels). If omitted the whole model will be used.

    Returns

    IntegrationBeam label.

    Return type

    Number

    Example

    To get the last free integration beam label in model m:

    var label = IntegrationBeam.LastFreeLabel(m);


    Next()

    Description

    Returns the next integration beam in the model.

    Arguments

    No arguments

    Returns

    IntegrationBeam object (or null if there are no more integration beams in the model).

    Return type

    IntegrationBeam

    Example

    To get the integration beam in model m after integration beam ib:

    var ib = ib.Next();


    NextFreeLabel(Model[Model], layer (optional)[Include number]) [static]

    Description

    Returns the next free (highest+1) integration beam label in the model. Also see IntegrationBeam.FirstFreeLabel(), IntegrationBeam.LastFreeLabel() and Model.NextFreeItemLabel()

    Arguments

  • Model (Model)

    Model to get next free integration beam label in

  • layer (optional) (Include number)

    Include file (0 for the main file) to search for labels in (Equivalent to Highest+1 in layer in editing panels). If omitted the whole model will be used (Equivalent to Highest+1 in editing panels).

    Returns

    IntegrationBeam label.

    Return type

    Number

    Example

    To get the next free integration beam label in model m:

    var label = IntegrationBeam.NextFreeLabel(m);


    Previous()

    Description

    Returns the previous integration beam in the model.

    Arguments

    No arguments

    Returns

    IntegrationBeam object (or null if there are no more integration beams in the model).

    Return type

    IntegrationBeam

    Example

    To get the integration beam in model m before integration beam ib:

    var ib = ib.Previous();


    RenumberAll(Model[Model], start[integer]) [static]

    Description

    Renumbers all of the integration beams in the model.

    Arguments

  • Model (Model)

    Model that all integration beams will be renumbered in

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

    To renumber all of the integration beams in model m, from 1000000:

    IntegrationBeam.RenumberAll(m, 1000000);


    RenumberFlagged(Model[Model], flag[Flag], start[integer]) [static]

    Description

    Renumbers all of the flagged integration beams in the model.

    Arguments

  • Model (Model)

    Model that all the flagged integration beams will be renumbered in

  • flag (Flag)

    Flag set on the integration beams that you want to renumber

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

    To renumber all of the integration beams in model m flagged with f, from 1000000:

    IntegrationBeam.RenumberFlagged(m, f, 1000000);


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

    Description

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

    Arguments

  • flag (Flag)

    Flag to use when selecting integration 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 integration beams from that model can be selected. If the argument is a Flag then only integration beams that are flagged with limit can be selected (limit should be different to flag). If omitted, or null, any integration 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 integration beams selected or null if menu cancelled

    Return type

    Number

    Example

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

    IntegrationBeam.Select(f, 'Select integration beams', m);

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

    IntegrationBeam.Select(f, 'Select integration beams', l);


    SetFlag(flag[Flag])

    Description

    Sets a flag on the integration beam.

    Arguments

  • flag (Flag)

    Flag to set on the integration beam

    Returns

    No return value

    Example

    To set flag f for integration beam ib:

    ib.SetFlag(f);


    SetIntegrationPoint(index[integer], s[real], t[real], wf[real], pid(optional)[integer])

    Description

    Sets the integration point data for an *INTEGRATION_BEAM.

    Arguments

  • index (integer)

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

  • s (real)

    s coordinate of integration point in range -1 to 1.

  • t (real)

    s coordinate of integration point in range -1 to 1.

  • wf (real)

    Weighting factor, area associated with the integration point divided by actual beam cross sectional area.

  • pid(optional) (integer)

    Optional part ID if different from the PID specified on the element card.

    Returns

    No return value.

    Example

    To set the 4th integration point for *INTEGRATION_BEAM ib to the following specifiction: s, t, wf, pid are 0.1, 0.2, 0.3, 1 respectively

    ib.SetIntegrationPoint(3, 0.1, 0.2, 0.3, 1);


    SetNipCard()   [deprecated]

    This function is deprecated in version 11.0. It is only provided to keep old scripts working. We strongly advise against using it in new scripts. Support may be removed in future versions.

    Description

    Please use IntegrationBeam.SetIntegrationPoint() instead.

    Arguments

    No arguments

    Returns

    No return value


    SetSectionData()   [deprecated]

    This function is deprecated in version 11.0. It is only provided to keep old scripts working. We strongly advise against using it in new scripts. Support may be removed in future versions.

    Description

    Use properties d1, d2, sref etc to set the section data.

    Arguments

    No arguments

    Returns

    No return value


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

    Description

    Returns the total number of integration beams in the model.

    Arguments

  • Model (Model)

    Model to get total for

  • exists (optional) (boolean)

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

    Returns

    number of integration beams

    Return type

    Number

    Example

    To get the total number of integration beams in model m:

    var total = IntegrationBeam.Total(m);


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

    Description

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

    Arguments

  • Model (Model)

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

  • flag (Flag)

    Flag to unset on the integration beams

    Returns

    No return value

    Example

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

    IntegrationBeam.UnflagAll(m, f);


    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

    IntegrationBeam object.

    Return type

    IntegrationBeam

    Example

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

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


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

    Description

    Adds a warning for integration 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 integration beam ib:

    ib.Warning("My custom warning");


    Xrefs()

    Description

    Returns the cross references for this integration beam.

    Arguments

    No arguments

    Returns

    Xrefs object.

    Return type

    Xrefs

    Example

    To get the cross references for integration beam ib:

    var xrefs = ib.Xrefs();


    toString()

    Description

    Creates a string containing the intb data in keyword format. Note that this contains the keyword header and the keyword cards. See also IntegrationBeam.Keyword() and IntegrationBeam.KeywordCards().

    Arguments

    No arguments

    Returns

    string

    Return type

    String

    Example

    To get data for intb n in keyword format

    var s = n.toString();