Mondaic

Salvus 0.12.3

Released: 2022-07-03

This release introduces new modules or improved support for several physics in the simulation engine. This includes anisotropic acoustic media, native support for visco-acoustic simulations, and a new solver model for static problems to solve the Poisson equation. Some of the new features are currently only supported on CPU hardware.

Additionally, the release enables custom MPI commands, for instance to use machine files on remote machines and contains several small bug fixes.

Changes

SalvusCompute

Support waveform simulations and gradients w.r.t. medium properties in VTI acoustic media.

SalvusCompute

Support visco-acoustic modeling in the scalar wave equation. The implementation and API are very similar to visco-elastic modeling, and require the specification of linear solids and QKAPPA as a material parameter.

Previously, attenuation in a fluid could only be modeled as a degenerate case of elastic physics.

This feature is currently only supported on CPUs and SalvusCompute will throw an error when attempting to run a visco-acoustic simulation on a CUDA-enabled site.

SalvusFlow API CHANGE

Extend functionality of handling segy files for adding external data to a project.

Instead of just passing the source mechanism, users can now define simple callback functions for sources and receivers to create Salvus objects from the information stored in segy files. This breaks the previous syntax of the implementation of SegyEvent, but it should be straightforward to upgrade.

SalvusFlow

Minor improvement in the SSH connection error handling. It should now report a better error message.

SalvusFlow

Extra keyword arguments can now be passed to paramiko.SSHClient.connect() to allow more fine tuning for some SSH connections.

Usage in the site config file:

[sites.my_site.ssh_settings]
    hostname = "some_host"
    username = "some_user"
    [sites.my_site.ssh_settings.extra_paramiko_connect_arguments.disabled_algorithms]
        pubkeys = ["rsa-sha2-512", "rsa2-sha2-256"]

Furthermore the init-site command now has a --verbose flag to facilitate debugging tricky connections:

salvus-cli init-site my_site --verbose
SalvusFlow

A new mpirun_template parameter for ssh and local site types that allows full customization of the actual call to mpirun in case it is necessary.

Usage in the site config file:

[sites.my_site.site_specific]
    mpirun_template = "/custom/mpirun -machinefile ~/mf -n {RANKS}"

This example will thus use a custom mpirun executable with a non-standard argument for all Salvus runs on that site. The {RANKS} argument will be filled in by Salvus with the number of ranks for each simulation.

SalvusProject

Changes to the event configuration in UnstructuredMeshSimulationConfiguration objects are now properly recognized when trying to overwrite an existing configuration of the same name.

Changes to Experimental Features

SalvusCompute

Add a new physics module to solve the Poisson equation.

This is the first elliptic PDE that can be solved with Salvus. The Poisson equation is useful for simulatingthe gravitational potential of a planetary object as well as computing correct inner products and regularization terms in the Sobolev space H1H^1.

This feature is currently only supported on CPUs and is considered experimental.