Macro API Changes 2306

In Simcenter STAR-CCM+ 2306, the macro API changed for 3D-CAD, material properties, heat transfer, reacting flow, solid stress, Eulerian multiphase, electromagnetism, post-processing, and Simcenter STAR-CCM+ In-cylinder.

3D-CAD: Changes Related to Parasolid Auto-Matching

Improvements in Boolean and imprinting features allow you to activate Parasolid's auto-matching capability. These improvements have resulted in changes to the macro code.

These changes provide continuity in use:

  • The 3D-CAD features UniteBodiesFeature and IntersectBodiesFeature did not previously use Parasolid's auto-matching capability, and in Simcenter STAR-CCM+ 2306 you can choose not to use Parasolid's auto-matching capability with them.
  • The 3D-CAD features SubtractBodiesFeature, Imprint, and ImprintFaces previously used Parasolid's auto-matching option, and this enhancement allows you to continue doing so.

In Simcenter STAR-CCM+ 2306, the use of Parasolid's auto-matching option is activated by default for all newly created instances of any of the five previously mentioned types of features. For unite bodies and intersect bodies features, this is a change from the previous release. Consequently, the following public member functions of the class FeatureManager of the package star.cadmodeler have been deprecated:

  • UniteBodiesFeature createUniteBodies(List<Body> bodies);
  • UniteBodiesFeature createUniteBodies();
  • IntersectBodiesFeature createIntersectBodies(List<Body> bodies);
  • IntersectBodiesFeature createIntersectBodies();

These functions have been superseded by the following public member functions of the same class:

  • UniteBodiesFeature createUniteBodies2(List<Body> bodies);
  • UniteBodiesFeature createUniteBodies2();
  • IntersectBodiesFeature createIntersectBodies2(List<Body> bodies);
  • IntersectBodiesFeature createIntersectBodies2();

The following pair of new public member functions has been added to each of the feature classes UniteBodiesFeature, SubtractBodiesFeature, IntersectBodiesFeature, Imprint, and ImprintFaces.

  • void setUseAutoMatch(boolean mode);
  • boolean isUseAutoMatch();

The first of these functions allows you to specify whether or not an instance of the feature class should use Parasolid's auto-matching option. The second of these functions allows you to query whether or not an instance of the feature class is currently configured to use Parasolid's auto-matching option.

The following example shows how to create a UniteBodiesFeature and configure it so that it does not use Parasolid's auto-matching option.

CadModel cadModel =
  getActiveSimulation().get(SolidModelManager.class).createSolidModel();
UniteBodiesFeature uniteBodiesFeature =
  cadModel.getFeatureManager().createUniteBodies2();
uniteBodiesFeature.setUseAutoMatch(false);

Material Properties: Deprecation of Anisotropic Material Property Specification Methods

The material property specification methods Anisotropic and Anisotropic (Legacy) have been deprecated since version 2210 and are planned for removal from a future version. For details about these methods and the planned replacements, see "Material Properties" in the Important Notes section of the 2306 Release Notes.

If any of your existing macros use the deprecated material property methods (9 Anisotropic components for Thermal Conductivity, Electrical Conductivity, Permeability, Permittivity, or Anisotropic (Legacy) for Thermal Conductivity), search for instances of following strings and update them as shown in the following table.

Previous Release Simcenter STAR-CCM+ 2306
AnisotropicElectricalConductivityMethodWithValues FullTensorElectricalConductivityMethodWithValues
AnisotropicPermeabilityMethodWithValues FullTensorPermeabilityMethodWithValues
AnisotropicPermittivityMethodWithValues FullTensorPermittivityMethodWithValues
AnisotropicThermalConductivityMethodWithValues FullTensorThermalConductivityMethodWithValues
AnisotropicThermalConductivityMethod FullTensorLegacyThermalConductivityMethod

Heat Transfer: Physics Continuum Consolidation for Solid Energy Modeling

In Simcenter STAR-CCM+ 2306, you can use a single physics continuum to model solid energy in 3D and shell regions. Older simulation files that use separate physics continua for 3D regions and shell regions continue to work.

For simulation files created in Simcenter STAR-CCM+ 2306 and later, it is recommended to use a single physics continuum to model solid energy in 3D and shell regions. For continua whose domain includes shell topology regions (for fluid film or solid shell modeling), select the Three Dimensional space model. The Shell Three Dimensional space model is no longer available for selection.

Due to this workflow improvement, any macros created prior to Simcenter STAR-CCM+ 2306 need updates. Search for instances of affected strings and update them as indicated in the following table.

Previous Release Simcenter STAR-CCM+ 2306
ShellThreeDimensionalModel
ThreeDimensionalModel
CoupledSolidShellEnergyModel
CoupledSolidEnergyModel
SegregatedSolidShellEnergyModel
SegregatedSolidEnergyModel

Reacting Flow: Changes to Flamelet Solvers

Due to refactoring of the flamelet solvers, the macro code has changed.

The name of the field function ScaledProgressVariable has changed to UnnormalizedProgressVariable. This field function is created when the Flamelet Generated Manifold (FGM) model is activated.

Previous Release Simcenter STAR-CCM+ 2306
UserFieldFunction userFieldFunction_0 = sim.getFieldFunctionManager().createFieldFunction();
userFieldFunction_0.setPresentationName("Diff_Yf_Z");
userFieldFunction_0.setFunctionName("Diff_Yf_Z");
userFieldFunction_0.setDefinition("$MixtureFraction0 - $ScaledProgressVariable");
UserFieldFunction userFieldFunction_0 = sim.getFieldFunctionManager().createFieldFunction();
userFieldFunction_0.setPresentationName("Diff_Yf_Z");
userFieldFunction_0.setFunctionName("Diff_Yf_Z");
userFieldFunction_0.setDefinition("$MixtureFraction0 - $UnnormalizedProgressVariable");

The name of the field function FuelMassFraction has changed to UnnormalizedProgressVariable. This field function is created in conjunction with any of the following model pairings: Coherent Flame Model (CFM) or Turbulent Flame Speed Closure (TFC), in combination with either Chemical Equilibrium (CE) or Steady Laminar Flamelet (SLF).

Previous Release Simcenter STAR-CCM+ 2306
UserFieldFunction userFieldFunction_0 = sim.getFieldFunctionManager().createFieldFunction();
userFieldFunction_0.setPresentationName("Diff_Yf_Z");
userFieldFunction_0.setFunctionName("Diff_Yf_Z");
userFieldFunction_0.setDefinition("$MixtureFraction0 - $FuelMassFraction");
UserFieldFunction userFieldFunction_0 = sim.getFieldFunctionManager().createFieldFunction();
userFieldFunction_0.setPresentationName("Diff_Yf_Z");
userFieldFunction_0.setFunctionName("Diff_Yf_Z");
userFieldFunction_0.setDefinition("$MixtureFraction0 - $UnnormalizedProgressVariable");

In Simcenter STAR-CCM+ 2306, when the FGM is activated along with either the Coherent Flame Model (CFM) or the Turbulent Flame Speed Closure (TFC), the CFM Combustion and TFC Combustion solvers do not appear in the UI. The Under Relaxation Factor for the CFM Combustion or TFC Combustion solvers can now be set up under the FGM Combustion solver after Separate URF Numbers is activated under the FGM Combustion solver. This restructuring has also resulted in changes to the macro code.

Previous Release Simcenter STAR-CCM+ 2306
TfcCombustionPartiallyPremixedSolver tfcCombustionPartiallyPremixedSolver_0 = 
  ((TfcCombustionPartiallyPremixedSolver) simulation_0.getSolverManager().getSolver(TfcCombustionPartiallyPremixedSolver.class));
tfcCombustionPartiallyPremixedSolver_0.getUrfQuantity().setValue(0.789);
FgmCombustionSolver fgmCombustionSolver_0 = 
  ((FgmCombustionSolver) simulation_0.getSolverManager().getSolver(FgmCombustionSolver.class));
fgmCombustionSolver_0.setDifferentURFNumber(true);
Units units_0 = 
  ((Units) simulation_0.getUnitsManager().getObject(""));
fgmCombustionSolver_0.getUrfProgressVariableQuantity().setValueAndUnits(0.789, units_0);
CfmCombustionPartiallyPremixedSolver cfmCombustionPartiallyPremixedSolver_0 = 
  ((CfmCombustionPartiallyPremixedSolver) simulation_0.getSolverManager().getSolver(CfmCombustionPartiallyPremixedSolver.class));

Units units_0 = 
  ((Units) simulation_0.getUnitsManager().getObject(""));

cfmCombustionPartiallyPremixedSolver_0.getUrfQuantity().setValueAndUnits(0.678, units_0);
FgmCombustionSolver fgmCombustionSolver_0 = 
  ((FgmCombustionSolver) simulation_0.getSolverManager().getSolver(FgmCombustionSolver.class));

fgmCombustionSolver_0.setDifferentURFNumber(true);

Units units_0 = 
  ((Units) simulation_0.getUnitsManager().getObject(""));

fgmCombustionSolver_0.getUrfProgressVariableQuantity().setValueAndUnits(0.678, units_0);

fgmCombustionSolver_0.getUrfFlameAreaDensityQuantity().setValueAndUnits(0.678, units_0);

Solid Stress

Changes to Hyperelastic Material Input Table

Due to refactoring within the star.solidstress package, macro code has changed. Update your macros as shown in the following table.

Previous Release Simcenter STAR-CCM+ 2306
InputTable
HyperelasticInputTable
InputTableType
HyperelasticInputTableType
getInputType
getHyperelasticInputType

Changes to Added Mass

To help improve the handling of Fluid-Structure Interaction simulations, the classes star.solidstress, star.partitionedcoupling, and star.partitionedcoupling2 have been moved to a new package called star.stabilization.

Previous Release Simcenter STAR-CCM+ 2306
star.solidstress.FsiAddedMassParameters
star.stabilization.FsiAddedMassParameters
star.solidstress.FsiAddedMassParametersControlOption
star.stabilization.FsiAddedMassParametersControlOption
star.solidstress.FsiStabilizationOption
star.stabilization.FsiStabilizationOption
star.solidstress.FsiTractionCouplingOption
star.partitionedcoupling.FsiTractionCouplingOption
star.solidstress.FsiTractionRampingOption
star.partitionedcoupling2.FsiTractionRampingOption
star.solidstress.FsiTractionClippingOption
star.partitionedcoupling2.FsiTractionClippingOption
star.solidstress.FsiTractionLinearRamping
star.partitionedcoupling2.FsiTractionLinearRamping
star.solidstress.FsiTractionLinearRamping_Steady
star.partitionedcoupling2.FsiTractionLinearRamping_Steady
star.solidstress.FsiShearClipping
star.partitionedcoupling2.FsiShearClipping
star.solidstress.FsiPressureClipping
star.partitionedcoupling2.FsiPressureClipping
star.partitionedcoupling2.MappedAddedMassCoefficientProfile
removed
star.partitionedcoupling2.MappedAddedMassCoefficientProfileMethod
removed

Changes to Contact Interfaces

Interface-based contact in Simcenter STAR-CCM+ has been refactored, resulting in changes to the macro code. The enum values for two options on interfaces between solid regions were modified.

For the SolidSolidConstraintOption, which is used to set constraint mapping, the enum values have been renamed as follows:

SolidSolidConstraintOption Old Value New Value
Node to surface Node_Surface NODE_TO_SURFACE
Surface to surface Surface_Surface SURFACE_TO_SURFACE

The following example shows how the SolidSolidConstraintOption can be set on an interface called "Solid 1/Solid 2":

Previous Release Simcenter STAR-CCM+ 2306
BoundaryInterface boundaryInterface_1 = ((BoundaryInterface) simulation_0.getInterfaceManager().getInterface("Solid 1/Solid 2"));
boundaryInterface_1.getConditions().get(SolidSolidConstraintOption.class).setSelected(SolidSolidConstraintOption.Type.Surface_Surface);
BoundaryInterface boundaryInterface_1 = ((BoundaryInterface) simulation_0.getInterfaceManager().getInterface("Solid 1/Solid 2"));
boundaryInterface_1.getConditions().get(SolidSolidConstraintOption.class).setSelected(SolidSolidConstraintOption.Type.SURFACE_TO_SURFACE);

For the SolidSolidContactOption, which is used to set the type of mechanical interaction on an interface, the enum value called WELDED was renamed to BONDED.

The following example shows how the SolidSolidContactOption can be set to BONDED on an interface called "Solid 1/Solid 2":

Previous Release Simcenter STAR-CCM+ 2306
BoundaryInterface boundaryInterface_1 = ((BoundaryInterface) simulation_0.getInterfaceManager().getInterface("Solid 1/Solid 2"));
boundaryInterface_1.getConditions().get(SolidSolidContactOption.class).setSelected(SolidSolidContactOption.Type.WELDED);
BoundaryInterface boundaryInterface_1 = ((BoundaryInterface) simulation_0.getInterfaceManager().getInterface("Solid 1/Solid 2"));
boundaryInterface_1.getConditions().get(SolidSolidContactOption.class).setSelected(SolidSolidContactOption.Type.BONDED);

Eulerian (EMP): Changes for AMUSIG Reports

The following classes have been moved from multiphase to emp due to refactoring:

Previous Release Simcenter STAR-CCM+ 2306
star.multiphase.AmusigAverageDiameterReportBase;
star.emp.AmusigAverageDiameterReportBase;
star.multiphase.AmusigMomentsReportBase;
star.emp.AmusigMomentsReportBase;
star.multiphase.AmusigSurfaceAverageDiameterReport;
star.emp.AmusigSurfaceAverageDiameterReport;
star.multiphase.AmusigSurfaceMomentsReport;
star.emp.AmusigSurfaceMomentsReport;
star.multiphase.AmusigVolumeMomentsReport;
star.emp.AmusigVolumeMomentsReport;

Electromagnetism: Change to Eddy Current Suppress Option

Due to restructuring, changes occurred to the Eddy Current Suppress Option, including the macro code.

Previous Release Simcenter STAR-CCM+ 2306
import star.electromagnetism.magneticpotential.EddyCurrentSuppressionOption;
import star.electromagnetism.common.EddyCurrentSuppressionOption;

Post-Processing: Planned Removal of ChartStyle Class from Java Framework (2402)

The ChartStyle class is planned for removal from the plotting framework in version 2402.

The following class structures, which may be present in older Java macros where .plt files were imported, are no longer supported:

  • star.common.graph.ChartStyle
  • star.common.graph.ChartStyleManager

An example of the earlier use of this class shows a dataset on an exampleXYPlot, whose ChartStyle is being updated:

DataSet dataSet = exampleXYPlot.getYAxes().getAxisType("Y Type 1").getDataSets().getDataSet("Temperature");
dataSet.getChartStyle().setSymbolShape(JCSymbolStyle.NONE);
dataSet.getChartStyle().setLinePattern(JCLineStyle.SOLID);
dataSet.getChartStyle().setLineColor(Color.red);
dataSet.getChartStyle().setLineWidth(4);

In recent years, Style has been managed on its own sub-objects, making ChartStyle unnecessary.

For version 2402, you will need to make two changes:

  • When applicable, update Style directly, instead of routing the request through ChartStyle.
  • When no direct change is possible, remove the calls altogether.

Specific Style-to-Type replacements:

  • Replace JCSymbolStyle with SymbolShapeOption.Type.
  • Replace JCLineStyle with LinePatternOption.Type.
  • Replace JCFillStyle with FillPatternOption.Type.

Detailed Instructions for Updating Code, with Examples

The following Line Style-related calls should be updated, as necessary:

  • ChartStyle.setLinePattern
  • ChartStyle.setLineColor
  • ChartStyle.setLineWidth

Examples of updates to API calls for Line Style:

// At the top of the macro
import star.common.LinePatternOption;
import star.common.LineStyle;
 
DataSet dataSet = exampleXYPlot.getYAxes().getAxisType("Y Type 1").getDataSets().getDataSet("Temperature");
 
// Step 1: Replace getChartStyle() calls with their direct 'set' calls.
// dataSet.getChartStyle().setLinePattern(JCLineStyle.SOLID);
dataSet.getLineStyle().setLinePatternOptionInput(LinePatternOption.Type.SOLID);          // (Step 2) replacement for JCLineStyle.SOLID
 
// dataSet.getChartStyle().setLineColor(Color.red);
dataSet.getLineStyle().setColor(Color.red);
 
// dataSet.getChartStyle().setLineWidth(4);
dataSet.getLineStyle().setLineWidth(4);

The following Symbol Style-related calls should be updated, as necessary:

  • ChartStyle.setSymbolShape
  • ChartStyle.setSymbolSize
  • ChartStyle.setSymbolStrokeWidth
  • ChartStyle.setSymbolColor

Examples of updates to API calls for Symbol Style:

// At the top of the macro
import star.common.SymbolShapeOption;
import star.common.SymbolStyle;
 
DataSet dataSet = exampleXYPlot.getYAxes().getAxisType("Y Type 1").getDataSets().getDataSet("Temperature");
 
// Step 1: Replace getChartStyle() calls with their direct 'set' calls. Calls
// dataSet.getChartStyle().setSymbolShape(JCSymbolStyle.NONE);
dataSet.getSymbolStyle().setSymbolShapeOptionInput(SymbolShapeOption.Type.NONE);            // (Step 2) replacement for JCSymbolStyle.NONE
 
// dataSet.getChartStyle().setSymbolSize(10);
dataSet.getSymbolStyle().setSize(10);
 
// dataSet.getChartStyle().setSymbolStrokeWidth(0.2);
dataSet.getSymbolStyle().setStrokeWidth(0.2);
 
// dataSet.getChartStyle().setSymbolColor(Color.red);
dataSet.getSymbolStyle().setColor(Color.red);

The following Fill Style-related calls should be updated, as necessary:

  • ChartStyle.setFillPattern
  • ChartStyle.setFillColor
  • ChartStyle.setFillBackground

Examples of updates to API calls for Fill Style:

// At the top of the macro
import star.common.FillPatternOption;
import star.common.FillStyle;
 
DataSet dataSet = exampleXYPlot.getYAxes().getAxisType("Y Type 1").getDataSets().getDataSet("Temperature");
 
// Step 1: Replace getChartStyle() calls with their direct 'set' calls.
// dataSet.getChartStyle().setFillPattern(JCFillStyle.SOLID);
dataSet.getFillStyle().setLinePatternOptionInput(FillPatternOption.Type.SOLID);             // (Step 2) replacement for JCFillStyle.SOLID
 
// dataSet.getChartStyle().setFillColor(Color.red);
dataSet.getFillStyle().setColor(Color.red);
 
// dataSet.getChartStyle().setFillBackground(Color.blue);
dataSet.getFillStyle().setBackgroundColor(Color.blue);

The following API calls shall be removed altogether. Their handling has been discontinued/internalized.

  • ChartStyle.setLineCap
  • ChartStyle.setLineJoin

Examples of removal of API calls for Line Style:

DataSet dataSet = exampleXYPlot.getYAxes().getAxisType("Y Type 1").getDataSets().getDataSet("Temperature");
dataSet.getChartStyle().setLineCap(0);
dataSet.getChartStyle().setLineJoin(0);

Replacements of Old Symbol, Line, and Fill Style with Current Supported Types

Symbol Style: import star.common.SymbolShapeOption;

Previous Release Simcenter STAR-CCM+ 2306
JCSymbolStyle.NONE
SymbolShapeOption.Type.NONE
JCSymbolStyle.DOT
SymbolShapeOption.Type.FILLED_CIRCLE
JCSymbolStyle.BOX
SymbolShapeOption.Type.FILLED_SQUARE
JCSymbolStyle.TRIANGLE
SymbolShapeOption.Type.FILLED_TRIANGLE
JCSymbolStyle.DIAMOND
SymbolShapeOption.Type.FILLED_DIAMOND
JCSymbolStyle.STAR
SymbolShapeOption.Type.STAR 
JCSymbolStyle.VERT_LINE
SymbolShapeOption.Type.VERTICAL_LINE
JCSymbolStyle.HORIZ_LINE
SymbolShapeOption.Type.HORIZONTAL_LINE
JCSymbolStyle.CROSS
SymbolShapeOption.Type.CROSS
JCSymbolStyle.CIRCLE
SymbolShapeOption.Type.EMPTY_CIRCLE
JCSymbolStyle.SQUARE
SymbolShapeOption.Type.EMPTY_SQUARE

Line Style: import star.common.LinePatternOption;

Previous Release Simcenter STAR-CCM+ 2306
JCLineStyle.NONE
LinePatternOption.Type.NONE
JCLineStyle.SOLID
LinePatternOption.Type.SOLID
JCLineStyle.LONG_DASH
LinePatternOption.Type.DASH
JCLineStyle.SHORT_DASH
LinePatternOption.Type.DOT
JCLineStyle.LSL_DASH
LinePatternOption.Type.DASH_DOT
JCLineStyle.DASH_DOT
LinePatternOption.Type.DASH_DOT

Fill Style: import star.common.FillPatternOption;

Previous Release Simcenter STAR-CCM+ 2306
JCFillStyle.NONE
FillPatternOption.Type.NONE
JCFillStyle.SOLID
FillPatternOption.Type.SOLID
JCFillStyle.PER_25
FillPatternOption.Type.DOT_25_PERCENT
JCFillStyle.PER_50
FillPatternOption.Type.DOT_50_PERCENT
JCFillStyle.PER_75
FillPatternOption.Type.DOT_75_PERCENT
JCFillStyle.HORIZ_STRIPE
FillPatternOption.Type.HORIZONTAL_STRIPE
JCFillStyle.VERT_STRIPE
FillPatternOption.Type.VERTICAL_STRIPE
JCFillStyle.STRIPE_45
FillPatternOption.Type.DEGREE_45_STRIPE
JCFillStyle.STRIPE_135
FillPatternOption.Type.DEGREE_135_STRIPE
JCFillStyle.DIAG_HATCHED
FillPatternOption.Type.DIAGONAL_HATCH
JCFillStyle.CROSS_HATCHED
FillPatternOption.Type.CROSS_HATCH
JCFillStyle.CUSTOM_FILL
FillPatternOption.Type.SOLID
JCFillStyle.CUSTOM_STACK
FillPatternOption.Type.SOLID

Style API Removal and Replacements

Line Style

Remove the following:

  • LineStyle.setVisible(boolean)
  • LineStyle.getJoin()
  • LineStyle.setJoin(int)
  • LineStyle.getCap()
  • LineStyle.setCap(int)

Replace code as follows:

Previous Release Simcenter STAR-CCM+ 2306
LineStyle.getStyle()
LinePatternOption.Type LineStyle.getLinePatternOption().getSelectedElement()
LineStyle.setStyle(int)
LineStyle.getLinePatternOption().setSelected(LinePatternOption.Type)

Symbol Style

Remove SymbolStyle.setVisible(boolean).

Replace code as follows:

Previous Release Simcenter STAR-CCM+ 2306
SymbolStyle.getStyle()
SymbolShapeOption.Type SymbolStyle.getSymbolShapeOption().getSelectedElement()
SymbolStyle.setStyle(int)
SymbolStyle.getSymbolShapeOption().setSelected(SymbolShapeOption.Type)

Fill Style

Remove FillStyle.setVisible(boolean).

Previous Release Simcenter STAR-CCM+ 2306
FillStyle.getPattern()
FillPatternOption.Type FillStyle.getFillPatternOption().getSelectedElement()
FillStyle.setPattern(int)
FillStyle.getFillPatternOption().setSelected(FillPatternOption.Type)

Simcenter STAR-CCM+ In-cylinder: Mesh Base Size Parameter Now Available for Cold Flow Simulations

The ${Mesh Base Size} parameter is now created when you launch Simcenter STAR-CCM+ In-cylinder, resulting in changes to the macro code. The following example involves a Base Size setting of 2 (when the Injection model is not activated).

Previous Release Simcenter STAR-CCM+ 2306
    QuickSurfaceAutoMeshOperation quickSurfaceAutoMeshOperation_0 = 
      ((QuickSurfaceAutoMeshOperation) simulation_0.get(MeshOperationManager.class).getObject("Engine Surface Meshing"));

    Units units_0 = 
      ((Units) simulation_0.getUnitsManager().getObject("mm"));

    quickSurfaceAutoMeshOperation_0.getDefaultValues().get(BaseSize.class).setValueAndUnits(2.0, units_0);

    QuickVolumeAutoMeshOperation quickVolumeAutoMeshOperation_0 = 
      ((QuickVolumeAutoMeshOperation) simulation_0.get(MeshOperationManager.class).getObject("Engine Solids Volume Meshing"));

    quickVolumeAutoMeshOperation_0.getDefaultValues().get(BaseSize.class).setValueAndUnits(2.0, units_0);

    QuickVolumeAutoMeshOperation quickVolumeAutoMeshOperation_1 = 
      ((QuickVolumeAutoMeshOperation) simulation_0.get(MeshOperationManager.class).getObject("Engine Fluid Volume Meshing"));

    quickVolumeAutoMeshOperation_1.getDefaultValues().get(BaseSize.class).setValueAndUnits(2.0, units_0);
    ScalarGlobalParameter scalarGlobalParameter_0 = 
      ((ScalarGlobalParameter) simulation_0.get(GlobalParameterManager.class).getObject("Mesh Base Size"));

    Units units_0 = 
      ((Units) simulation_0.getUnitsManager().getObject("mm"));

    scalarGlobalParameter_0.getQuantity().setValueAndUnits(2.0, units_0);

    StarIceEngine starIceEngine_0 = 
      simulation_0.get(StarIceEngine.class);

    StarIceMeshOperation starIceMeshOperation_0 = 
      ((StarIceMeshOperation) starIceEngine_0.getQuickMeshOperationManager().getObject("Mesh"));

    starIceMeshOperation_0.setMeshBaseSize(scalarGlobalParameter_0);