Macro API Changes 2310

In Simcenter STAR-CCM+ 2310, the macro API changed for tangential velocity specification, meshing, time, material properties, Lagrangian multiphase, Eulerian multiphase, DFBI, electromagnetism, post-processing, and CAE integration.

Parts-Based Support for Boundary Axis

Improvements to Tangential Velocity Specification allow you to define the axis with respect to the part surfaces of the boundary. This improvement has resulted in changes to the macro code.

Previous Release Simcenter STAR-CCM+ 2310
Region region_0 = 
  simulation_0.getRegionManager().getRegion("cell-2");
Boundary boundary_0 = 
  region_0.getBoundaryManager().getBoundary("wall-5");
boundary_0.getConditions().get(WallSlidingOption.class).setSelected(WallSlidingOption.Type.LOCAL_ROTATION_RATE);

star.common.ReferenceFrame commonReferenceFrame_0 = 
  boundary_0.getValues().get(star.common.ReferenceFrame.class);
Units units_0 = 
  ((Units) simulation_0.getUnitsManager().getObject("m"));
commonReferenceFrame_0.getOriginVector().setComponentsAndUnits(1.0, 1.0, 0.0, units_0);
Region region_0 = 
  simulation_0.getRegionManager().getRegion("cell-2");
Boundary boundary_0 = 
  region_0.getBoundaryManager().getBoundary("wall-5");
boundary_0.getConditions().get(WallSlidingOption.class).setSelected(WallSlidingOption.Type.LOCAL_ROTATION_RATE);

star.common.LocalAxis commonLocalAxis_0 = 
  boundary_0.getValues().get(star.common.LocalAxis.class);
LocalAxisLeaf localAxisLeaf_0 = 
  commonLocalAxis_0.getModelPartValue();
Units units_0 = 
  ((Units) simulation_0.getUnitsManager().getObject("m"));
localAxisLeaf_0.getOriginVector().setComponentsAndUnits(1.0, 1.0, 1.0, units_0);

Meshing: Parallel Surface Wrapper

The new distributed memory (MPI) parallelization of the Surface Wrapper offers reduced CAD-to-mesh time. As a result, macro behavior has changed.

If you have a macro that creates a new wrap operation, that operation is created in the new MPI wrap mode rather than with the original (legacy) approach. That causes changes in wrap behavior and alters some of the options that you have (such as gap closure). If your macros that create wrap operations cause a noticeable difference and you would like to revert to the original behavior, you can set the wrapper macro to "legacy mode" as shown in the following example. However, note that the legacy mode will eventually be removed, so consider switching to the new MPI wrapper mode.

Previous Release Simcenter STAR-CCM+ 2310
SurfaceWrapperAutoMeshOperation surfaceWrapperAutoMeshOperation_1 =
(SurfaceWrapperAutoMeshOperation) simulation_0.get(MeshOperationManager.class).createSurfaceWrapperAutoMeshOperation(new NeoObjectVector(new Object[] {}), "Surface Wrapper");
SurfaceWrapperAutoMeshOperation surfaceWrapperAutoMeshOperation_1 =
(SurfaceWrapperAutoMeshOperation) simulation_0.get(MeshOperationManager.class).createSurfaceWrapperAutoMeshOperation(new NeoObjectVector(new Object[] {}), "Surface Wrapper");
surfaceWrapperAutoMeshOperation_0.setLegacyWrapper(true);

Time: Changes to Time-Step Providers

The labels of some time-step providers have been simplified as follows:

Old Provider Name Updated Provider Name (Simcenter STAR-CCM+ 2310)
Free Surface CFL Condition Free Surface CFL
LSI Smoothed Convective CFL Condition LSI Smoothed CFL
Smoothed Convective CFL Condition Smoothed CFL
Melting-Solidification Condition Melting-Solidification
Convective CFL Condition CFL
Thermal Diffusivity Condition Thermal Diffusivity
Solid Stress Time-Step Provider Solid Stress
Max Particle Packing Condition Max Particle Packing
In-Cylinder Time-Step Control In-Cylinder

This renaming has resulted in changes to the macro code.

For example, if a macro was getting the Solid Stress Time-Step Provider using:

FeSolidStressTimeStepProvider feSolidStressTimeStepProvider_0 = 
	          ((FeSolidStressTimeStepProvider) adaptiveTimeStepModel_0.getTimeStepProviderManager().getObject("Solid Stress Time-Step Provider"));

The code must be changed to:

FeSolidStressTimeStepProvider feSolidStressTimeStepProvider_0 = 
	          ((FeSolidStressTimeStepProvider) adaptiveTimeStepModel_0.getTimeStepProviderManager().getObject("Solid Stress"));

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 2310 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+ 2310
AnisotropicElectricalConductivityMethodWithValues FullTensorElectricalConductivityMethodWithValues
AnisotropicPermeabilityMethodWithValues FullTensorPermeabilityMethodWithValues
AnisotropicPermittivityMethodWithValues FullTensorPermittivityMethodWithValues
AnisotropicThermalConductivityMethodWithValues FullTensorThermalConductivityMethodWithValues
AnisotropicThermalConductivityMethod FullTensorLegacyThermalConductivityMethod

Lagrangian Multiphase: Changes to Interactions between Fluid Film and Lagrangian Phases

The workflow for the phase interactions between Fluid Film and Lagrangian phases has changed.

Previously, activation of interaction models was possible in Java macros without Lagrangian phases selected beforehand. However, improvements in Simcenter STAR-CCM+ 2310 introduced the separation of Lagrangian phases into free-stream and wall-bounded; this separation restricts the specific interaction models that may be activated.

Hence, for phase interaction between Fluid Film and Lagrangian phases, your Java macros must select the Lagrangian phase first, then the appropriate models are available for free-stream and wall-bound phases.

Previous Release Simcenter STAR-CCM+ 2310
PhysicsContinuum physicsContinuum_0 = 
  ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Continuum"));
MultiPhaseInteractionModel multiPhaseInteractionModel_0 = 
  physicsContinuum_0.getModelManager().getModel(MultiPhaseInteractionModel.class);
PhysicsContinuum physicsContinuum_0 = 
  ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("Continuum"));
MultiPhaseInteractionModel multiPhaseInteractionModel_0 = 
  physicsContinuum_0.getModelManager().getModel(MultiPhaseInteractionModel.class);

LagrangianMultiphaseModel lagrangianMultiphaseModel_0 = 
  physicsContinuum_0.getModelManager().getModel(LagrangianMultiphaseModel.class);
LagrangianPhase lagrangianPhase_0 = 
  ((LagrangianPhase) lagrangianMultiphaseModel_0.getPhaseManager().getPhase("Phase 2"));
SegregatedFluidFilmMultiphaseModel segregatedFluidFilmMultiphaseModel_0 = 
  physicsContinuum_0.getModelManager().getModel(SegregatedFluidFilmMultiphaseModel.class);
FluidFilmPhase fluidFilmPhase_0 = 
  ((FluidFilmPhase) segregatedFluidFilmMultiphaseModel_0.getPhaseManager().getPhase("Phase 1"));

LagrangianMultiphaseModel lagrangianMultiphaseModel_0 = 
  physicsContinuum_0.getModelManager().getModel(LagrangianMultiphaseModel.class);
LagrangianPhase lagrangianPhase_0 = 
  ((LagrangianPhase) lagrangianMultiphaseModel_0.getPhaseManager().getPhase("Phase 2"));
SegregatedFluidFilmMultiphaseModel segregatedFluidFilmMultiphaseModel_0 = 
  physicsContinuum_0.getModelManager().getModel(SegregatedFluidFilmMultiphaseModel.class);
FluidFilmPhase fluidFilmPhase_0 = 
  ((FluidFilmPhase) segregatedFluidFilmMultiphaseModel_0.getPhaseManager().getPhase("Phase 1"));
PhaseInteraction phaseInteraction_0 = multiPhaseInteractionModel_0.createPhaseInteraction();
phaseInteraction_0.enable(FilmLagrangianPhaseInteractionModel.class);
phaseInteraction_0.enable(FilmImpingementModel.class);
phaseInteraction_0.enable(FilmStrippingLagrangianModel.class);
phaseInteraction_0.enable(PhaseInteractionMaterialModel.class);

PhaseInteraction phaseInteraction_0 = multiPhaseInteractionModel_0.createPhaseInteraction();
phaseInteraction_0.enable(FilmLagrangianPhaseInteractionModel.class);

FilmLagrangianPhaseInteractionModel filmLagrangianPhaseInteractionModel_0 = 
  phaseInteraction_0.getModelManager().getModel(FilmLagrangianPhaseInteractionModel.class);
filmLagrangianPhaseInteractionModel_0.setLagrangianPhase(lagrangianPhase_0);
filmLagrangianPhaseInteractionModel_0.setFilmPhase(fluidFilmPhase_0);
/* In new release, the enabling of FilmImpingementModel or FilmStrippingLagrangianModel is
   only possible once the lagrangian phase is defined for the phase interaction
   In previous releases, it was possible.
phaseInteraction_0.enable(FilmImpingementModel.class);
phaseInteraction_0.enable(FilmStrippingLagrangianModel.class);
*/
phaseInteraction_0.enable(PhaseInteractionMaterialModel.class);
FilmLagrangianPhaseInteractionModel filmLagrangianPhaseInteractionModel_0 = 
  phaseInteraction_0.getModelManager().getModel(FilmLagrangianPhaseInteractionModel.class);
filmLagrangianPhaseInteractionModel_0.setLagrangianPhase(lagrangianPhase_0);
phaseInteraction_0.enable(FilmImpingementModel.class);
phaseInteraction_0.enable(FilmStrippingLagrangianModel.class);
filmLagrangianPhaseInteractionModel_0.setFilmPhase(fluidFilmPhase_0);

Eulerian Multiphase (EMP): Changes for Large Interface Turbulence Damping Model

As part of the improvements to the Wall Type Turbulence Damping within the Large Scale Interface Turbulence Damping model, the property Turbulence Damping Constant under the turbulence damping parameters has been eliminated. The property Damping Calibration Factor has been added.

Because the TurbulenceDampingConstant CSO (Client-Server Object) has been removed, you need to update any macros that use this CSO with one of the supported types, as shown in the following examples.

K-Epsilon Turbulence Model

Previous Release Simcenter STAR-CCM+ 2310
LsiTurbDampingModel lsiTurbDampingModel_0 =
phaseInteraction_0.getModelManager().getModel(LsiTurbDampingModel.class);

MixtureTurbulenceDampingParameters mixtureTurbulenceDampingParameters_0 =
lsiTurbDampingModel_0.getMixtureTurbulenceDampingParameters();

KeTurbTurbulenceDampingParameters keTurbTurbulenceDampingParameters_0 =
mixtureTurbulenceDampingParameters_0.getKeTurbTurbulenceDampingParameters();

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

keTurbTurbulenceDampingParameters_0.getKeTurbDampingConstant().setValueAndUnits(5.0, units_0);
LsiTurbDampingModel lsiTurbDampingModel_0 =
phaseInteraction_0.getModelManager().getModel(LsiTurbDampingModel.class);

MixtureTurbulenceDampingParameters mixtureTurbulenceDampingParameters_0 =
lsiTurbDampingModel_0.getMixtureTurbulenceDampingParameters();

KeTurbTurbulenceDampingParameters keTurbTurbulenceDampingParameters_0 =
mixtureTurbulenceDampingParameters_0.getKeTurbTurbulenceDampingParameters();

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

keTurbTurbulenceDampingParameters_0.getKeTurbCalibrationFactor().setValueAndUnits(1.5, units_0);

K-Omega Turbulence Model

Previous Release Simcenter STAR-CCM+ 2310
LsiTurbDampingModel lsiTurbDampingModel_0 =
phaseInteraction_0.getModelManager().getModel(LsiTurbDampingModel.class);

MixtureTurbulenceDampingParameters mixtureTurbulenceDampingParameters_0 =
lsiTurbDampingModel_0.getMixtureTurbulenceDampingParameters();

KwTurbTurbulenceDampingParameters kwTurbTurbulenceDampingParameters_0 =
mixtureTurbulenceDampingParameters_0.getKwTurbTurbulenceDampingParameters();

kwTurbTurbulenceDampingParameters_0.getDampingFormulationOption().setSelected(LsiTurbDampingFormulationOption.Type.NEW);

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

kwTurbTurbulenceDampingParameters_0.getKWTurbDampingConstant().setValueAndUnits(10.0, units_0);
LsiTurbDampingModel lsiTurbDampingModel_0 =
phaseInteraction_0.getModelManager().getModel(LsiTurbDampingModel.class);

MixtureTurbulenceDampingParameters mixtureTurbulenceDampingParameters_0 =
lsiTurbDampingModel_0.getMixtureTurbulenceDampingParameters();

KwTurbTurbulenceDampingParameters kwTurbTurbulenceDampingParameters_0 =
mixtureTurbulenceDampingParameters_0.getKwTurbTurbulenceDampingParameters();

kwTurbTurbulenceDampingParameters_0.getDampingFormulationOption().setSelected(LsiTurbDampingFormulationOption.Type.WALL_TYPE);

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

kwTurbTurbulenceDampingParameters_0.getKWTurbCalibrationFactor().setValueAndUnits(2.0, units_0);

DFBI: Change to DFBI Displayers

In the DFBI module, distance driver constraints have been introduced; these constraints can be visualized using DFBI displayers.

As a result, the Java methods that can be used to read or to set the size of coupling glyphs in DFBI displayers have been extended to work with constraint glyphs as well. The methods have been renamed accordingly.

Previous Release Simcenter STAR-CCM+ 2310
DfbiDisplayer dfbiDisplayer_0 = ((DfbiDisplayer) scene_0.getDisplayerManager().getObject("DFBI 1"));

// To get the coupling diameter:
dfbiDisplayer_0.getCouplingDiameter();

// To set the coupling diameter:
dfbiDisplayer_0.setCouplingDiameter(5.);
DfbiDisplayer dfbiDisplayer_0 = ((DfbiDisplayer) scene_0.getDisplayerManager().getObject("DFBI 1"));

// To get the coupling/constraint diameter:
dfbiDisplayer_0.getCouplingAndConstraintDiameter();

// To set the coupling/constraint diameter:
dfbiDisplayer_0.setCouplingAndConstraintDiameter(5.);

Although the old methods are deprecated, they are still available until further notice. Therefore, existing macros should still run as expected.

Electromagnetism: Change to Default Electric Potential Solver

With the simplified user setup offering the automatic use of Hypre as the Electric Potential solver, macro codes have changed. The API Java class ElectricPotentialHypreIjIterativeSolver has been removed and the customization of the electric potential solver, which is now exclusively Hypre, is done via the standard AMGLinearSolver.java solver customization API.

Specific changes are:

  • The LinearAlgebraSolverOption is not exposed and Hypre is made the Electric Potential linear equations solver.
  • The ElectricPotentialHypreIjIterativeSolver Java class is made redundant and removed.
  • (Hypre) solver customization is done in the AMGLinearSolver class.
Previous Release Simcenter STAR-CCM+ 2310
ElectricPotentialSolver electricPotentialSolver_0 = 
      ((ElectricPotentialSolver) simulation_0.getSolverManager().getSolver(ElectricPotentialSolver.class));

// selecting Hypre
    electricPotentialSolver_0.setLinearAlgebraSolverOption(LinearAlgebraSolverOption.HYPRE);

// customizing Hypre solver
    ElectricPotentialHypreIjIterativeSolver electricPotentialHypreIjIterativeSolver_0 = 
      electricPotentialSolver_0.getElectricPotentialHypreIjIterativeSolver();
    electricPotentialHypreIjIterativeSolver_0.setTolerance(0.01);
    electricPotentialHypreIjIterativeSolver_0.setIterations(100);
ElectricPotentialSolver electricPotentialSolver_0 = 
      ((ElectricPotentialSolver) simulation_0.getSolverManager().getSolver(ElectricPotentialSolver.class));

// in 18.06 Hypre is the edp solver and the customization of the solver is done in the AMGLinearSolver class
    AMGLinearSolver aMGLinearSolver_0 = 
      electricPotentialSolver_0.getAMGLinearSolver();
    aMGLinearSolver_0.setMaxCycles(100);
    aMGLinearSolver_0.setConvergeTol(0.01);

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+ 2310
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+ 2310
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+ 2310
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+ 2310
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+ 2310
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+ 2310
FillStyle.getPattern()
FillPatternOption.Type FillStyle.getFillPatternOption().getSelectedElement()
FillStyle.setPattern(int)
FillStyle.getFillPatternOption().setSelected(FillPatternOption.Type)

CAE Integration: Changes to CGNS Export

Improvements in exports from internal continua have resulted in changes to macro codes for activating models for CGNS file export.

Previous Release Simcenter STAR-CCM+ 2310
PhysicsContinuum physicsContinuum_1 = simulation_0.getContinuumManager().createContinuum(PhysicsContinuum.class);
physicsContinuum_1.setPresentationName("External Volume");
physicsContinuum_1.enable(ExternalContinuumModel.class);
physicsContinuum_1.enable(ExternalApplicationModel.class);
physicsContinuum_1.enable(NativeTransferModel.class);
physicsContinuum_1.enable(ThreeDimensionalModel.class);
physicsContinuum_1.enable(ImplicitUnsteadyModel.class);
PhysicsContinuum physicsContinuum_1 = simulation_0.getContinuumManager().createContinuum(PhysicsContinuum.class);
physicsContinuum_1.setPresentationName("External Volume");
physicsContinuum_1.enable(ExternalContinuumModel.class);
physicsContinuum_1.enable(ExternalFileTransferModel.class);  // change to selected mode for file transfers
physicsContinuum_1.enable(NativeTransferModel.class);
physicsContinuum_1.enable(ThreeDimensionalModel.class);
physicsContinuum_1.enable(ImplicitUnsteadyModel.class);