Macro API Changes 6.02

In Simcenter STAR-CCM+ 6.02, the macro API changed for Abaqus co-simulation, CAE importing, 3D-CAD, and combustion.

Abaqus Co-simulation

  1. Abaqus is now launched automatically by the co-simulation. It will be necessary to remove the command for launching Abaqus from macros recorded in Simcenter STAR-CCM+ 5.06. An example would be:

    abaqusCoSimulation_0.start();

  2. The "Synchronization Type" option is no longer available in the Co-Simulation tool. Therefore all macro commands relating to this option will need to be removed. Examples are:
    
    abaqusCoSimulation_0   .getSynchronizationTypeOptions()   .setSelected(     AbaqusSynchronizationTypeOptions.LOCK_STEP   );

    and

    
    abaqusCoSimulation_0   .getSynchronizationTypeOptions()   .setSelected(     AbaqusSynchronizationTypeOptions.SUB_CYCLE   );
  3. The macro commands for setting the "Pressure Ramping Parameters" and "Traction Clipping Parameters" have changed.
    Previous Release Simcenter STAR-CCM+ 6.02.007

    abaqusCoSimulation_0 .setPressureRampParams( "1.0, 2.0, 3.0" );

    abaqusCoSimulation_0 .setPressureRampingParams( new DoubleVector( new double[] { 1.0, 2.0, 3.0 } ) );

    abaqusCoSimulation_0 .setTractionClipParams( "6.0, 5.0, 4.0" );

    abaqusCoSimulation_0 .setTractionClippingParams( new DoubleVector( new double[] { 6.0, 5.0, 4.0 } ) );

CAE Import/Mapping/Export

  1. The macro command for importing CAE geometry (both as an "Imported Model" and as a STAR-CCM+ region) has changed. It is also necessary to import star.cae.common.* in Java macros containing these actions.
    Previous Release Simcenter STAR-CCM+ 6.02.007

    import star.cae.common.*;

    ImportManager importManager_0 = simulation_0.getImportManager();

    CaeImportManager caeImportManager_0 = simulation_0.get(CaeImportManager .class);

  2. The macro command for importing data from CAE models has changed.
    Previous Release Simcenter STAR-CCM+ 6.02.007

    simulation_0

    .get(ImportedModelManager.class)

    .importVertexDataForImportedSurface(

    new NeoObjectVector(

    new Object[] { importedSurface_0, importedSurface_1, importedSurface_2} ), "Displacement",

    "analytical_disp.odb",

    "abaqus",

    "Step-1",

    "",

    units_1

    );

    caeImportManager_0 .importAbaqusData( resolvePath("analytical_disp.odb"),

    new NeoObjectVector(

    new Object[] { importedModel_0 }

    ),

    1,

    Displacement", 1,

    "abaqus",

    "Step-1",

    "ALLMODES", units_1 );

  3. The names of the Imported variables have changed:

    • The prefix given to field function names for imported CAE models has been changed from “Imported Surface” to “Imported”. For example, if Temperature is imported from an Abaqus model, its field function will now be called ImportedTemperature, as opposed to ImportedSurfaceTemperature.
    • The prefix given to mapped field functions has changed to MappedImported instead of MappedImportedSurface.

    It may be necessary to update any Java macros that explicitly rely on these field function names.

3D-CAD

There is a change in the function that sets the bodies to skip for the series of objects that handle linear patterns, linear pattern cuts, circular patterns and circular pattern cuts. The new function takes a vector of integer numbers that define the body indices to skip in the pattern.

Previous Release Simcenter STAR-CCM+ 6.02.007

BodyLinearPattern* .setSkipFlags( new BooleanVector( new boolean[] { true, false,

true, false } ) )

BodyLinearPattern*. .setSkipPosition( new IntVector( new int[] {1, 3} ) )

Similarly for objects beginning with BodyCircularPattern*

Similarly for objects beginning with BodyCircularPattern*

Reacting Flows - PPDF

Previous Release Simcenter STAR-CCM+ 6.02.007

PpdfFlameletPartiallyPremixedModel

PpdfAdiabaticFlameletPartiallyPremixedModel

Reacting Flows - Dars-CFD

Previous Release Simcenter STAR-CCM+ 6.02.007

The DarsCfdReactionBaseModel class had the following methods:

These methods are now moved to the DarsCfdProperties class and should be replaced as shown:

model.getATol()

model .getDarsCfdProperties() .getATol()

model.setATol()

model .getDarsCfdProperties() .setATol()

model.getRTol()

model .getDarsCfdProperties() .getRTol()

model.setRTol()

model .getDarsCfdProperties() .setRTol()

model.getTLimitLow()

model .getDarsCfdProperties() .getTLimitLow()

model.setTLimitLow()

model .getDarsCfdProperties() .setTLimitLow()

model.getTLimitHigh()

model .getDarsCfdProperties() .getTLimitHigh()

model.setTLimitHigh()

model .getDarsCfdProperties() .setTLimitHigh()