## Studies and Solver Updates

COMSOL Multiphysics^{®} version 5.3a includes a new model reduction feature, more flexibility when combining solutions, and an option to reuse already computed data. Read more about all of the updates relating to studies and solvers below.

### Model Reduction

A new framework for model reduction is available in COMSOL Multiphysics^{®} version 5.3a that separates the processes of generating and using reduced models. Model reduction is a collective name for a range of numerical techniques that are used to generate more efficient models by reducing the number of degrees of freedom that are being solved for. A reduced model is an approximation to the original model, used to accelerate the solution process. One example would be cases where a similar computation needs to be performed many times using different input parameters. Before creating a reduced model, the user defines a set of input and output parameters, as well as a model reduction method (*Modal* or *AWE* in COMSOL Multiphysics^{®}). Then, a reduced model is generated, reproducing the original model as closely as possible, based on the set input-output relationship and a user-defined fidelity measure.

As part of the new framework, a separate study for model reduction has been introduced with support for using the modal solver as well as the asymptotic waveform evaluation (AWE) solver. You can perform a transient simulation or a frequency sweep directly in the model reduction study, and produce a reduced model to use in a different context, if desired. The reduced models can define global variable outputs and reconstruct selected parts of the unreduced model. When using the modal solver, you can use global parameters to define model control inputs for the reduced model, to be substituted with global expressions, making it possible to feed the reduced models rather freely. The reduced models produced by the modal solver can also be used to retrieve the system matrices of the reduced linear system through the Java^{®} API or with LiveLink™ *for* MATLAB^{®}, including matrices on state-space form.

Note that the *Model Reduction* study is only available from the *Study* context menu when you have the *Advanced Study Options* enabled.

The workflow for building a reduced model is as follows:

- Select the model-reduction method to apply:
*Modal*or*AWE*

a. For the*Modal*method, select the*Training*study to use:*Eigenvalue*or*Eigenfrequency*study step - Define the unreduced model by selecting a compatible separate study step

a. For the*Modal*method, define reduced model control inputs - Define reduced model outputs
- Compute the study to produce a reduced model according to the settings defined

a. The reduced model is then found under the*Global Definitions*node

### New Tutorial Model: Thermal Controller, Reduced-Order Model

This tutorial demonstrates how to create a reduced-order model using the Model Reduction study and how the resulting reduced model can be used to investigate different control strategies for thermal control. The thermal controller system includes a thermostat that turns the heater on and off when the temperature is too low or too high. A metal block acts as the heater that exchanges heat with the exterior domain. The results include a comparison with the associated FEM model that uses probes to measure the temperature.

*The results from the reduced-order model (blue and green lines) compare favorably with the outputs from the FEM simulation (red and cyan lines).*The results from the reduced-order model (blue and green lines) compare favorably with the outputs from the FEM simulation (red and cyan lines).

**Application Library path:**

*COMSOL_Multiphysics/Tutorials/thermal_controller_rom*

### Parallelized Smoothed Aggregation Algebraic Multigrid (SA-AMG)

The setup of the SA-AMG is parallelized. The SA-AMG solver is primarily used for CFD simulations and the setup phase of SA-AMG now takes advantage of multicore and distributed memory. This leads to a faster setup on multicore processors and a reduced memory peak on clusters.

### Remove Selections When Combining Solutions

The *Combine Solutions* feature now allows you to keep only selected parts of a solution with respect to solution times, eigenfrequencies, and parameters. This is useful for reducing the amount of data stored for large models as well as for filtering unwanted solutions for the purposes of postprocessing.

### Compute Weighted Sums of Solutions

A new option in the *Combine Solutions* feature allows you to compute a weighted sum of solutions, for example: time, eigenfrequencies, and parameters.

### Eigenfrequency Parametric Solver

The *Eigenfrequency* and *Eigenvalue* study steps have been extended with support for auxiliary parameter sweeps, similar to the functionality in the *Time Dependent* study. The *Auxiliary sweep* uses a more efficient algorithm for varying the parameters, as compared to the *Parametric Sweep*, and reduces solution time and storage when applicable. On clusters, you can use the *Distribute parametric solver* option, which is very efficient for problems that fit into a single node for each parameter value.

### Reuse Already Computed Data

There are new options that allow you to reuse data in the linear solvers, which can give significant performance improvements in many cases. The performance in several linear solvers is improved by reusing data from previous steps in the nonlinear, time-dependent, and parametric solvers. For large models, the performance improvement can be up to 30% when a direct linear solver is used in nonlinear iterations.

The new options to reuse data are enabled by default and can increase memory usage compared to when the options are disabled. The new options are in some cases weakly dependent on the system matrix, meaning that they can give another convergence rate in some cases. When the reused data is utilized and there are convergence issues, the related solver data is updated.

### New Options to Control Iterative Solver Termination

You can now control the relative residual with a separate tolerance when using left preconditioning in the iterative solver. The new requirement on the residual ensures that the iterative solver does not terminate too early when left preconditioning is used, improving the robustness of the iterative solver.

There is also a new option that allows you to terminate on fewer iterations in the intermediate nonlinear solver steps. This option allows you to control the work done by the linear solver in each nonlinear step. The number of iterations in the last nonlinear solver step is still controlled by the *Maximum number of iterations* setting.

### Automatic Scales Supported in the Matrix-Free Format

The matrix-free format now estimates scales of its field components automatically. This can lead to significant improvements in convergence rate for the boundary element method (BEM) where the matrix-free format is used by the fast solver.

### New Batch and Cluster Options When Running in Batch Mode

COMSOL Multiphysics^{®} supports several different types of parametric sweeps including *Distributed Parametric Sweep*, *Batch Sweep*, and *Cluster Sweep*. On one hand, a *Distributed Parametric Sweep* handles different parameters in parallel within an MPI-based job, where different processes are used for computations corresponding to different parameters. On the other hand, a *Batch Sweep* or *Cluster Sweep* starts several processes in parallel, runs them independently, and then collects the result into the main user-interface-based process. In previous versions of the COMSOL^{®} software, you could not start a *Batch Sweep* or *Cluster Sweep* from a batch command, but this functionality is now available with the new command-line options **-mode batch** and **-mode desktop**. This functionality may be useful if you run the software on a system where, for some reason, there is no user interface access.

In most cases, a *Distributed Parametric Sweep* is easier to work with since you simply select the check box *Distributed parametric sweep* and start in distributed mode. The *Batch Sweep* and *Cluster Sweep* require that you set up a number of paths and other configurations. *Batch Sweep* and *Cluster Sweep* are preferred if you want robustness with respect to potential convergence issues and the possibility for individual parameter restarts. Note that *Distributed Parametric Sweep* and *Cluster Sweep* are only available for the Floating Network License (FNL), but that *Batch Sweep* is available for single-user licenses.

There are several new command-line options when running in batch mode from the operating system command line. The options **-clearmesh** and **-clearsolution** clear the meshes and solutions, respectively, before the model is saved to a file. This is useful when you only want to keep scalar outputs such as probe data in the output file. The options **-cancel** and **-stop** cancel and stop a batch job that is already running. The option **-jobfile** **<filename>** reads a file containing a list of input files and runs a batch job for each input file. You can also run method calls from batch with the option **-methodcall** **<method name>** where method name is the tag of the *Method Call* feature.

### Updates to Cluster Computing and Remote Computing

There is now support for PBS-based schedulers in cluster computing. In the *Remote Computing* settings, there are now options to save the batch command lines used by COMSOL Multiphysics^{®} to a file and to save a list of all files that should be transferred to a remote computer and a list of files that should be transferred back. This allows you to run batch jobs remotely in cases when the remote computer cannot be accessed from the computer creating the batch jobs. When the batch jobs are finished and the resulting files are copied from the remote computer, the results will be updated.