Salome Meshing for the OverViz Simulation Suite

March 2019

1301 South Capital of Texas Hwy, Suite B-330 Austin, TX 78746, USA www.esgeetech.com [email protected] 2 Contents

• Overview of 2D geometry and mesh creation in Salome • 2D geometry and mesh creation example • Overview of 3D geometry and mesh creation in Salome • 3D example: • Geometry creation • Meshing example 1 : Body Fit • Meshing example 2 : Automatic Tetrahedralization • Meshing example 3 : Mixed mesh 3

2D Geometry and Mesh Generation

This section provides an overview of how to generate a 2D mesh in Salome. The subsequent section provides an illustrate example. 4 Creating 2D Geometry in Salome

1. First, create the 2D geometry shape using standard 2D geometry operations: points, lines, circles, Boolean, etc. 2. The final 2D shapes must be represented by Face objects in Salome 3. Create groups of Faces (if needed for complex geometries) to simplify meshing process. 4. Apply the Partition function to the group of faces. The partition fuses all containing geometry objects, preserving intersections and interferences. This is important for meshing. 5. Create vector in the direction of extrusion 5 Creating 2D Geometry in Salome

6. Extrude the partition along the vector using the extrusion function

7. Using Operations>Blocks>Propagate on Extrusion to mark extruded edges that will be used for meshing.

8. Explode Extrusion to solids

9. Explode Extrusion to faces

10. Name all of the faces and solids using Right Click Rename or pressing F2

11. Open the Salome Mesher to continue to meshing 6 Creating 2D Geometry in Salome

12. Create a mesh using the extrusion object using the method 3-D Extruded Mesh.

13. Create sub-mesh. Choose edge component created from step 7. Set 1D mesh type to Wire Discretization with Number of Segments = 1.

14. Create sub-mesh on all front faces. Select appropriate 2D/1D meshing algorithms for front.

15. Right click on the sub-mesh from step 14 and click Compute Sub-mesh

16. Compute the rest of the mesh. The front face will be extruded to complete the mesh.

17. Use Create Groups from Geometry to bring the names created earlier on the geometry into the mesh. 7 Creating 2D Geometry in Salome

18. Export the mesh file as .unv (make sure to highlight the mesh you want to export in the tree)

19. Use Python script “convert_unv_to_neu.py” to convert the mesh to .neu

20. The .neu may now be used in the OverViz Simulation Suite 8

2D Geometry and Mesh Example

This section provides an example of creating an extruded 2D geometry and mesh in Salome. 9 2D Geometry and Mesh Example

This example will guide a viewer through the creation of the following geometry and mesh.

showerhead axis GAS wall

wafer wall wafer-side outflow 10 Creating 2D Geometry in Salome

Create points that will be used to create edges.

Point Coordinates X Y 0 0 0 8 0 10 0 4 10 4 8 -2 10 -2 11 Creating 2D Geometry in Salome

Create second Create first rectangle rectangle 12 Creating 2D Geometry in Salome

Create first face Create second face 13 Creating 2D Geometry in Salome

Partition to two faces. You should now have a single object called partition in the tree. 14 Creating 2D Geometry in Salome

Create a vector in the z-direction 15 Creating 2D Geometry in Salome

Create an extrusion using the partition and the vector 16 Creating 2D Geometry in Salome

Apply Propagate to the Extrusion. Compound 1, shown below, will be used for the 2D mesh extrusion 17 Creating 2D Geometry in Salome

Explode solids and faces Rename solids and faces 18 Meshing the 2D Geometry in Salome

Create mesh on Extrusion_1. Assign Extrusion 3D algorithm. Then select Apply and Close. 19 Meshing the 2D Geometry in Salome

Create sub-mesh on Mesh_1. Select Compound_1 for Geometry input. Assign 1D Wire Discretization with Number of Segments set to 1. 20 Meshing the 2D Geometry in Salome

Create sub-mesh on Mesh_1 using the two front faces. Select Quadrangle Mapping (for quad mesh). 21 Meshing the 2D Geometry in Salome

Using Wire Discretization for 1D Algorithm. Set Hypothesis to Local Length of 0.2. 22 Meshing the 2D Geometry in Salome

Compute Sub-Mesh_2 to generate surface mesh of front faces 23 Meshing the 2D Geometry in Salome

Right click Mesh_1 and select Compute to generate the completed mesh. 24 Meshing the 2D Geometry in Salome

Create Groups from Geometry on Mesh_1 using the Solids and Faces that were named earlier in the Geometry Module. 25 Meshing the 2D Geometry in Salome

Export the mesh to UNV format. Finally, convert the UNV file to NEU file using the Esgee provided script. 26

3D Geometry Creation

This section provides an example of creating a 3D geometry in Salome. This geometry will be used to demonstrate two types of meshing in Salome. 27 General Comments about 3D Meshing

. 3D meshes must be created externally and then imported in the OverViz Simulation Suite

. Support file formats: . Gambit neutral (.neu) . CGNS (.cgns) . (.nas) . Tools for creating 3D mesh in above formats Esgee prefers . Salome (save as .unv, then convert to .neu using script) this tool . . Mesh (.cgns) . Gambit (.cgns) . Nastran (.nas) . Pointwise (.cgns, .neu, or .nas) . After importing, set Coordinate type to 3D in the OverViz GUI (or flag=1 in the input file) 28 Process for Creating 3D Mesh in Salome Geometry Creation

1. Create 3D geometry in Geometry Module using 3D geometry operations (extrude, revolve, extrude along path, Boolean operations, etc)

2. If multiple sub-domains are needed in the model, you must make sure:

• Each sub-domain is created as a separate solid volume in Salome

• Solid volumes are combined into a single compound part (this ensures that the mesh is conformal between sub-domains)

• The compound part is partitioned (this Salome operations makes sure all faces/edges for different subdomains are imprinted 29 Process for Creating 3D Mesh in Salome Geometry Creation

3. The partition must be “exploded” into its components so that all sub- domains and faces can be recognized 1. Explode partition into solids 2. Explode partition into faces 4. Rename solids and faces as desired 30 Process for Creating 3D Mesh in Salome Mesh Creation

5. Switch to Mesh module 6. Create 3D Mesh on Partition using 3D meshing algorithm (extrusion, body fitted, 1D-2D-3D sizing algorithm). Example provided later. 7. Add local sizes to sub-domains, faces, and edge as needed. 8. Compute mesh to create 3D mesh 31 Process for Creating 3D Mesh in Salome Mesh Creation

9. To bring in the exploded subdomains and faces from the geometry module, we must “Create Groups from Geometry” • Right click on the and select Create Groups from Geometry • Select all the subdomains and faces in the tree that we created under Partition • Now the list of subdomains and faces should appear under the Mesh we created in the tree 32 Process for Creating 3D Mesh in Salome Convert Mesh from .UNV to .NEU

10. Export the mesh file as .unv (make sure to highlight the mesh you want to export in the tree)

11. Use Python script “convert_unv_to_neu.py” to convert the mesh to .neu

12. The .neu may now be used in the OverViz Simulation Suite 33

3D Geometry and Mesh Example 34 3D Geometry and Mesh Example

This example will guide a viewer through the creation of the following geometry and mesh. 35 Creating 3D Geometry in Salome

Create a box for the gas/plasma volume. 36 Creating 3D Geometry in Salome

Create another box that will be used to create both the bottom and top electrodes. 37 Creating 3D Geometry in Salome

Create a box that will be part of the top electrode. 38 Creating 3D Geometry in Salome

Create a Translation using Box_2 to form the bottom electrode. 39 Creating 3D Geometry in Salome

Create a Translation using Box_2 to form the top electrode. 40 Creating 3D Geometry in Salome

Create a Translation using Box_3 to form part of the top electrode. 41 Creating 3D Geometry in Salome

Fuse Translation_2 and Translation_3 into a single object. This is the top electrode. 42 Creating 3D Geometry in Salome

Create a large box that intersects half of the model. This will be used for a Boolean operation. 43 Creating 3D Geometry in Salome

Translate Box_4 so that it properly intersects half of the entire geometry. 44 Creating 3D Geometry in Salome

Use Boolean Cut with Translation_4 to cut the three objects to create the half symmetry. 45 Creating 3D Geometry in Salome

Partition the 3 Cut Objects. 46 Creating 3D Geometry in Salome

Explode solids and faces Rename solids and faces 47

3D Meshing Examples

This section provides multiple examples of creating 3D meshes in Salome using the geometry in the previous section. 48 Creating 3D Mesh in Salome

There are numerous techniques and tools for creating meshes in Salome. The simplest techniques will be demonstrated here. Please refer to Salome documentation for more complex methods.

Automatic Tetrahedralization Body Fit

Mixed Meshing with Refined Sheath Mesh 49

3D Mesh Example 1

This section provides an example of creating a hexahedral 3D mesh using Body Fitting Parameters 50 Creating 3D Mesh in Salome

Create a new mesh on Partition and assign the following Body Fit parameters 51 Creating 3D Mesh in Salome

Create Groups from Geometry on Mesh_1 using the Solids and Faces that were named earlier in the Geometry Module. 52 Creating 3D Mesh in Salome

The mesh can now be exported as a UNV and converted to NEU 53

3D Mesh Example 2

This section provides an example of creating a tetrahedral 3D mesh using Automatic Tetrahedralization 54 Creating 3D Mesh in Salome

Create a new mesh on Partition and assign 3D: Automatic Tetrahedralization with a length of 0.25. 55 Creating 3D Mesh in Salome

Computer the mesh. Next we will add a slight refinement to the gas region. 56 Creating 3D Mesh in Salome

Create a new sub-mesh on the Gas region only. Assign the following NETGEN parameters. 57 Creating 3D Mesh in Salome

Compute the mesh. Notice the slight refinement in the gas region. Finally, create Groups from Geometry, export as UNV, then convert to NEU. 58

3D Mesh Example 3

This section provides an example of creating a mixed 3D mesh using a series of sub-meshes to provide refinement in the sheath region. 59 Creating 3D Mesh in Salome

First create a new mesh and apply the NETGEN 3D method. This will be used because this will be overwritten by a series of sub-meshes. 60 Creating 3D Mesh in Salome

Create a sub-mesh on TopElectrode with the following NETGEN 1D-2D-3D parameters. 61 Creating 3D Mesh in Salome

Create a sub-mesh on the gas defined as Extrusion 3D 62 Creating 3D Mesh in Salome

Go back to the Geometry Module and explode gas-sym into edges so that one of the vertical edges can be used to create a sub-mesh for extrusion. 63 Creating 3D Mesh in Salome

Create a sub-mesh on Edge_1 to define how the mesh is extruded through the gas. Use Number of Segments set to 50 with a Table Density Distribution. Assign as shown. This distribution provides more refinement in the sheath and less in the bulk. 64 Creating 3D Mesh in Salome

Create one more sub-mesh on the bottom electrode. Use the NETGEN 1D-2D-3D method with parameters as defined below. 65 Creating 3D Mesh in Salome

Next, generate one sub-mesh at time. The order of sub-mesh creation is important.

Computer sub-mesh 2

Computer sub-mesh 4

Computer sub-mesh 3

Computer sub-mesh 5 66 Creating 3D Mesh in Salome

Next Create Groups from Geometry. The mesh can now be exported as a UNV and converted to NEU