Defining Interface Instancing for Cylindrical Geometry Models

System Coupling supports instancing for cylindrical geometry models, which allows for the full geometry to be represented by replicating a subset of the geometry multiple times. This functionality is available for all supported topologies and is useful for applications such as gas turbine FSI problems and thermal-electromagnetic electric motor studies.

To use System Coupling's instancing functionality, start by adding Instancing objects in the Library. When adding an instancing object, use the available settings to define the rotation point, axis of rotation, and the number of instances in a full circle.

Before analysis initialization, define the instancing object for a coupling interface side. If instances are modified after initialization, then the changes will not be reflected in the analysis. Ensure that each instancing object is exercised in the analysis — that is, define each instancing object for at least one coupling interface side.

Once you have started the solution, System Coupling constructs the instances after the geometries have been aligned. Each replicated interface side receives the same data as the participant interface side being replicated (for example, replicated regions cannot have different values, scaling, and so on in a modal analysis. For vector data, any required transformation will be applied.

Solution details are written to the Transcript in terms of the full meshes — that is, the reference instance (with the participant mesh), plus any additional instances (with transformed meshes).

By default, only the reference instance (with the original mesh) is included in System Coupling's postprocessing output. You may include all instances (with all mesh transformations) using the IncludeInstances output control setting.

If the Initialize operation was issued (either explicitly by running the Initialize() command or as part of the Step or Solve operations), then the mapped regions will be output for postprocessing. Otherwise, the postprocessing results will be written after the mapping but before the first coupling step or iteration.

Adding Instancing Objects

You can add instancing objects using either the GUI or the CLI. Using the steps indicated below, you may create multiple instancing objects as needed.


Note:  Instancing objects are not available if at least one side of an interface is an FMU participant.


When you add the first instancing object to the analysis, the Library singleton is added to the data model (if it does not already exist), with the new Instancing object defined beneath it.

For more detailed information on instancing object definition requirements, see Instancing in the System Coupling Settings and Commands Reference documentation.

Adding an Instancing Object in the GUI
  1. Perform one of the following actions:

    • From the Menu Bar, select Setup > Add Instancing.

    • In the Outline, right-click the Setup branch and select Add Instancing.

    The Instancing branch is added to the Library branch, with the new instance object defined underneath it.


    Tip:  Once the Instancing branch exists, you may add new instancing objects by right-clicking it and selecting Add.


  2. Click the instancing object.

    Corresponding settings are shown in the Properties pane below.

  3. Optionally, you may set the following parameters for the instancing object:

    • Reference Frame

    • Instances In Full Circle

    • Instances For Mapping

Adding an Instancing Object in the CLI
  1. Add the instancing object by specifying an object name. (The example below changes the reference frame setting from its default value of GlobalReferenceFrame.)

    
    DatamodelRoot().Library.Instancing['Instance-1'].ReferenceFrame = 'Frame-1'
    
    

    If they do not already exist, the Library singleton and the Instancing object container are added to the data model and the instancing object is created with the parameter value set as specified. Other instancing object parameters are set to their default values.

  2. Optionally, you may set the following parameters for the instancing object:

    
    DatamodelRoot().Library.Instancing ['Instance-1'].InstancesInFullCircle = 4
    DatamodelRoot().Library.Instancing ['Instance-1'].InstancesForMapping = 36
    
    

    Tip:  To create an instancing object in the default state, you may use the SetState() command and the intended object path, as follows:

    
    SetState(ObjectPath='/SystemCoupling/Library/Instancing:Instance-1', State={})
    
    

Defining Instancing for a Coupling Interface Side

Each side of a coupling interface has an Instancing setting that allows you define an instancing object for that side.

If valid instancing objects have been defined for the analysis, you may define an object on an interface side as follows:

  • For the GUI, select an instancing object from the Instancing setting's drop-down menu.

  • For the CLI, define an instancing object as shown below:

    
    DatamodelRoot().CouplingInterface['Interface-1'].Side['One'].Instancing = 'Instance-1'
    
    

If no value is provided, then this setting defaults to None (no instancing is defined).