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¶
Download and install Intact Simulation for nTop
You will receive download info and trial license in the email after applying for beta.
Default Installation directory (
Intact Directory):C:\Users\$username$\AppData\Local\Programs\Intact.Simulation for nTopDocumentation and Example files are in
C:\Users\$username$\AppData\Local\Programs\Intact.Simulation for nTop\Getting StartedCustom block connector files are installed to
C:\ProgramData\nTopology\connectors\intact-ntop-connector
Restart nTop. Now you can access Intact Blocks within the Connectors ribbon tab or by searching “Intact“

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.

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 forSimulation Geometry, voxel size or mesh tolerance.Boundary Condition List: Accepts a list of nTop boundary conditions using eitherCAD Face overload
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 elementSolver Type: Selection of default, direct, or iterative solver.

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 forSimulation Geometry, voxel size or mesh tolerance.Boundary Condition List: Accepts a list of nTop boundary conditions using eitherCAD Face overload
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 elementSolver Type: Selection of default, direct, or iterative solver.

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 forSimulation Geometry, voxel size or mesh tolerance.(optional)
Boundary Condition List: Accepts a list of nTop boundary conditions using eitherCAD Face overload
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 elementSolver Type: Selection of default, direct, or iterative solver.

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 forSimulation Geometry, voxel size or mesh tolerance.Boundary Condition List: Accepts a list of nTop boundary conditions (linear elastic and thermal) using eitherCAD Face overload
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 elementSolver Type: Selection of default, direct, or iterative solver.

2.5 Intact Resample¶
Note this block only works for Intact Stress Blocks currently. This block has the following inputs:
Intact Stress: TheIntact Stressblock to be resampled(optional)
Project Name: The sameProject Nameoptionally used in theIntact Stressblock.Project Directory: The sameProject Directoryfiles were optionally stored in withIntact StressResampling 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 inIntact Stress). Note these lists must be the same lengthResampling ID: Unique file identifier (for multiple resampling instances of the sameIntact Stress)

2.6 Intact Sample Points¶
Note this block only works for Intact Stress Blocks currently. This block has the following inputs:
Intact Stress: TheIntact Stressblock to be resampled(optional)
Project Name: The sameProject Nameoptionally used in theIntact Stressblock.Project Directory: The sameProject Directoryfiles were optionally stored in withIntact StressSampling Points: A list of points to visualize/sample the solution onto.Material: A material used for sampling the points (should be the same as inIntact Stress).Resampling ID: Unique file identifier (for multiple resampling instances of the sameIntact Stress)

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.

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.

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.

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 orderis the order of finite elements used. It can beLinear(default) orQuadratic.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.
Resolutionis the target number of finite elements. An iterative process determines aCell sizethat 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 theCell Sizeinstead of theResolution, for example, when you want to resolve the correct behavior of certain geometric features. Note that whenUse Cell Size?isOn,Resolutionis ignored.The immerse grid for the simulation is stored in
_solution.vtuin the project folder and can be visualized if desired (using Paraview).Recommendation:
We recommend using
Resolutionif you are unsure of the cell size. A smallCell Sizecan quickly result in a large number of finite elements and long solve times.
Solver Typeis 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.Iterativesolves the linear system “iteratively” and uses less memory thanDirect. They are suited for high resolutions.Default: Sets the solver automatically based onBasis orderandResolution.For static structural
Linearelements, default isIterativeSolver for resolution greater than 200K andDirectSolver for less than 200K. Note that if thePrecision Typeiscell size, the default is alwaysIterativefor linear elements.Quadraticelements, it defaults toDirectsolver for all resolutions or cell sizes.Thermal solvers default to
Direct, if desiredIterativecan 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).


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.



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.
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




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 - Intact:

Beam Twisting - nTop mesh-based:

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.


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)

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:

Temperaure - Intact:

Heat Flux - nTop mesh-based:

Heat Flux - Intact:
