JuliaSim combines the latest Scientific Machine Learning (SciML) techniques, acausal equation-based digital twin modeling and simulation, and the Julia programming language to speed design time by 80x.
JuliaSim ControlLearn More
Addressing the Challenges of Precision Model Tooling
With current model-building tools, building precise and accurate models which incorporate real-world data is difficult and labor-intensive. Precision tooling is non-standard and it can be challenging to calibrate large, stiff, and highly nonlinear models. In addition, non-linear optimizations require tens of thousands of algorithmic (Monte Carlo) simulations, making traditional computational software performance a bottleneck for completing any engineering design process. And at the end of the process, few tools if any quantify the uncertainty with respect to this workflow.
Optimize & Train FMUs
JuliaSim can take a new or legacy model via the FMU interface to optimize and calibrate it to make your model match real-world physics and data. It incorporates state-of-the-art methods such as differentiable programming and machine-learned surrogates in order to accelerate the process. Its robust optimization techniques allow for uncertainty quantification with respect to the optimization landscape.
The result? Calibrated digital twins which reduce the need for numerous and iterative lab and field tests, shrinking design time with cost savings that can reach millions. JuliaSim decreases design time by letting you do more on your computer and less in the field.
Looking for Model Predictive Control (MPC)?
Learn about JuliaSim Control in our webinar on MPC, trimming, and linearization in JuliaSim.Watch Now
Advanced Modeling and Simulation With Simple Code
Control Complexity with JuliaSim
JuliaSim Control offers a complete suite of tools for the analysis, design, and simulation of control systems. While you have access to all the standard control-systems tools from classical control theory, such as Bode plots, PID controllers, and LQG control design, JuliaSimControl especially focuses on advanced model-based control-design methods such as Model-Predictive Control (MPC), where JuliaSim allows users to build their model using a full-scale modeling language, and automatically generate code for an MPC controller.
- Model-predictive control (MPC) for linear and nonlinear systems
- Robust MPC for uncertain systems
- Surrogatization of MPC controllers for reduced computational complexity
- State estimation for nonlinear DAE-systems
- Optimal control and trajectory optimization
- PID autotuning to automate workflows and quickly tune PID controllers
- Automatic tuning of controller parameters to meet design criteria
- GUI apps for autotuning and model reduction
PID Autotuning GUI
The PID autotuner allows you to tune PID controllers automatically by specifying robustness constraints. The app requires a SISO LTI system as input, and returns the parameters of the tuned PI/PID controller.
Model Reduction GUI
Model reduction of LTI systems by means of balanced truncation is exposed through the model-reduction app. Users can select between model reduction using balanced truncation and coprime-factor reduction, as well as force the DC gain of the reduced-order model to match that of the full-order model exactly, and choose a frequency range within which to prioritize the fit of the reduced-order model.
The JuliaSim Difference
JuliaSim is the only platform for modeling and simulation that offers the combination of an acausal modeling language, high-performance solvers, and a complete suite of tools for the analysis and design of control systems all of which is embedded in a single, high-performance, and general-purpose programming language. With the ModelingToolkit modeling language and the DifferentialEquations suite of solvers, engineers are able to improve their simulation performance for the most challenging and stiff systems.
No modeling, simulation or control-design task exists in isolation. Engineering projects are a combination of a wide variety of design and analysis tasks that come together to bring a new feature, product, or service to life. Engineers often find themselves using multiple pieces of poorly interacting software to accomplish their work. JuliaSim was designed to eliminate this issue by having a single piece of software that can be used to build an acausal or causal model out of library components or equations, analyze and design a control system, simulate the final product, and deploy the resulting control software to the target system.
An Example Workflow - HVAC Design
Designing an HVAC system for a commercial building takes several steps, and JuliaSim is there for you along the entire path. Initially, a model of the building is required. The JuliaSim Building Library provides you with a database of material properties and a model-component library to get you modeling using ModelingToolkit in no time. If real-world data is available, unknown parameters of the model can at this stage be estimated using the JuliaSim Model Optimizer.
The building model is outfitted with HVAC components from the JuliaSim ThermalThermoFluids library, handling the difficult details of thermodynamics for you. A traditional engineering approach would spec the HVAC system using static analysis, making sure that the system is sized to handle the expected loads in steady state. With JuliaSim, engineers can perform not only static analysis, but also design based on dynamic conditions, making sure that the overall system performs adequately during transient conditions. This is made possible by the control and plant co-design capabilities of the JuliaSim Control library combined with JuliaSim ModelOptimizer. JuliaSim Control will help you design everything from low-level PID controllers, to whole-building MPC controllers to minimize energy consumption and operational costs, and maximize comfort for the building occupants, all using the building models written in ModelingToolkit.
Once the design is finalized and verified in simulation, JuliaSim Control helps you export the controller to run on your target hardware.
Learn more in our documentation or by reviewing our recent Control Systems webinars.Documentation Resources
Planning Space Missions
The Brazilian National Institute for Space Research (INPE) is the Brazilian government’s research institute for planning space missionsCase Study
Artificial Intelligence and Machine Learning
LakeTide uses Julia for data science and product developmentCase Study
Emergency Medical Supplies by Drone
Zipline uses Julia for aircraft simulation to deliver life-saving emergency medical supplies via drone in Africa and worldwideCase Study
You have data and a model, and you want the two to match. What do you do?
Register for our upcoming webinar "Model Calibration and Parameter Estimation with JuliaSim Model Optimizer" and learn how model optimization can help you.Watch Now
LEARN MORE ABOUT JULIASIM AND HOW IT IS BEING USED
Welcome to JuliaSim: An Introduction
Dr. Chris Rackauckas
Building Digital Twins with JuliaSim
DR. RAJ ABHIJIT DANDEKAR
Accelerating Functional Mock Up (FMU) Models
Simulate with speed and accuracy
- Efficient: outperforms C and Fortran methods
- Full-featured: use all of the latest techniques
Model symbolically, let the power of Julia simplify, accelerate, and parallelize
- Acausal component-based modeling
- High-Performance: let Julia generate the fastest possible code for the model
Model intuitively, but get the speed, performance, and features of a skilled coder
- Build models graphically, no code required
- Intuitively use all of the features of JuliaSim
Fast chemical reaction modeling, no hassle
- Concise chemical reaction notation
- Generate ODEs, SDEs, and Gillespie jump processes
Don’t start a model from scratch: build using a common set of components
- Quickly get real-world models running
- Worry about the engineering, not the math
Buildings use 40% of the world’s energy, don’t let it use that much of yours
- Fast and accurate refrigerant property models
- Everything from the ground up
Plug complete models of electrical devices into any physical system
- Industry-standard MOSFET models
- Import Spectre/SPICE netlists and direct schematics
Your domain-specific library
- With additional libraries in progress, reach out to us to discuss what library you might need to take advantage of JuliaSim
Discontinuity-Aware DAE Solver - Handle phase transitions, contacts, and more with ease
- Accelerate differential equation solves with implicit discontinuities
- Increase the stability and accuracy of difficult simulations
Accelerated Nonlinear Solver - Find your inner zen by reaching equilibrium faster
- Fast, specialized algorithm for solving steady-state equations
- Proprietary algorithmic enhancements for improved performance
Symbolic-Numeric BDF Solver - Faster and more robust stiff ODE and DAE solving
- Integrated ModelingToolkit.jl simplifications for more stability and performance from pure numerical methods
You bring the data, we give you the physical model
- Quickly generate predictive models from data
- Connect data-generated models to physics
You bring physics, we bring machine learning, for fast simulation
- Accelerate large simulations with machine learning-surrogates
- Connect surrogate models in Modeling Toolkit
Quickly convert models and data into calibrated systems with quantified uncertainties
- Model calibration with automated parallelism and uncertainty quantification
- Model autocomplete by using scientific machine learning (SciML) to discover missing physics
Take control of your hardware, explore your nonlinearities
- Linearized controls analysis
- Construct and calibrate Model-predictive controllers
Learn from your data, let the digital physics evolve
- Real-time model calibration from stream data
- Machine learning in the cloud – adapt over time
Drop an FMU in the mail, pick it up 1000x faster
- Import FMUs simulations from common tools
- Point and click machine learning returns a 1000x faster simulator
Making everyday engineering simpler
- Point-and-click optimization of PID parameters
- Robust sensitivity analyses included
Point and click digital twin generation, made for the engineer
- Import data from standard file formats
- Use machine learning without the hassle