Salvus 0.12.3
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
Support waveform simulations and gradients w.r.t. medium properties in VTI acoustic media.
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.
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.
Minor improvement in the SSH connection error handling. It should now report a better error message.
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 --verboseA 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.
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
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 .
This feature is currently only supported on CPUs and is considered experimental.