This documentation is not for the latest stable Salvus version.
Salvus version: 0.12.16
This document describes all the various parameters and settings for meshes of the Globe3DSurfaceWaves type available when using the simple_mesh
interface of SalvusMesh:
from salvus.mesh import simple_mesh m = simple_mesh.Globe3DSurfaceWaves(...) # Accessing the elements_per_wavelength parameter in the basic group m.basic.elements_per_wavelength = 2.0
[basic]
The most important parameters for Surface Wave Meshes (EXPERIMENTAL).
Required: True
Detailed description of all parameters:
model
Pretty name: 1D Model
Description: Model Name for predefined 1D models or filename for external 1D model file.
Parameter type: string
Required: True
elements_per_wavelength
Pretty name: Elements per Wavelength
Description: Number of elements per wavelength at the mimimum period. Used to calculate element sizes in the 1D model as a function of depth.
Parameter type: number
Required: True
nelem_vertical
Pretty name: Number of elements in vertical direction
Description: Number of elements in vertical direction in each layer in the background model, starting from the top
Parameter type: array of integers
Required: False
lmax_at_discontinuities
Pretty name: Maximum angular order at all discontinuities in the model
Description: Maximum angular order at all discontinuities in the model
Parameter type: array of integers
Required: True
Default: [32, 32]
max_nrefine
Pretty name: Maximum number of horizontal refinements
Description: Maximum number of horizontal refinements
Parameter type: integer
Required: True
Default: 3
[advanced]
Advanced parameters for more control on seismic wave sisimulation meshes.
Required: True
Detailed description of all parameters:
courant_number
Pretty name: Courant Number
Description: Courant Number used to estimate dt.
Parameter type: number
Required: True
Default: 0.6
tensor_order
Pretty name: Tensor Order
Description: Spatial order used for shape mapping and model representation.
Parameter type: integer
Required: True
Default: 1
model_parameters
Pretty name: Model Parameters
Description: Model parameters to put into the mesh, defaults to the parametrization used by the 1D background model. This can be used for example to create an anisotropic parametrization of an isotropic model.
Parameter type: array of strings
Required: False
Default: []
Possible values: "g"
, "dg"
, "VP"
, "VS"
, "VSV"
, "VSH"
, "VPV"
, "VPH"
, "RHO"
, "QMU"
, "QKAPPA"
, "C11"
, "C12"
, "C13"
, "C14"
, "C15"
, "C16"
, "C21"
, "C22"
, "C23"
, "C24"
, "C25"
, "C26"
, "C31"
, "C32"
, "C33"
, "C34"
, "C35"
, "C36"
, "C41"
, "C42"
, "C43"
, "C44"
, "C45"
, "C46"
, "C51"
, "C52"
, "C53"
, "C54"
, "C55"
, "C56"
, "C61"
, "C62"
, "C63"
, "C64"
, "C65"
, "C66"
, "A"
, "C"
, "L"
, "N"
, "F"
, "XI"
, "PHI"
, "LAMBDA"
, "MU"
, "KAPPA"
, "ETA"
velocity_model_representation
Pretty name: Velocity Model Representation
Description: How to represent the velocity model on the mesh. element_nodes: values are stored on each node of each element, allows discontinuities and variations inside each element, but produces large files. elements: one value per element, allows discontinuities but the model will be piecewise constant. nodes: one value per node, enforces a continuous model, using mean at values on discontinuities. The Salvus solver currently only supports 'element_nodes'.
Parameter type: string
Required: True
Default: "element_nodes"
Possible values: "element_nodes"
, "elements"
, "nodes"
model_spline_order
Pretty name: Model Spline Order
Description: Spline order used for model interpolation in case of layered models. Ignored for polynomial models like PREM.
Parameter type: integer
Required: True
Default: 3
compression
Pretty name: Compress Mesh
Description: If true, the final mesh will be compressed with gzip compression level 2. Compression is most effective for constant values and the compression level does matter much in that case. Slows down the mesh IO.
Parameter type: boolean
Required: True
Default: true
[attenuation]
Parameters for the memory variable approximation of attenuation. A detailed description can be found in van Driel et al. 2014b.
Required: True
Detailed description of all parameters:
number_of_linear_solids
Pretty name: Number of Linear Solids
Description: The number of standard linear solids used. 5 is conservative, in many applications 3 may be sufficient.
Parameter type: integer
Required: True
Default: 5
frequencies
Pretty name: Frequencies
Description: Minimum and maximum frequencies in the attenuation band. If either is not set, it will be determined automatically. Will be overwritten by 'auto_band'.
Parameter type: array of numbers
Required: False
Default: [0.001, 1.0]
power_law_reference_frequency
Pretty name: Power Law Reference Frequency
Description: Reference frequency for power law Q = Q_0 (f / f_0)^alpha, where Q_0 is taken from background model [Hz]. Also see Fichtner & van Driel 2014.*
Parameter type: number
Required: True
Default: 1.0
power_law_alpha
Pretty name: Power Law Alpha
Description: Exponent alpha for power law Q = Q_0 (f / f_0)^alpha. Also see Fichtner & van Driel 2014.*
Parameter type: number
Required: True
Default: 0.0
auto_band
Pretty name: Auto frequency bands
Description: Automatically determine attenuation band [f_min, f_max] using an empirical relation for the bandwidth and the resolved frequency of the mesh (provided in basic). Will overwrite any given frequencies.
Parameter type: boolean
Required: True
Default: true
[spherical]
Parameters for spherical meshes.
Required: True
Detailed description of all parameters:
min_radius
Pretty name: Mimumum Radius
Description: Minimum radius in km.
Parameter type: number
Required: True
Default: 0.0
ellipticity
Pretty name: Ellipticity
Description: Ellipticity of the planet (WGS84: 0.0033528106647474805, GRS80: 0.003352810681182319, MARS: 0.00589). If nonzero, the mesh will be deformed according to the Clairaut equation to match the given ellipticity at the surface.
Parameter type: number
Required: True
Default: 0.0
gravity
Pretty name: Gravity
Description: Add gravitational acceleration from the 1D model as a field to the mesh. Solves the Poisson equation in the 1D model.
Parameter type: boolean
Required: True
Default: false
[refinement]
Parameters for refinement of the meshes.
Required: True
Detailed description of all parameters:
refinement_style
Pretty name: Refinement Style
Description: The mesh refinement style. 'doubling' produces the highest quality elements and lowest element number, 'tripling' may be best for models with strong velocity constrasts.
Parameter type: string
Required: True
Default: "doubling"
Possible values: "doubling"
, "tripling"
hmax_refinement
Pretty name: h_max Refinement
Description: Criterion (vertical oversamping factor BEFORE the refinement) for moving refinement layers downwards to avoid small timesteps caused by placing a refinement into a thin layer. Smaller values = more aggressive, needs to be > 1. For coarse meshes, larger values may be required. Ignored for 'local' refinement styles, if available.
Parameter type: number
Required: True
Default: 1.5
refinement_bottom_up
Pretty name: Refinement Bottom Up
Description: There are two approaches of locating refinements in the mesh: top down approach means minimizing number of elements at the surface at the cost of more elements at the bottom (default). If the option refinement_bottom_up is set, the bottom up approach is used instead, that is minimizing number of elements at the bottom at the cost of more elements at the surface. Which one is more efficient depends on the velocity model and refinement style. Ignored for 'local' refinement styles, if available.
Parameter type: boolean
Required: True
Default: false
horizontal_max_slowness_layer_index
Pretty name: Horizontal maximum slowness layer index (EXPERIMENTAL)
Description: For low velocity layers at the surface, horizontal refinements can be avoided if the source is below the LVL and hence cannot excite waves above a certain slowness. This is a 1D argument and might not me valid in 3D, hence check carefully. Ignored for 'local' refinement styles, if available.
Parameter type: integer
Required: True
Default: 0
[topography]
Adding topography to the mesh.
Required: True
Detailed description of all parameters:
topography_file
Pretty name: Topography Filename
Description: Filename for topography, see here
Parameter type: string
Required: True
Default: ""
topography_varname
Pretty name: Topography Variable Name
Description: Variablename inside the topography file
Parameter type: string
Required: True
Default: ""
moho_topography_file
Pretty name: Moho Topography Filename
Description: Filename for moho topography, see here
Parameter type: string
Required: True
Default: ""
moho_topography_varname
Pretty name: Moho Topography Variable Name
Description: Variablename inside the moho topography file
Parameter type: string
Required: True
Default: ""
anisotropic_refinement_style
Pretty name: Refinement Style for Anisotropic Refinement
Description: Use anisotropic refinement to adapt the number of elements in vertical direction to the crustal thickness. Assumes to have a single crustal layer. 'doubling' should be the preferred method, but is not compatible with a true ocean layer or a gravity mesh.
Parameter type: string
Required: True
Default: "none"
Possible values: "none"
, "doubling"
, "tripling"
[ocean]
Adding a fluid ocean layer to the mesh.
Required: True
Detailed description of all parameters:
bathymetry_file
Pretty name: Bathymetry Filename
Description: Filename for bathymetry, see here
Parameter type: string
Required: True
Default: ""
bathymetry_varname
Pretty name: Bathymetry Variable name
Description: Variablename inside the bathymetry file
Parameter type: string
Required: True
Default: ""
ocean_layer_vp
Pretty name: Ocean Layer vp
Description: P-wave velocity in the ocean in m/s.
Parameter type: number
Required: True
Default: 1450.0
ocean_layer_density
Pretty name: Ocean Layer Density
Description: Density in the ocean in kg/m**3.
Parameter type: number
Required: True
Default: 1020.0
ocean_layer_cutoff
Pretty name: Ocean Layer Cutoff
Description: Minimum bathymetry in km to be treated as fluid elements, smaller elements will be masked out and ocean loading approximation is used.
Parameter type: number
Required: True
Default: 1.0
ocean_layer_maximum_element_oversize
Pretty name: Ocean Layer Maximum Element Oversize
Description: Maximum oversize in the lateral element dimension in the ocean layer, 1 meaning fully resolving all waves and larger values referg to the aspect ratio. A natural additional maximum to this is given by the ratio of vs in the crust to vp in the water.
Parameter type: number
Required: True
Default: 10.0
shore_smoothing_factor
Pretty name: Shore smoothing factor
Description: Fraction of the element size to move the shore edge towards the water. For complicated shore lines smaller values might work better.
Parameter type: number
Required: True
Default: 0.0
ocean_layer_style
Pretty name: Ocean Layer Meshing Style
Description: How to add the ocean layer. 'loading' only adds the bathymetry as a variable to be used for ocean loading, 'extrude' adds a single layer, 'anisotropic_' adds a locally varying number of elements. The latter is not compatible with anisotropic_refinement_style 'doubling' in the crust'. Only 'anisotropic_tripling' is compatible with a mesh in the external domain.*
Parameter type: string
Required: True
Default: "none"
Possible values: "none"
, "loading"
, "extrude"
, "anisotropic_doubling"
, "anisotropic_tripling"
[gravity_mesh]
Adding the Exterior Domain for Gravity Computation. Uses coarsening in lateral direction and increases radial element size following a power law.
Required: True
Detailed description of all parameters:
add_exterior_domain
Pretty name: Add Exterior Domain Switch
Description: Switch for addition of exterior domain for the solution of the Poisson equation.
Parameter type: boolean
Required: True
Default: false
ncoarse
Pretty name: Number of Coarsening Layers
Description: Number of coarsening layer between surface and outer boundary.
Parameter type: integer
Required: True
Default: 1
nelem_buffer_surface
Pretty name: Number of Buffer Elements
Description: Number of buffer elements between the surface and the first coarsening layer.
Parameter type: integer
Required: True
Default: 1
nelem_buffer_outer
Pretty name: Number of Buffer Elements
Description: Number of buffer elements between the last coarsening layer and the outer boundary.
Parameter type: integer
Required: True
Default: 5
nelem_bottom_integer_multiple
Pretty name: Integer Multiple for Number of Elements at ICB
Description: Number elements at the ICB will be an integer multiple of this number. This can be used to enable larger ncoarse by setting it to 2 n for doubling and 3 n for tripling, where n = ncoarse - number of refinements in the mantle + 1. (EXPERIMENTAL)
Parameter type: integer
Required: True
Default: 1
dr_basis
Pretty name: dr Basis
Description: Basis for power law dr in outer layer used to determine radial element size.
Parameter type: number
Required: True
Default: 1.5