Creating the First Task: Importing the Geometry

The first task imports the geometry into Simcenter STAR-CCM+. This task is designed to be interactive, meaning that when you click the link in the task, an import dialog appears.

To begin:
  1. Add a new java class to the Assistant package and name it Task01ImportGeometry.


  2. Copy and paste the following code into the Task01ImportGeometry class, overwriting everything:
    package Assistant;
    
    import java.io.File;
    import java.util.Collection;
    
    import javax.swing.JFileChooser;
    
    import star.assistant.Task;
    import star.assistant.ui.FunctionTaskController;
    import star.common.GeometryPart;
    import star.common.Simulation;
    import star.common.SimulationPartManager;
    import star.meshing.PartImportManager;
    
    public class Task01ImportGeometry extends Task {
    
        public Task01ImportGeometry() {
        }
    
        public class ImportGeometryTaskController extends FunctionTaskController {
    
            public void importSurfaceMeshDialog() {
    
                //open a file chooser
                JFileChooser fileChooser = new JFileChooser();
                if (fileChooser.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) {
                    return;
                }
                File cadFile = fileChooser.getSelectedFile();
    
                //import the part
                Simulation simulation_0 = getSimulation();
                PartImportManager partImportManager_0 =
                        simulation_0.get(PartImportManager.class);
                
                //use default import options
                partImportManager_0.importCadPart(cadFile.getPath(), "SharpEdges", 30.0, 2, true, 1.0E-5, true, false);
    
                //add the new part to the lookup
                Collection<GeometryPart> new_parts = simulation_0.get(SimulationPartManager.class).getParts();
                if (!new_parts.isEmpty()) {
                    addToTaskLookup(new_parts.iterator().next());
                }
    
                //create a Geometry Scene
                simulation_0.getSceneManager().createGeometryScene("Geometry Scene", "Outline", "Geometry", 1);
                Scene scene_0 =
                        simulation_0.getSceneManager().getScene("Geometry Scene 1");
                
                scene_0.initializeAndWait();
                PartDisplayer partDisplayer_1 =
                        ((PartDisplayer) scene_0.getCreatorDisplayer());
                partDisplayer_1.initialize();
                PartDisplayer partDisplayer_0 =
                        ((PartDisplayer) scene_0.getDisplayerManager().getDisplayer("Outline 1"));
                partDisplayer_0.initialize();
                PartDisplayer partDisplayer_2 =
                        ((PartDisplayer) scene_0.getDisplayerManager().getDisplayer("Geometry 1"));
                partDisplayer_2.initialize();
                scene_0.open(true);
                CurrentView currentView_0 =
                        scene_0.getCurrentView();
                currentView_0.setInput(new DoubleVector(new double[]{0.07000000029802322, 0.02000000048428774, 0.0}), 
                                                        new DoubleVector(new double[]{-0.14607243684130425, 0.11741414039370678, 0.17860456694301519}),
                                                        new DoubleVector(new double[]{0.20083797287207372, 0.9415226723669483, -0.2705534440210218}),
                                                        0.07747426272518879, 0);
            }
        }
    }
  3. Save the file.
In this task, you use the standard Java function, JFileChooser, to launch an open dialog. The person using the assistant can then import the desired geometry file into STAR-CCM+.
Note When you write your own code, NetBeans automatically suggests which classes to import. Lines that need your attention are flagged with a red exclamation mark. Press "Alt" + "Enter" on these lines to display the suggestions. For now, you can ignore any warnings.