The COMSOL® Product Suite

The COMSOL® Product Suite

Application Builder Features and Functionality

The COMSOL Multiphysics® software includes the Application Builder, which helps you build custom simulation applications based on your models. By deploying your apps, you can share the power of simulation with colleagues in other departments and to customers outside of your organization.

Benefits of Simulation Apps

Mathematical Models, Accessible to Everyone

The Application Builder enables simulation experts to create intuitive user interfaces for their computational models — ready-to-use custom applications. The app user is then focused on the input parameters and computational results that matter, without requiring foreknowledge of the underlying model.

The Application Builder is included in the Windows® version of COMSOL Multiphysics® and accessible from the COMSOL Desktop® environment. While you need Windows® to build apps, they can be run on macOS and the Linux® operating system as well.

Comprehensive Simulation Tools for Specific Tasks

COMSOL apps are custom-made simulation tools that contain all the benefits of a model built with the Model Builder, without the extraneous information. The general model can serve as a starting point for several different apps, each with its own restricted input and output options relevant for a specific task.

The Application Builder in COMSOL Multiphysics® provides all functionality needed to build comprehensive simulation apps. For example, you can:

  • Include user documentation, checks for “inputs within bounds”, and predefined reports at the click of a button
  • Build the geometry around a parametric CAD model
  • Import text or binary files with experimental data
  • Configure the app to automatically send an email to a select set of recipients when a computation is finished
  • Generate reports in Microsoft® Word®, Microsoft® PowerPoint®, or HTML formats

Beyond the built-in tools, you can write methods in the Java® programming language. There are very few limitations for what you can include in an app.

The user interface of a Truck Mounted Crane Analyzer simulation app with input fields on the left and the resulting model on the right. A simulation app for analyzing how different crane designs would perform with respect to payload capacity and hydraulic cylinder usage.
The user interface of a Water Treatment Basin simulation app with input fields on the left, the resulting model in the center, and guide on the right. A simulation app for analyzing different water treatment basin designs based on specific input parameters.
The user interface of an Li Battery Pack Designer app with battery cell input fields on the left, resulting model in the center, and a Help section on the right. A lithium-ion battery pack simulation app with built-in support for import and visualization of experimental data and comparison with simulation results.
The user interface of a Slot-Coupled Microstrip Patch Antenna Array simulation app with input fields on the left and model results on the right. A simulation app for designing slot-coupled microstrip patch antenna arrays based on specific input parameters.

Functionality for Building Apps

The Form Editor

The Form Editor lets you design a user interface by using drag-and-drop capabilities to place widgets such as input fields, buttons, sliders, knobs, check boxes, and radio buttons. No programming is required for this, but the entire process is user-interface driven. If the model makes use of parameters and variables, you link these directly to input fields in the application. In this way, the user of an app can directly edit the values of the parameters and variables that affect the model. In one click, you can include a button in your app that runs a study node and thereby starts the solver. Just as quickly, you can include graphics and numerical outputs. Your apps can have multiple graphics windows with interactive 3D graphics, as well as 2D or 1D graphics.

The Method Editor

The Method Editor provides a programming environment that allows you to write code for actions not covered by the tools in the Model Builder. The methods may, for example, execute loops, process inputs and outputs, and send messages and alerts to the user of the app. The Java® programming language is used to write COMSOL methods, which means that all Java® syntax and Java® libraries can be used. Additionally, the Application Builder has its own built-in library of methods for building applications and modifying the model object. The Application Builder includes several tools for automatically generating code. These tools include conversion of command sequences to methods, recording of code, and code completion, allowing you to get up and running quickly with programming tasks even if you are not familiar with the syntax. The autogenerated code shows you the names of properties, parameters, and variables with tooltips describing their meaning, minimizing the need to consult the product documentation.

Testing and Running Apps with COMSOL Multiphysics®

After building an app with the COMSOL Multiphysics® software, you can test and run it from the COMSOL Desktop® using Windows®, macOS, and Linux® operating systems. When you test an app in COMSOL Multiphysics®, it opens a separate window with the app's user interface while keeping the Application Builder desktop environment running. While testing an app, you can apply changes to forms, methods, and the embedded model and they will appear live.

You can also test the app in a web browser. This functionality makes it easy to test the look and feel of the app when it is accessed from a web browser connected to a COMSOL Server™ installation. You can choose which of your installed web browsers you would like the app to launch in. The app will open in a separate browser window with the application's user interface while keeping the Application Builder desktop environment running.

Examples for Inspiration

The Application Libraries, available in both COMSOL Multiphysics® and COMSOL Server™, have lots of examples for you to use and get inspired by when creating your own apps. The Application Libraries include more than 30 example apps that you can run, inspect, modify, or copy contents from into your own apps. Some of these apps function as ready-to-use simulations in their own right, whereas others are for demonstrating certain functionality of the Application Builder or for educational purposes in an academic setting.

The COMSOL Multiphysics UI showing the Form Editor in the Application Builder for an app that is being built. The Form Editor provides a complete toolkit for creating app user interfaces.
The COMSOL Multiphysics UI showing the Method Editor in the Application Builder with the computeAndUpdateResults method open. Method code for a custom secant method used for parameter optimization.

How to Deploy Your Simulation Apps

After building and testing your COMSOL simulation app, the next step is to share it with your end users: your design teams, manufacturing departments, process operators, test laboratories, customers, or clients. To do that, you need COMSOL Compiler™ or COMSOL Server™.

COMSOL Compiler™ is an add-on to COMSOL Multiphysics® that enables you to create standalone applications, which can be run on a desktop or laptop computer without a COMSOL Multiphysics® or COMSOL Server™ license. COMSOL Server™ is an application management tool with which you can safely and securely deploy applications, either through your internal network or worldwide across the web.

A laptop with a simulation app running. A simulation app being run on a laptop.

Every business and every simulation need is different. In order to fully evaluate whether or not the COMSOL Multiphysics® software will meet your requirements, you need to contact us. By talking to one of our sales representatives, you will get personalized recommendations and fully documented examples to help you get the most out of your evaluation and guide you to choose the best license option to suit your needs.

Just click on the "Contact COMSOL" button, fill in your contact details and any specific comments or questions, and submit. You will receive a response from a sales representative within one business day.

Next Step:
Request a Software
Demonstration