IntegrationShell (IntS) class

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

IntegrationShell properties

Name Type Description
esop integer Equal spacing of integration points option.
exists (read only) logical true if integration shell exists, false if referred to but not defined.
failopt integer Treatment of failure when mixing different constitutive types.
include integer The Include file number that the integration shell is in.
irid integer Integration rule id.
model (read only) integer The Model number that the integration shell is in.
nip integer Number of integration points.
pid Part Optional part ID if different from the PID specified on the element card.
s real Coordinate of integration point in range -1 to 1.
wf real Weighting factor (thickness associated with integration point divided by actual shell thickness).

Detailed Description

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

For convenience "IntS" can also be used as the class name instead of "IntegrationShell".

Constructor

new IntegrationShell(Model[Model], irid[integer], nip[integer], esop (optional)[integer], failopt (optional)[integer])

Description

Create a new IntegrationShell object.

Arguments

  • Model (Model)

    Model that ints will be created in.

  • irid (integer)

    Integration_Beam ID.

  • nip (integer)

    Number of integration points.

  • esop (optional) (integer)

    Equal spacing of integration points option. If omitted esop will be 0.

  • failopt (optional) (integer)

    Treatment of failure when mixing different constitutive types. If omitted failopt will be 0.

    Returns

    IntegrationShell object

    Return type

    IntegrationShell

    Example

    To create a new ints 1000 in model m with the following specifiction: irid, nip, esop, failopt are 1000, 2, 0, 1 respectively

    var w = new IntegrationBeam(m, 1000, 2, 0, 1);

    Details of functions

    AssociateComment(Comment[Comment])

    Description

    Associates a comment with a integration shell.

    Arguments

  • Comment (Comment)

    Comment that will be attached to the integration shell

    Returns

    No return value

    Example

    To associate comment c to the integration shell is:

    is.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 shell is:

    is.Browse();


    ClearFlag(flag[Flag])

    Description

    Clears a flag on the integration shell.

    Arguments

  • flag (Flag)

    Flag to clear on the integration shell

    Returns

    No return value

    Example

    To clear flag f for integration shell is:

    is.ClearFlag(f);


    Copy(range (optional)[boolean])

    Description

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

    IntegrationShell object

    Return type

    IntegrationShell

    Example

    To copy integration shell is into integration shell z:

    var z = is.Copy();


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

    Description

    Starts an interactive editing panel to create a integration shell

    Arguments

  • Model (Model)

    Model that the integration shell 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

    IntegrationShell object (or null if not made).

    Return type

    IntegrationShell

    Example

    To start creating a integration shell in model m:

    var is = IntegrationShell.Create(m);


    DetachComment(Comment[Comment])

    Description

    Detaches a comment from a integration shell.

    Arguments

  • Comment (Comment)

    Comment that will be detached from the integration shell

    Returns

    No return value

    Example

    To detach comment c from the integration shell is:

    is.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 shell is:

    is.Edit();


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

    Description

    Adds an error for integration shell. 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 shell is:

    is.Error("My custom error");


    First(Model[Model]) [static]

    Description

    Returns the first integration shell in the model.

    Arguments

  • Model (Model)

    Model to get first integration shell in

    Returns

    IntegrationShell object (or null if there are no integration shells in the model).

    Return type

    IntegrationShell

    Example

    To get the first integration shell in model m:

    var is = IntegrationShell.First(m);


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

    Description

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

    Arguments

  • Model (Model)

    Model to get first free integration shell 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

    IntegrationShell label.

    Return type

    Number

    Example

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

    var label = IntegrationShell.FirstFreeLabel(m);


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

    Description

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

    Arguments

  • Model (Model)

    Model that all integration shells will be flagged in

  • flag (Flag)

    Flag to set on the integration shells

    Returns

    No return value

    Example

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

    IntegrationShell.FlagAll(m, f);


    Flagged(flag[Flag])

    Description

    Checks if the integration shell is flagged or not.

    Arguments

  • flag (Flag)

    Flag to test on the integration shell

    Returns

    true if flagged, false if not.

    Return type

    Boolean

    Example

    To check if integration shell is has flag f set on it:

    if (is.Flagged(f) ) do_something...


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

    Description

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

    Arguments

  • Model (Model)

    Model that all integration shells are in

  • func (function)

    Function to call for each integration shell

  • 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 shells in model m:

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

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

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


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

    Description

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

    Arguments

  • Model (Model)

    Model to get integration shells from

  • property (optional) (string)

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

    Returns

    Array of IntegrationShell objects or properties

    Return type

    Array

    Example

    To make an array of IntegrationShell objects for all of the integration shells in model m:

    var a = IntegrationShell.GetAll(m);

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

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


    GetComments()

    Description

    Extracts the comments associated to a integration shell.

    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 shell is:

    var comm_array = is.GetComments();


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

    Description

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

    Arguments

  • Model (Model)

    Model to get integration shells from

  • flag (Flag)

    Flag set on the integration shells that you want to retrieve

  • property (optional) (string)

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

    Returns

    Array of IntegrationShell objects or properties

    Return type

    Array

    Example

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

    var is = IntegrationShell.GetFlagged(m, f);

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

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


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

    Description

    Returns the IntegrationShell object for a integration shell ID.

    Arguments

  • Model (Model)

    Model to find the integration shell in

  • number (integer)

    number of the integration shell you want the IntegrationShell object for

    Returns

    IntegrationShell object (or null if integration shell does not exist).

    Return type

    IntegrationShell

    Example

    To get the IntegrationShell object for integration shell 100 in model m

    var is = IntegrationShell.GetFromID(m, 100);


    GetIntegrationPoint(index[integer])

    Description

    Returns the data for an integration point in *INTEGRATION_SHELL.Note data is only available when NIP>0 and ESOP=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 shell:

    var data = is.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 IntegrationShell.GetIntegrationPoint() instead.

    Arguments

    No arguments

    Returns

    No return value


    GetParameter(prop[string])

    Description

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

    Arguments

  • prop (string)

    integration shell property to get parameter for

    Returns

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

    Return type

    Parameter

    Example

    To check if IntegrationShell property is.example is a parameter:

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

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

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


    Keyword()

    Description

    Returns the keyword for this ints (*INTEGRATION_SHELL). Note that a carriage return is not added. See also IntegrationShell.KeywordCards()

    Arguments

    No arguments

    Returns

    string containing the keyword.

    Return type

    String

    Example

    To get the keyword for ints n:

    var key = n.Keyword();


    KeywordCards()

    Description

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

    Arguments

    No arguments

    Returns

    string containing the cards.

    Return type

    String

    Example

    To get the cards for integration shell is:

    var cards = is.KeywordCards();


    Last(Model[Model]) [static]

    Description

    Returns the last integration shell in the model.

    Arguments

  • Model (Model)

    Model to get last integration shell in

    Returns

    IntegrationShell object (or null if there are no integration shells in the model).

    Return type

    IntegrationShell

    Example

    To get the last integration shell in model m:

    var is = IntegrationShell.Last(m);


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

    Description

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

    Arguments

  • Model (Model)

    Model to get last free integration shell 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

    IntegrationShell label.

    Return type

    Number

    Example

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

    var label = IntegrationShell.LastFreeLabel(m);


    Next()

    Description

    Returns the next integration shell in the model.

    Arguments

    No arguments

    Returns

    IntegrationShell object (or null if there are no more integration shells in the model).

    Return type

    IntegrationShell

    Example

    To get the integration shell in model m after integration shell is:

    var is = is.Next();


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

    Description

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

    Arguments

  • Model (Model)

    Model to get next free integration shell 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

    IntegrationShell label.

    Return type

    Number

    Example

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

    var label = IntegrationShell.NextFreeLabel(m);


    Previous()

    Description

    Returns the previous integration shell in the model.

    Arguments

    No arguments

    Returns

    IntegrationShell object (or null if there are no more integration shells in the model).

    Return type

    IntegrationShell

    Example

    To get the integration shell in model m before integration shell is:

    var is = is.Previous();


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

    Description

    Renumbers all of the integration shells in the model.

    Arguments

  • Model (Model)

    Model that all integration shells will be renumbered in

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

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

    IntegrationShell.RenumberAll(m, 1000000);


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

    Description

    Renumbers all of the flagged integration shells in the model.

    Arguments

  • Model (Model)

    Model that all the flagged integration shells will be renumbered in

  • flag (Flag)

    Flag set on the integration shells that you want to renumber

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

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

    IntegrationShell.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 shells using standard PRIMER object menus.

    Arguments

  • flag (Flag)

    Flag to use when selecting integration shells

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

    Return type

    Number

    Example

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

    IntegrationShell.Select(f, 'Select integration shells', m);

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

    IntegrationShell.Select(f, 'Select integration shells', l);


    SetFlag(flag[Flag])

    Description

    Sets a flag on the integration shell.

    Arguments

  • flag (Flag)

    Flag to set on the integration shell

    Returns

    No return value

    Example

    To set flag f for integration shell is:

    is.SetFlag(f);


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

    Description

    Sets the integration point data for an *INTEGRATION_SHELL.

    Arguments

  • index (integer)

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

  • s (real)

    Coordinate of integration point in range -1 to 1.

  • wf (real)

    Weighting factor, thickness associated with the integration point divided by actual shell thickness.

  • 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_SHELL is to the following specifiction: s, wf, pid are 0.1, 0.2, 1 respectively

    is.SetIntegrationPoint(3, 0.1, 0.2, 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 IntegrationShell.SetIntegrationPoint() instead.

    Arguments

    No arguments

    Returns

    No return value


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

    Description

    Returns the total number of integration shells in the model.

    Arguments

  • Model (Model)

    Model to get total for

  • exists (optional) (boolean)

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

    Returns

    number of integration shells

    Return type

    Number

    Example

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

    var total = IntegrationShell.Total(m);


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

    Description

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

    Arguments

  • Model (Model)

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

  • flag (Flag)

    Flag to unset on the integration shells

    Returns

    No return value

    Example

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

    IntegrationShell.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

    IntegrationShell object.

    Return type

    IntegrationShell

    Example

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

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


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

    Description

    Adds a warning for integration shell. 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 shell is:

    is.Warning("My custom warning");


    Xrefs()

    Description

    Returns the cross references for this integration shell.

    Arguments

    No arguments

    Returns

    Xrefs object.

    Return type

    Xrefs

    Example

    To get the cross references for integration shell is:

    var xrefs = is.Xrefs();


    toString()

    Description

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

    Arguments

    No arguments

    Returns

    string

    Return type

    String

    Example

    To get data for integration shell is in keyword format

    var s = is.toString();