Determinism instead of a black box.
The AI agent does not compute results itself, it generates an input script for the solver. Every run is deterministic, reproducible, and downloadable as a workspace, even years later.
Between the question “Will it hold?” and the report sit four clearly separated steps. Each has exactly one job, and each leaves a trace that can be checked.
Translates part, material, supports, and loads from plain language into a complete setup. Asks where information is missing and highlights the affected faces on the model.
“Fixed at the flange, 2 kN on the end face” becomes boundary conditions on specific faces.
A simulation is described by a Python script that drives the solver. The agent does not compute, it writes. The script is the complete, reproducible description of what gets computed.
Material, mesh targets, load cases, and target accuracy are plain text, not rows in a database.
The in-house FEM solver computes and refines server-side in a container; the mesh comes from the market-proven Simmetrix mesher, firmly integrated into the computation path. Same input, same result, on any machine.
A convergence study runs unattended until the specified target accuracy is reached.
Assumptions, mesh statistics, solver settings, and results land in a report built for review and sign-off in the team. The complete workspace stays downloadable.
A simulation expert sees at a glance which supports were assumed.
The AI agent does not compute results itself, it generates an input script for the solver. Every run is deterministic, reproducible, and downloadable as a workspace, even years later.
Others bolt assistants onto grown interfaces. At Dr.Q the solver was built for agent control from day one; the AI agent knows every function.
The solver detects typical user errors, checks plausibility, and runs automatic convergence studies. Assumptions, mesh, and settings are in the report.
Today's scope, in concrete terms. The first six rows are available in the product; the seventh shows what is in progress.
Parts arrive in the browser as STEP files. Automated meshing produces volume meshes of tetrahedra, linear or quadratic. Mesh density has three modes: physics-adaptive via the convergence study, geometry-driven from CAD features, or a custom size map. Mesh quality is checked per element and optimized automatically.
Linear elastic, isotropic material behavior, plus plasticity with isotropic hardening and viscoelastic behavior. Properties are Young's modulus, Poisson's ratio, density, and model-specific parameters, plus the coefficient of thermal expansion. The integrated unit system converts inputs internally, so that N and kN, or mm and m, do not get mixed up.
Fixed supports and prescribed displacements per direction, normal supports for symmetry and sliding surfaces, stabilization springs for weakly supported parts, each applied to faces of the CAD model. Assemblies compute with contact between parts: bonded, frictionless, or frictional.
Forces, pressures including internal pressure, moments, remote forces, inertial loads (gravity, acceleration, centrifugal), temperature loads, plus bolt pretension and rivets. Several load cases compute on the same mesh.
Beyond static structural analysis, the solver runs three further solution modes and couples them where it makes engineering sense.
Displacements as components and magnitude, equivalent stresses and strains after von Mises, Tresca, and Rankine, plastic strain, reaction forces, the safety factor against yield, and safety against buckling. Plus two quantities rarely shown elsewhere: element quality and the estimated discretization error of the mesh.
A capability is described here only once it is in production and technically signed off. In progress or in sign-off:
Six mechanisms that run in the background. None of them is magic, each of them is documented.
study = ConvergenceStudy( geometry_file_path, {0: steel})fixed_bc = DeflectionBc()force_bc = ForceBc()force_bc.force_vector = Vector3( Force.zero(), Force(2000.0, ForceUnit.N), Force.zero())study.boundary_conditions = [ fixed_bc, force_bc]study.questions = [Question( SolutionQuantity.VonMisesStress, Aggregation.Max, relative_error)]Input script, example
The browser shows the model, the conversation, and the result. Computation happens server-side: every run in a worker container with the compute the model needs. Hardware fits the simulation, not the other way around. No installation, no license server, no workstation running overnight.
Four principles that decisions in the solver and the product are measured against.
A fast result without a checkable path is not a result. Every run must be something a simulation expert can recompute.
The AI writes the setup, the solver computes the physics. Same input, same result, without exception.
Dr.Q takes the routine off the simulation team, not the responsibility. Hard cases stay with the experts, sign-off stays with the engineer.
No result is declared correct. Assumptions, mesh, and convergence history are in the report so every number can be checked.
Dr.Q computes structural mechanics for typical mechanical engineering components: linear static, with plastic material, large deformations, and contact between parts, plus natural frequencies and linear buckling. Extensions such as thermal analysis and beam or shell meshes are on the roadmap and will only be described once they are in production and technically signed off.
More than 40 customer projects have been computed on the in-house solver core.