Intact.Simulation for nTop Manual

Intact.Simulation offers a revolutionary meshing-free finite element method now fully integrated with nTop’s connector layer, enabling users to explore their design space rapidly without the usual meshing bottlenecks. This advanced technology is particularly adept at handling large geometric complexities, such as intricate lattice structures, which are often challenging to mesh using traditional finite element analysis (FEA) methods.

Key features and capabilities

  • Geometry Support

    • Implicit

    • VDB

    • Surface Mesh

  • Physics Support

    • Stress

    • Thermal

    • Modal

    • Thermoelasticity

1. Getting Started

1.1 Installation and Accessing Intact inside nTop

  1. Download and install Intact Simulation for nTop

    1. You will receive download info and trial license in the email after applying for beta.

    2. Default Installation directory (Intact Directory): C:\Users\$username$\AppData\Local\Programs\Intact.Simulation for nTop

    3. Documentation and Example files are in

      C:\Users\$username$\AppData\Local\Programs\Intact.Simulation for nTop\Getting Started

    4. Custom block connector files are installed to C:\ProgramData\nTopology\connectors\intact-ntop-connector

  2. Restart nTop. Now you can access Intact Blocks within the Connectors ribbon tab or by searching “Intact“

Connector Ribbon

1.2 Example Simulations

📌 See the file Example_GyroidShear.ntop in the Getting Started folder.

Change the parameter Gyroid Cell Size to automatically update the simulation results.

Example Gyroid Shear

2. Connector Blocks

2.1 Intact Stress Block

This block has the following inputs:

  • (optional) Project Name: A unique simulation name to store multiple runs in the same directory for additional post-processing or resampling.

  • (optional) Project Directory: A directory to save the simulation files to for additional post-processing or resampling.

  • Virtual Domain List: Accepts a list of Solid Domain blocks using the implicit body overload.

  • Simulation Geometry: Specifies the type of geometry used in simulation, takes: voxel grid, surface mesh, or direct on implicit.

  • Geometric Tolerance: The fidelity used for Simulation Geometry, voxel size or mesh tolerance.

  • Boundary Condition List: Accepts a list of nTop boundary conditions using either

    1. CAD Face overload

    2. Boundary overload using an implicit input via Virtual Boundary by Body

  • Use Inertial Relief?: Boolean toggle to use inertial relief in absence of sufficient FE contraints.

  • Basis Order: Selection of linear or quadratic order for the finite element analysis.

  • Resolution: Simulation fidelity, approximate number of elements to use.

  • Use Cell Size?: Boolean toggle to use cell size directly instead of resolution.

  • Cell Size: Simulation fidelity, edge length of each element

  • Solver Type: Selection of default, direct, or iterative solver.

Untitled

2.2 Intact Thermal Block

This block has the following inputs:

  • (optional) Project Name: A unique simulation name to store multiple runs in the same directory for additional post-processing or resampling.

  • (optional) Project Directory: A directory to save the simulation files to for additional post-processing or resampling.

  • Virtual Domain List: Accepts a list of Solid Domain blocks using the implicit body overload.

  • Simulation Geometry: Specifies the type of geometry used in simulation, takes: voxel grid, surface mesh, or direct on implicit.

  • Geometric Tolerance: The fidelity used for Simulation Geometry, voxel size or mesh tolerance.

  • Boundary Condition List: Accepts a list of nTop boundary conditions using either

    1. CAD Face overload

    2. Boundary overload using an implicit input via Virtual Boundary by Body

  • Basis Order: Selection of linear or quadratic order for the finite element analysis.

  • Resolution: Simulation fidelity, approximate number of elements to use.

  • Use Cell Size?: Boolean toggle to use cell size directly instead of resolution.

  • Cell Size: Simulation fidelity, edge length of each element

  • Solver Type: Selection of default, direct, or iterative solver.

Untitled

2.3 Intact Modal Block

This block has the following inputs:

  • (optional) Project Name: A unique simulation name to store multiple runs in the same directory for additional post-processing or resampling.

  • (optional) Project Directory: A directory to save the simulation files to for additional post-processing or resampling.

  • Virtual Domain List: Accepts a list of Solid Domain blocks using the implicit body overload.

  • Simulation Geometry: Specifies the type of geometry used in simulation, takes: voxel grid, surface mesh, or direct on implicit.

  • Geometric Tolerance: The fidelity used for Simulation Geometry, voxel size or mesh tolerance.

  • (optional) Boundary Condition List: Accepts a list of nTop boundary conditions using either

    1. CAD Face overload

    2. Boundary overload using an implicit input via Virtual Boundary by Body

  • Desired Eigenvalues: Specifies the number of eigenvalues to solve for.

  • Basis Order: Selection of linear or quadratic order for the finite element analysis.

  • Resolution: Simulation fidelity, approximate number of elements to use.

  • Use Cell Size?: Boolean toggle to use cell size directly instead of resolution.

  • Cell Size: Simulation fidelity, edge length of each element

  • Solver Type: Selection of default, direct, or iterative solver.

Untitled

2.4 Intact Thermoelastic

This block has the following inputs:

  • (optional) Project Name: A unique simulation name to store multiple runs in the same directory for additional post-processing or resampling.

  • (optional) Project Directory: A directory to save the simulation files to for additional post-processing or resampling.

  • Virtual Domain List: Accepts a list of Solid Domain blocks using the implicit body overload.

  • Simulation Geometry: Specifies the type of geometry used in simulation, takes: voxel grid, surface mesh, or direct on implicit.

  • Geometric Tolerance: The fidelity used for Simulation Geometry, voxel size or mesh tolerance.

  • Boundary Condition List: Accepts a list of nTop boundary conditions (linear elastic and thermal) using either

    1. CAD Face overload

    2. Boundary overload using an implicit input via Virtual Boundary by Body

  • Use Inertial Relief?: Boolean toggle to use inertial relief in absence of sufficient FE contraints.

  • Basis Order: Selection of linear or quadratic order for the finite element analysis.

  • Resolution: Simulation fidelity, approximate number of elements to use.

  • Use Cell Size?: Boolean toggle to use cell size directly instead of resolution.

  • Cell Size: Simulation fidelity, edge length of each element

  • Solver Type: Selection of default, direct, or iterative solver.

Untitled

2.5 Intact Resample

Note this block only works for Intact Stress Blocks currently. This block has the following inputs:

  • Intact Stress: The Intact Stress block to be resampled

  • (optional) Project Name: The same Project Name optionally used in the Intact Stress block.

  • Project Directory: The same Project Directory files were optionally stored in with Intact Stress

  • Resampling Mesh List: A list of meshes to visualize/sample the solution onto.

  • Material List: A list of materials used for each mesh (should be the same as in Intact Stress). Note these lists must be the same length

  • Resampling ID: Unique file identifier (for multiple resampling instances of the same Intact Stress)

Untitled

2.6 Intact Sample Points

Note this block only works for Intact Stress Blocks currently. This block has the following inputs:

  • Intact Stress: The Intact Stress block to be resampled

  • (optional) Project Name: The same Project Name optionally used in the Intact Stress block.

  • Project Directory: The same Project Directory files were optionally stored in with Intact Stress

  • Sampling Points: A list of points to visualize/sample the solution onto.

  • Material: A material used for sampling the points (should be the same as in Intact Stress).

  • Resampling ID: Unique file identifier (for multiple resampling instances of the same Intact Stress)

Untitled

3. How To: Block Inputs

3.1 Domain

The Virtual Domain List input takes a list of virtual domains consisting of a Solid Domain block, which also contains a Solid Attribute block carrying the material properties.

Untitled

3.2 Boundary Conditions

The Boundary Condition List input uses default ntop boundary condition blocks with either a CAD Face List overload or a virtual boundary by body.

Untitled

Selection Region / Mask on Implicit Boundary Conditions

In nTop, since we’re working with implicit geometry, there isn’t an explicit notion of discrete “faces” that you can select like in CAD/B-rep models. The boundary is defined implicitly, so we need a way to localize where to apply conditions.

The “mask” is just a selection region in space. We intersect that region with the implicit boundary, and the portion of the boundary inside the mask becomes the face where the BC is applied. See the figure below for a 2D example.

Implicit BC Mask

3.3 Simulation Settings

Intact.Simulation allows customizations to support rapid coarse as well as accurate fine simulation as desired. The following Simulation Settings are available:

  • The Basis order is the order of finite elements used. It can be Linear (default) or Quadratic.

    • Note that with quadratic elements, far fewer elements are needed to compute an accurate solution. However, quadratic elements are much more expensive in terms of time and memory resources than linear elements.

    • Recommendation:

      • Quadratic elements are suited for bending dominant problems like thin shells and beam-type structures.

  • Specify Precision Type and Precision Value for the desired accuracy/speed of the simulation.

    • Resolution is the target number of finite elements. An iterative process determines a Cell size that achieves approximately the specified number of elements. The simulation log in the Project directory contains the exact cell size and number of finite elements used in the simulation.

    • You can toggle on Use Cell Size? to directly specify the Cell Size instead of the Resolution, for example, when you want to resolve the correct behavior of certain geometric features. Note that when Use Cell Size? is On, Resolution is ignored.

    • The immerse grid for the simulation is stored in _solution.vtu in the project folder and can be visualized if desired (using Paraview).

    • Recommendation:

      • We recommend using Resolution if you are unsure of the cell size. A small Cell Size can quickly result in a large number of finite elements and long solve times.

  • Solver Type is the linear solver used in the simulation with the following options:

    • Direct “directly” solves the linear system and is very robust but typically consumes more memory, which can be a problem for high resolution or small cell size.

    • Iterative solves the linear system “iteratively” and uses less memory than Direct. They are suited for high resolutions.

    • Default: Sets the solver automatically based on Basis order and Resolution .

      • For static structural Linear elements, default is Iterative Solver for resolution greater than 200K and Direct Solver for less than 200K. Note that if the Precision Type is cell size, the default is always Iterative for linear elements. Quadratic elements, it defaults to Direct solver for all resolutions or cell sizes.

      • Thermal solvers default to Direct, if desired Iterative can be manually selected for some cases which utilize large amounts of memory.

4. Result Visualization

4.1 Default Result Visualization

By default, the visualization produced by the Intact Stress block includes both Displacement, Strain, and Stress fields. These can be accessed like other simulation results in nTop. Currently, visualization is supported on a surface tessellation for surface mesh/voxel grid, or slices for implicit geometry (visualization directly on implicit is a work in progress).

Untitled

Untitled

Resampling Immerse Grid Solution

The solution is computed on an immersed grid and can be interpolated within the grid cells. To resample an existing solution, use the Intact Resample block**.** Resampling can generate a better visualization or create slice/cross-section views.

📌 For a resampling example see the file Example_StaticConnectingRod.ntop and Example_GyroidShear.ntop in the C:\Users\$username$\AppData\Local\Programs\Intact.Simulation for nTop\Getting Started\Static Structural folder. Update the Intact Directory/Project Directory variables and manually run the unloaded blocks to generate the geometry.

alt text

alt text

alt text

5. Technology Overview

5.1 Immersed Method of Moments Overview

Immersed Method of Moments (IMM) is a technology that uses the Finite Element Analysis (FEA) for performing simulation tasks, without the need to build a conformal mesh. IMM adopts an immersed-grid methodology where the geometry is “immersed” in a non-conformal background grid; and our patent-pending moment-vector technology is used to compute geometry and material-dependent quantities (e.g., element quadrature) at runtime for the FEA.

Figure: Immersed method of moments: Geometry is immersed in a grid & solved using the method of moments.

Figure: Immersed method of moments: Geometry is immersed in a grid & solved using the method of moments.

The above picture captures the essence of IMM. The geometry (left image) is immersed in a background analysis grid (middle image). The elements in the analysis grid are conventional FEA elements (e.g., 8-noded hexahedral linear elements or 27-noded hexahedral quadratic elements), except that the quadrature used for the elements are computed using the method of moments. For instance, an element that is completely inside the the geometry will have quadrature that is different from an element that is only partially inside the geometry. After computing the solution on the analysis grid, the quantities of interest are projected back on to the native geometry (right figure).

5.2 Benchmarks

Complex Benchmark- Lightweight Piston Connecting Rod

This comparison is for a complex geometry with a lattice. The goal is to compare the displacement and stress results for a similar number of elements. The stresses are compared away from stress singularity as stresses in areas of stress concentration do not converge.

📌 See the file Example_StaticConnectingRod.ntop in the Getting Started\Static Structural folder. Update the Intact Directory/Project Directory variables and manually run the unloaded lattice block to generate the geometry.

Number of Elements

Displacement (mm)

Total Time (secs)

nTop mesh-based FEA

330,000

1.18

215 (includes meshing)

Intact IMM FEA

300,000

1.20

229 (includes VDB export)

von Mises Stress comparison

Untitled

Untitled

Untitled

Untitled

Standard Benchmark- Beam

📌 See the file Benchmark_PlateWHole.ntop in the Getting Started\Static Structural folder. Update the Intact Directory/Project Directory variables and manually run any necessary unloaded blocks.

Displacement from Intact IMM vs nTop mesh-based FEA

Analytical

nTop mesh-based FEA

Intact IMM FEA

Beam Bending

59.19 mm

58.98 mm

58.57 mm

Beam Twisting

-

15.78 mm

15.77 mm

Beam Bending - nTop mesh-based:

Beam Bending- nTop mesh-based

Beam Bending - Intact:

Beam Bending- Intact

Beam Twisting - nTop mesh-based:

Beam Twisting- nTop mesh-based

Beam Twisting - Intact:

Beam Twisting Intact

Standard Benchmark- Plate with a Hole

📌 See the file Benchmark_PlateWHole.ntop in the Getting Started\Static Structural folder. Update the Intact Directory/Project Directory variables and manually run any necessary unloaded blocks.

The figure below compares stress concentration due to the hole in a plate as obtained from mesh-based FEA and Intact IMM FEA.

Untitled

Untitled

The theoretical stress concentration (Stress XX) value can be computed using the analytical formulation for the stress concentration factor given as (d is hole diameter and W is plate width)

Untitled

The above formula leads to a Kt = 2.233 and the resulting theoretical stress concentration value 3.72 Pa .

Standard Thermal Benchmark - Cylinder with Convection

📌 See the file Benchmark_ThermalCylinder.ntop in the Getting Started\Thermal folder. Update the Intact Directory/Project Directory variables and manually run any necessary unloaded blocks.

Reference*

nTop mesh-based FEA

Intact IMM FEA

Inner Temperature (K)

545.45

545.36

545.44

Outer Temperature (K)

478.25

477.96

477.66

Inner Convection (W/m^2)

34,160

33,294

33,605

Outer Convection (W/m^2)

26,280

27,164

26,478

*Societe Francaise des Mecaniciens. Guide de validation des progiciels de calcul de structures. Paris, Afnor Technique, 1990. Test No. TPLA03/89.

Temperature - nTop mesh-based:

alt text

Temperaure - Intact:

alt text

Heat Flux - nTop mesh-based:

alt text

Heat Flux - Intact:

alt text