{
    "componentChunkName": "component---src-templates-python-api-api-tsx",
    "path": "/2025.1.3/references/python_api/salvus/material/elastic/hexagonal",
    "result": {"data":{"site":{"siteMetadata":{"salvusDocVersions":{"current":"2026.5.0"}}},"jsonType":{"module_name":"salvus.material.elastic.hexagonal","module_docstring":"Hexagonal (VTI) anisotropic elastic materials.","classes":[{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants","name":"EngineeringConstants","init_documentation":{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.__init__","name":"__init__","signature":"class EngineeringConstants(salvus.material.elastic.hexagonal._Hexagonal):\n    def __init__(\n        self,\n        RHO: _pd.FC,\n        E1: _pd.FC,\n        E3: _pd.FC,\n        G13: _pd.FC,\n        V12: _pd.FC,\n        V13: _pd.FC,\n    ) -> None: ...","description":"An hexagonal material parametrized with engineering constants.\n\nAn hexagonal material has two planes of symmetry and therefore 6\nindependent parameters plus the density.\n\nThe shear moduli here are assumed to be in the engineering convention:\ntwice the normal shear moduli.\n\nThe following equalities hold compared to the full orthotropic case:\n- `E2 = E1`\n- `V32 = V31`\n- `V23 = V13`\n- `V31 / E3 = V13 / E1`\n- `V21 = V12`\n- `G21 = E2 / (2 * (1 + V21))`\n\nThe normal and reverse Poisson's ratios are also named the major and minor\nPoisson's ratio, depending on which has the larger magnitude. However, this\nmaterial always defines it by first and second axes, i.e. `v12` and `v13`.\n\nThis material is rotationally symmetric around its vertical, the dimensions\ndescribed in these constants by the index 3. This means that:\n- the Young's modulus in the 1 and 2 dimensions are equal.\n- The two Poisson's ratio between the third and the two other dimensions\n  are equal, as are their reverse Poisson's ratio.\n- The Poisson's ratio between dimension 1 and dimension 2 is the same as\n  its reverse.","parameters":[{"name":"RHO","description":"The density in kg / m^3.","type_hint":"_pd.FC","default_value":null},{"name":"E1","description":"Young's modulus in Pa.","type_hint":"_pd.FC","default_value":null},{"name":"E3","description":"Young's modulus in Pa.","type_hint":"_pd.FC","default_value":null},{"name":"G13","description":"Shear modulus in Pa, engineering convention.","type_hint":"_pd.FC","default_value":null},{"name":"V12","description":"Poisson's ratio.","type_hint":"_pd.FC","default_value":null},{"name":"V13","description":"Poisson's ratio.","type_hint":"_pd.FC","default_value":null}]},"methods":[{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.map","name":"map","signature":"def map(\n    self, f: typing.Callable[[str, typing.Any], tuple[str, typing.Any]]\n) -> typing.Self: ...","description":"Generic map for dataclass instances.\n\n`f` should be a function taking two parameters: the name of the\ndataclass member and its value, and it should return a tuple containing\nthe same quantities. If a member is not to be transformed, `f` should\njust return a tuple of the input member name and value, unchanged. Both\nnames and values can be transformed, with the semantics following those\nof `dataclasses.replace`.\n\nIn Salvus we primarily treat dataclasses as containers offering\nsemantics similar to typed dictionaries. Deriving from this protocol\nallows any relevant dataclass to additionally be treated functorially.\nThis allows for the generic un- and re-wrapping of value held in\ndataclasses, and essentially replaces the following imperative code:\n\n```python\n@dataclass\nclass A:\n    member: int\n\n# Before\nmy_a = A(member=1)\nmy_a_new = dataclasses.replace(my_a, member=2 * my_a.member)\n\n# After\nmy_a_new = A(val=1).map(lambda key, val: (key, 2 * val))\n```\n\nAs with many functional patterns, the perceived benefits for simple\ndemonstrative purposes is minimal. The scalability of this pattern\nbecomes apparent, however, when parsing deeply nested abstractions, as\nthe transformation logic can be factored out into independent\nfunctions. This is used extensively, for example, in the realization\nlogic of the layered mesher, where generic materials can have generic\nparameters, etc.","parameters":[{"name":"f","description":"The function to map over the dataclass.","type_hint":"typing.Callable[[str, typing.Any], tuple[str, typing.Any]]","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.map_realized_parameters","name":"map_realized_parameters","signature":"def map_realized_parameters(\n    self,\n    f_constant: typing.Callable[\n        [str, _pd.RealizedConstantParameter], _pd.RealizedConstantParameter\n    ] = salvus.material.base_materials._map_realized_default,\n    f_discrete: typing.Callable[\n        [str, _pd.RealizedDiscreteParameter], _pd.RealizedDiscreteParameter\n    ] = salvus.material.base_materials._map_realized_default,\n    f_analytic: typing.Callable[\n        [str, _pd.RealizedAnalyticParameter], _pd.RealizedAnalyticParameter\n    ] = salvus.material.base_materials._map_realized_default,\n) -> Self: ...","description":"Apply functions to each parameter individually, distinguishing _pd.\n\nUseful when one wants to transform each parameter type separately. For\ninstance, transformations of discrete parameters often require more\nassociated logic than their constant equivalents. This function\nabstracts away the boilerplate of check for each parameter type, and\nsubsequently transforming it with some function, as well as ensuring\nthat the parameters are indeed of the correct realized type.\n\nThe signatures of each transformation function should take the\nparameter's name and value as two distinct inputs, and return the\n(potentially modified) parameter value.","parameters":[{"name":"f_constant","description":"The function to apply to constant parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedConstantParameter], _pd.RealizedConstantParameter]","default_value":"salvus.material.base_materials._map_realized_default"},{"name":"f_discrete","description":"The function to apply to discrete parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedDiscreteParameter], _pd.RealizedDiscreteParameter]","default_value":"salvus.material.base_materials._map_realized_default"},{"name":"f_analytic","description":"The function to apply to analytic parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedAnalyticParameter], _pd.RealizedAnalyticParameter]","default_value":"salvus.material.base_materials._map_realized_default"}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.qc_test","name":"qc_test","signature":"def qc_test(\n    self,\n    level: validation.QCLevel | str = QCLevel.strict,\n    display_issues: bool = True,\n) -> dict[str, MaterialQCIssue]: ...","description":"Run a series of material quality control tests.\n\nThe function also prints a summary of the issues found, including their\nseverity and any mitigation steps that can be taken.","parameters":[{"name":"level","description":"The level of quality control to perform. The BASIC level performs minimal checks, while the STRICT level performs more thorough checks that are potentially slow. One can pass an enumeration value or a string representation of the level.","type_hint":"validation.QCLevel | str","default_value":"QCLevel.strict"},{"name":"display_issues","description":"If True, prints the issues found during the quality control checks. If False, issues are collected but not printed.","type_hint":"bool","default_value":"True"}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.to_json","name":"to_json","signature":"def to_json(\n    self,\n    external_file_hash: types = None,\n    timer: types = None,\n    log_to_logger: bool = False,\n    comm: types = None,\n) -> builtins.dict: ...","description":"Serialize the object to a dictionary that can be written to JSON.","parameters":[{"name":"external_file_hash","description":"Hash of any external files associated with this object. Can be passed here in which case it will be stored in a centralized location in the JSON file.","type_hint":"types","default_value":"None"},{"name":"timer","description":"Execution timer.","type_hint":"types","default_value":"None"},{"name":"log_to_logger","description":"Log timings to the logger.","type_hint":"bool","default_value":"False"},{"name":"comm","description":"MPI communicator, if any.","type_hint":"types","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.to_tensor_components","name":"to_tensor_components","signature":"def to_tensor_components(\n    self, expand_symmetries: bool = False\n) -> MaterialDict | GenericTensorComponents: ...","description":"Generate a tensor component representation of the material.\n\nThis method ensures compatibility with solver and other symmetries.","parameters":[{"name":"expand_symmetries","description":"boolean determining if to return a expanded canonical parameters instead of the TensorComponents object in the relevant symmetry system. Defaults to False.","type_hint":"bool","default_value":"False"}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.to_wavelength_oracle","name":"to_wavelength_oracle","signature":"def to_wavelength_oracle(\n    self, n_dim: typing.Literal[2, 3] | None = None\n) -> _pd.FC: ...","description":"The wavelength oracle.","parameters":[{"name":"n_dim","description":"Dimension to return the oracle for, deprecated.","type_hint":"typing.Literal[2, 3] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.with_attenuation","name":"with_attenuation","signature":"def with_attenuation(self, attenuation: Material | None) -> Self: ...","description":"Add attenuation to an object.","parameters":[{"name":"attenuation","description":"The attenuation material.","type_hint":"Material | None","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.with_orientation","name":"with_orientation","signature":"def with_orientation(self, orientation: Material | None) -> Material: ...","description":"Experimental way to add orientation to a material.","parameters":[{"name":"orientation","description":"The orientation.","type_hint":"Material | None","default_value":null}]}],"class_methods":[{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.from_dataset","name":"from_dataset","signature":"def from_dataset(ds: xr.Dataset) -> Material[_pd.F]: ...","description":"Construct a material from an xarray Dataset.","parameters":[{"name":"ds","description":"The dataset to construct the material from.","type_hint":"xr.Dataset","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.from_json","name":"from_json","signature":"def from_json(d: builtins.dict) -> Any: ...","description":"Recreate the object from a dictionary serialization of its\ninitialization parameters.","parameters":[{"name":"d","description":"Dictionary containing its init parameters and a few other things.","type_hint":"builtins.dict","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.from_material","name":"from_material","signature":"def from_material(\n    m: Material,\n    reduction_method: (\n        typing.Literal[\"remove-components\", \"force\"] | None\n    ) = None,\n) -> _Hexagonal: ...","description":"Construct this material from another within the same physical system.","parameters":[{"name":"m","description":"Material to transform.","type_hint":"Material","default_value":null},{"name":"reduction_method","description":"Method to move between incompatible symmetry classes. None will only move to symmetries that are equal or more permissive, while `remove-components` will drop components that are found to match the new material's constraints as necessary, and thus leading to loss of free parameters but not of information. The option \"force\" will take all information necessary to construct the new parameter set without verification, leading to loss of information.","type_hint":"typing.Literal['remove-components', 'force'] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.from_params","name":"from_params","signature":"def from_params(\n    rho: _pd.R, e1: _pd.R, e3: _pd.R, g13: _pd.R, v12: _pd.R, v13: _pd.R\n) -> typing.Self: ...","description":"Construct an hexagonal material from its engineering constants.\n\nThe shear moduli here are assumed to be in the engineering convention:\ntwice the normal shear moduli.","parameters":[{"name":"rho","description":"The density in kg / m^3.","type_hint":"_pd.R","default_value":null},{"name":"e1","description":"Young's modulus in Pa.","type_hint":"_pd.R","default_value":null},{"name":"e3","description":"Young's modulus in Pa.","type_hint":"_pd.R","default_value":null},{"name":"g13","description":"Shear modulus in Pa, engineering convention.","type_hint":"_pd.R","default_value":null},{"name":"v12","description":"Poisson's ratio.","type_hint":"_pd.R","default_value":null},{"name":"v13","description":"Poisson's ratio.","type_hint":"_pd.R","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.from_tensor_components","name":"from_tensor_components","signature":"def from_tensor_components(\n    m: GenericTensorComponents[_pd.F],\n    reduction_method: (\n        typing.Literal[\"remove-components\", \"force\"] | None\n    ) = None,\n) -> typing.Self: ...","description":"Create material from tensor components acoustic parameter material.\n\nOverwrite this method if your material can not be constructed from\nacoustic constants.\n\nA class method to create a anisotropic material of a desired symmetry\nclass from a canonical TC material. The method will automatically check\nif the canonical material that is passed meets the symmetry\nrequirements of the desired materials. If it does not, a TypeError will\nbe raised.","parameters":[{"name":"m","description":"The material in tensor components parametrization to be used to construct the new material.","type_hint":"GenericTensorComponents[_pd.F]","default_value":null},{"name":"reduction_method","description":"Method to move between incompatible symmetry classes. None will only move to symmetries that are equal or more permissive, while `remove-components` will drop components that are found to match the new material's constraints as necessary, and thus leading to loss of free parameters but not of information. The option \"force\" will take all information necessary to construct the new parameter set without verification, leading to loss of information.","type_hint":"typing.Literal['remove-components', 'force'] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.material_system","name":"material_system","signature":"def material_system() -> type[PhysicalMaterial]: ...","description":"Get the material system of the material.","parameters":[]}],"properties":[{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.ds","name":"ds","description":"Material's xarray representation.","return_type_hint":"typing.Mapping","has_setter":false,"has_deleter":false},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.flatten","name":"flatten","description":"Get all parameters as a dict.","return_type_hint":"dict","has_setter":false,"has_deleter":false},{"qualified_name":"salvus.material.elastic.hexagonal.EngineeringConstants.viscosity","name":"viscosity","description":"Get the optional attenuation.","return_type_hint":"Material | None","has_setter":false,"has_deleter":false}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents","name":"TensorComponents","init_documentation":{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.__init__","name":"__init__","signature":"class TensorComponents(\n    salvus.material.elastic.hexagonal._Hexagonal,\n    salvus.material.elastic.ElasticTensorComponents,\n):\n    def __init__(\n        self,\n        RHO: _pd.FC,\n        C11: _pd.FC,\n        C12: _pd.FC,\n        C13: _pd.FC,\n        C33: _pd.FC,\n        C44: _pd.FC,\n    ) -> None: ...","description":"Hexagonal anisotropic elastic material parametrized by elastic constants.","parameters":[{"name":"RHO","description":"The density in kg / m^3.","type_hint":"_pd.FC","default_value":null},{"name":"C11","description":"The c_11 component of the stiffness tensor in Pa.","type_hint":"_pd.FC","default_value":null},{"name":"C12","description":"The c_12 component of the stiffness tensor in Pa.","type_hint":"_pd.FC","default_value":null},{"name":"C13","description":"The c_13 component of the stiffness tensor in Pa.","type_hint":"_pd.FC","default_value":null},{"name":"C33","description":"The c_33 component of the stiffness tensor in Pa.","type_hint":"_pd.FC","default_value":null},{"name":"C44","description":"The c_44 component of the stiffness tensor in Pa.","type_hint":"_pd.FC","default_value":null}]},"methods":[{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.map","name":"map","signature":"def map(\n    self, f: typing.Callable[[str, typing.Any], tuple[str, typing.Any]]\n) -> typing.Self: ...","description":"Generic map for dataclass instances.\n\n`f` should be a function taking two parameters: the name of the\ndataclass member and its value, and it should return a tuple containing\nthe same quantities. If a member is not to be transformed, `f` should\njust return a tuple of the input member name and value, unchanged. Both\nnames and values can be transformed, with the semantics following those\nof `dataclasses.replace`.\n\nIn Salvus we primarily treat dataclasses as containers offering\nsemantics similar to typed dictionaries. Deriving from this protocol\nallows any relevant dataclass to additionally be treated functorially.\nThis allows for the generic un- and re-wrapping of value held in\ndataclasses, and essentially replaces the following imperative code:\n\n```python\n@dataclass\nclass A:\n    member: int\n\n# Before\nmy_a = A(member=1)\nmy_a_new = dataclasses.replace(my_a, member=2 * my_a.member)\n\n# After\nmy_a_new = A(val=1).map(lambda key, val: (key, 2 * val))\n```\n\nAs with many functional patterns, the perceived benefits for simple\ndemonstrative purposes is minimal. The scalability of this pattern\nbecomes apparent, however, when parsing deeply nested abstractions, as\nthe transformation logic can be factored out into independent\nfunctions. This is used extensively, for example, in the realization\nlogic of the layered mesher, where generic materials can have generic\nparameters, etc.","parameters":[{"name":"f","description":"The function to map over the dataclass.","type_hint":"typing.Callable[[str, typing.Any], tuple[str, typing.Any]]","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.map_realized_parameters","name":"map_realized_parameters","signature":"def map_realized_parameters(\n    self,\n    f_constant: typing.Callable[\n        [str, _pd.RealizedConstantParameter], _pd.RealizedConstantParameter\n    ] = salvus.material.base_materials._map_realized_default,\n    f_discrete: typing.Callable[\n        [str, _pd.RealizedDiscreteParameter], _pd.RealizedDiscreteParameter\n    ] = salvus.material.base_materials._map_realized_default,\n    f_analytic: typing.Callable[\n        [str, _pd.RealizedAnalyticParameter], _pd.RealizedAnalyticParameter\n    ] = salvus.material.base_materials._map_realized_default,\n) -> Self: ...","description":"Apply functions to each parameter individually, distinguishing _pd.\n\nUseful when one wants to transform each parameter type separately. For\ninstance, transformations of discrete parameters often require more\nassociated logic than their constant equivalents. This function\nabstracts away the boilerplate of check for each parameter type, and\nsubsequently transforming it with some function, as well as ensuring\nthat the parameters are indeed of the correct realized type.\n\nThe signatures of each transformation function should take the\nparameter's name and value as two distinct inputs, and return the\n(potentially modified) parameter value.","parameters":[{"name":"f_constant","description":"The function to apply to constant parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedConstantParameter], _pd.RealizedConstantParameter]","default_value":"salvus.material.base_materials._map_realized_default"},{"name":"f_discrete","description":"The function to apply to discrete parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedDiscreteParameter], _pd.RealizedDiscreteParameter]","default_value":"salvus.material.base_materials._map_realized_default"},{"name":"f_analytic","description":"The function to apply to analytic parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedAnalyticParameter], _pd.RealizedAnalyticParameter]","default_value":"salvus.material.base_materials._map_realized_default"}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.qc_test","name":"qc_test","signature":"def qc_test(\n    self,\n    level: validation.QCLevel | str = QCLevel.strict,\n    display_issues: bool = True,\n) -> dict[str, MaterialQCIssue]: ...","description":"Run a series of material quality control tests.\n\nThe function also prints a summary of the issues found, including their\nseverity and any mitigation steps that can be taken.","parameters":[{"name":"level","description":"The level of quality control to perform. The BASIC level performs minimal checks, while the STRICT level performs more thorough checks that are potentially slow. One can pass an enumeration value or a string representation of the level.","type_hint":"validation.QCLevel | str","default_value":"QCLevel.strict"},{"name":"display_issues","description":"If True, prints the issues found during the quality control checks. If False, issues are collected but not printed.","type_hint":"bool","default_value":"True"}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.to_json","name":"to_json","signature":"def to_json(\n    self,\n    external_file_hash: types = None,\n    timer: types = None,\n    log_to_logger: bool = False,\n    comm: types = None,\n) -> builtins.dict: ...","description":"Serialize the object to a dictionary that can be written to JSON.","parameters":[{"name":"external_file_hash","description":"Hash of any external files associated with this object. Can be passed here in which case it will be stored in a centralized location in the JSON file.","type_hint":"types","default_value":"None"},{"name":"timer","description":"Execution timer.","type_hint":"types","default_value":"None"},{"name":"log_to_logger","description":"Log timings to the logger.","type_hint":"bool","default_value":"False"},{"name":"comm","description":"MPI communicator, if any.","type_hint":"types","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.to_tensor_components","name":"to_tensor_components","signature":"def to_tensor_components(\n    self, expand_symmetries: bool = False\n) -> MaterialDict | GenericTensorComponents: ...","description":"Generate a tensor component representation of the material.\n\nThis method ensures compatibility with solver and other symmetries.","parameters":[{"name":"expand_symmetries","description":"boolean determining if to return a expanded canonical parameters instead of the TensorComponents object in the relevant symmetry system. Defaults to False.","type_hint":"bool","default_value":"False"}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.to_wavelength_oracle","name":"to_wavelength_oracle","signature":"def to_wavelength_oracle(\n    self, n_dim: typing.Literal[2, 3] | None = None\n) -> _pd.FC: ...","description":"The wavelength oracle.","parameters":[{"name":"n_dim","description":"Dimension to return the oracle for, deprecated.","type_hint":"typing.Literal[2, 3] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.with_attenuation","name":"with_attenuation","signature":"def with_attenuation(self, attenuation: Material | None) -> Self: ...","description":"Add attenuation to an object.","parameters":[{"name":"attenuation","description":"The attenuation material.","type_hint":"Material | None","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.with_orientation","name":"with_orientation","signature":"def with_orientation(self, orientation: Material | None) -> Material: ...","description":"Experimental way to add orientation to a material.","parameters":[{"name":"orientation","description":"The orientation.","type_hint":"Material | None","default_value":null}]}],"class_methods":[{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.all_components","name":"all_components","signature":"def all_components() -> list[str]: ...","description":"Get all components.","parameters":[]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.equal_components","name":"equal_components","signature":"def equal_components() -> dict[str, str]: ...","description":"Get equal components for a material class.","parameters":[]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.from_dataset","name":"from_dataset","signature":"def from_dataset(ds: xr.Dataset) -> Material[_pd.F]: ...","description":"Construct a material from an xarray Dataset.","parameters":[{"name":"ds","description":"The dataset to construct the material from.","type_hint":"xr.Dataset","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.from_json","name":"from_json","signature":"def from_json(d: builtins.dict) -> Any: ...","description":"Recreate the object from a dictionary serialization of its\ninitialization parameters.","parameters":[{"name":"d","description":"Dictionary containing its init parameters and a few other things.","type_hint":"builtins.dict","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.from_material","name":"from_material","signature":"def from_material(\n    m: Material,\n    reduction_method: (\n        typing.Literal[\"remove-components\", \"force\"] | None\n    ) = None,\n) -> _Hexagonal: ...","description":"Construct this material from another within the same physical system.","parameters":[{"name":"m","description":"Material to transform.","type_hint":"Material","default_value":null},{"name":"reduction_method","description":"Method to move between incompatible symmetry classes. None will only move to symmetries that are equal or more permissive, while `remove-components` will drop components that are found to match the new material's constraints as necessary, and thus leading to loss of free parameters but not of information. The option \"force\" will take all information necessary to construct the new parameter set without verification, leading to loss of information.","type_hint":"typing.Literal['remove-components', 'force'] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.from_params","name":"from_params","signature":"def from_params(\n    rho: _pd.R, c11: _pd.R, c12: _pd.R, c13: _pd.R, c33: _pd.R, c44: _pd.R\n) -> typing.Self: ...","description":"Construct a hexagonal material from elastic constants.","parameters":[{"name":"rho","description":"The density in kg / m^3.","type_hint":"_pd.R","default_value":null},{"name":"c11","description":"The c_11 component of the stiffness tensor in Pa.","type_hint":"_pd.R","default_value":null},{"name":"c12","description":"The c_12 component of the stiffness tensor in Pa.","type_hint":"_pd.R","default_value":null},{"name":"c13","description":"The c_13 component of the stiffness tensor in Pa.","type_hint":"_pd.R","default_value":null},{"name":"c33","description":"The c_33 component of the stiffness tensor in Pa.","type_hint":"_pd.R","default_value":null},{"name":"c44","description":"The c_44 component of the stiffness tensor in Pa.","type_hint":"_pd.R","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.from_tensor_components","name":"from_tensor_components","signature":"def from_tensor_components(\n    m: GenericTensorComponents[_pd.F],\n    reduction_method: (\n        typing.Literal[\"remove-components\", \"force\"] | None\n    ) = None,\n) -> Self: ...","description":"Create material from tensor components acoustic parameter material.\n\nOverwrite this method if your material can not be constructed from\nacoustic constants.\n\nA class method to create a anisotropic material of a desired symmetry\nclass from a canonical TC material. The method will automatically check\nif the canonical material that is passed meets the symmetry\nrequirements of the desired materials. If it does not, a TypeError will\nbe raised.","parameters":[{"name":"m","description":"The material in tensor components parametrization to be used to construct the new material.","type_hint":"GenericTensorComponents[_pd.F]","default_value":null},{"name":"reduction_method","description":"Method to move between incompatible symmetry classes. None will only move to symmetries that are equal or more permissive, while `remove-components` will drop components that are found to match the new material's constraints as necessary, and thus leading to loss of free parameters but not of information. The option \"force\" will take all information necessary to construct the new parameter set without verification, leading to loss of information.","type_hint":"typing.Literal['remove-components', 'force'] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.material_system","name":"material_system","signature":"def material_system() -> type[PhysicalMaterial]: ...","description":"Get the material system of the material.","parameters":[]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.nonzero_components","name":"nonzero_components","signature":"def nonzero_components() -> list[str]: ...","description":"Get nonzero components for a material class.","parameters":[]},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.zero_components","name":"zero_components","signature":"def zero_components() -> list[str]: ...","description":"Get zero components for a material class.","parameters":[]}],"properties":[{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.ds","name":"ds","description":"Material's xarray representation.","return_type_hint":"typing.Mapping","has_setter":false,"has_deleter":false},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.flatten","name":"flatten","description":"Get all parameters as a dict.","return_type_hint":"dict","has_setter":false,"has_deleter":false},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.halfC11minC12","name":"halfC11minC12","description":"Material property that might be accessed in checking symmetry.","return_type_hint":"_pd.F","has_setter":false,"has_deleter":false},{"qualified_name":"salvus.material.elastic.hexagonal.TensorComponents.viscosity","name":"viscosity","description":"Get the optional attenuation.","return_type_hint":"Material | None","has_setter":false,"has_deleter":false}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen","name":"Thomsen","init_documentation":{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.__init__","name":"__init__","signature":"class Thomsen(salvus.material.elastic.hexagonal._Hexagonal):\n    def __init__(\n        self,\n        RHO: _pd.FC,\n        VP: _pd.FC,\n        VS: _pd.FC,\n        DELTA: _pd.FC,\n        GAMMA: _pd.FC,\n        EPSILON: _pd.FC,\n    ) -> None: ...","description":"Anisotropic elastic materials specified using Thomsen's parameters, with\nhexagonal symmetry.\n\nVP and VS are defined along the materials symmetry axis (the vertical).","parameters":[{"name":"RHO","description":"Density in kg / m^3.","type_hint":"_pd.FC","default_value":null},{"name":"VP","description":"P-wave velocity in m / s along the symmetry axis.","type_hint":"_pd.FC","default_value":null},{"name":"VS","description":"S-wave velocity in m / s along the symmetry axis.","type_hint":"_pd.FC","default_value":null},{"name":"DELTA","description":"Thomsen's delta parameter (dimensionless).","type_hint":"_pd.FC","default_value":null},{"name":"GAMMA","description":"Thomsen's gamma parameter (dimensionless).","type_hint":"_pd.FC","default_value":null},{"name":"EPSILON","description":"Thomsen's epsilon parameter (dimensionless).","type_hint":"_pd.FC","default_value":null}]},"methods":[{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.map","name":"map","signature":"def map(\n    self, f: typing.Callable[[str, typing.Any], tuple[str, typing.Any]]\n) -> typing.Self: ...","description":"Generic map for dataclass instances.\n\n`f` should be a function taking two parameters: the name of the\ndataclass member and its value, and it should return a tuple containing\nthe same quantities. If a member is not to be transformed, `f` should\njust return a tuple of the input member name and value, unchanged. Both\nnames and values can be transformed, with the semantics following those\nof `dataclasses.replace`.\n\nIn Salvus we primarily treat dataclasses as containers offering\nsemantics similar to typed dictionaries. Deriving from this protocol\nallows any relevant dataclass to additionally be treated functorially.\nThis allows for the generic un- and re-wrapping of value held in\ndataclasses, and essentially replaces the following imperative code:\n\n```python\n@dataclass\nclass A:\n    member: int\n\n# Before\nmy_a = A(member=1)\nmy_a_new = dataclasses.replace(my_a, member=2 * my_a.member)\n\n# After\nmy_a_new = A(val=1).map(lambda key, val: (key, 2 * val))\n```\n\nAs with many functional patterns, the perceived benefits for simple\ndemonstrative purposes is minimal. The scalability of this pattern\nbecomes apparent, however, when parsing deeply nested abstractions, as\nthe transformation logic can be factored out into independent\nfunctions. This is used extensively, for example, in the realization\nlogic of the layered mesher, where generic materials can have generic\nparameters, etc.","parameters":[{"name":"f","description":"The function to map over the dataclass.","type_hint":"typing.Callable[[str, typing.Any], tuple[str, typing.Any]]","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.map_realized_parameters","name":"map_realized_parameters","signature":"def map_realized_parameters(\n    self,\n    f_constant: typing.Callable[\n        [str, _pd.RealizedConstantParameter], _pd.RealizedConstantParameter\n    ] = salvus.material.base_materials._map_realized_default,\n    f_discrete: typing.Callable[\n        [str, _pd.RealizedDiscreteParameter], _pd.RealizedDiscreteParameter\n    ] = salvus.material.base_materials._map_realized_default,\n    f_analytic: typing.Callable[\n        [str, _pd.RealizedAnalyticParameter], _pd.RealizedAnalyticParameter\n    ] = salvus.material.base_materials._map_realized_default,\n) -> Self: ...","description":"Apply functions to each parameter individually, distinguishing _pd.\n\nUseful when one wants to transform each parameter type separately. For\ninstance, transformations of discrete parameters often require more\nassociated logic than their constant equivalents. This function\nabstracts away the boilerplate of check for each parameter type, and\nsubsequently transforming it with some function, as well as ensuring\nthat the parameters are indeed of the correct realized type.\n\nThe signatures of each transformation function should take the\nparameter's name and value as two distinct inputs, and return the\n(potentially modified) parameter value.","parameters":[{"name":"f_constant","description":"The function to apply to constant parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedConstantParameter], _pd.RealizedConstantParameter]","default_value":"salvus.material.base_materials._map_realized_default"},{"name":"f_discrete","description":"The function to apply to discrete parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedDiscreteParameter], _pd.RealizedDiscreteParameter]","default_value":"salvus.material.base_materials._map_realized_default"},{"name":"f_analytic","description":"The function to apply to analytic parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedAnalyticParameter], _pd.RealizedAnalyticParameter]","default_value":"salvus.material.base_materials._map_realized_default"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.qc_test","name":"qc_test","signature":"def qc_test(\n    self,\n    level: validation.QCLevel | str = QCLevel.strict,\n    display_issues: bool = True,\n) -> dict[str, MaterialQCIssue]: ...","description":"Run a series of material quality control tests.\n\nThe function also prints a summary of the issues found, including their\nseverity and any mitigation steps that can be taken.","parameters":[{"name":"level","description":"The level of quality control to perform. The BASIC level performs minimal checks, while the STRICT level performs more thorough checks that are potentially slow. One can pass an enumeration value or a string representation of the level.","type_hint":"validation.QCLevel | str","default_value":"QCLevel.strict"},{"name":"display_issues","description":"If True, prints the issues found during the quality control checks. If False, issues are collected but not printed.","type_hint":"bool","default_value":"True"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.to_acoustic","name":"to_acoustic","signature":"def to_acoustic(self) -> AThomsen[_pd.F]: ...","description":"Create acoustic variant of this material from the elastic.","parameters":[]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.to_json","name":"to_json","signature":"def to_json(\n    self,\n    external_file_hash: types = None,\n    timer: types = None,\n    log_to_logger: bool = False,\n    comm: types = None,\n) -> builtins.dict: ...","description":"Serialize the object to a dictionary that can be written to JSON.","parameters":[{"name":"external_file_hash","description":"Hash of any external files associated with this object. Can be passed here in which case it will be stored in a centralized location in the JSON file.","type_hint":"types","default_value":"None"},{"name":"timer","description":"Execution timer.","type_hint":"types","default_value":"None"},{"name":"log_to_logger","description":"Log timings to the logger.","type_hint":"bool","default_value":"False"},{"name":"comm","description":"MPI communicator, if any.","type_hint":"types","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.to_tensor_components","name":"to_tensor_components","signature":"def to_tensor_components(\n    self, expand_symmetries: bool = False\n) -> MaterialDict | GenericTensorComponents: ...","description":"Generate a tensor component representation of the material.\n\nThis method ensures compatibility with solver and other symmetries.","parameters":[{"name":"expand_symmetries","description":"boolean determining if to return a expanded canonical parameters instead of the TensorComponents object in the relevant symmetry system. Defaults to False.","type_hint":"bool","default_value":"False"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.to_wavelength_oracle","name":"to_wavelength_oracle","signature":"def to_wavelength_oracle(\n    self, n_dim: typing.Literal[2, 3] | None = None\n) -> _pd.FC: ...","description":"The wavelength oracle.","parameters":[{"name":"n_dim","description":"Dimension to return the oracle for, deprecated.","type_hint":"typing.Literal[2, 3] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.with_attenuation","name":"with_attenuation","signature":"def with_attenuation(self, attenuation: Material | None) -> Self: ...","description":"Add attenuation to an object.","parameters":[{"name":"attenuation","description":"The attenuation material.","type_hint":"Material | None","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.with_orientation","name":"with_orientation","signature":"def with_orientation(self, orientation: Material | None) -> Material: ...","description":"Experimental way to add orientation to a material.","parameters":[{"name":"orientation","description":"The orientation.","type_hint":"Material | None","default_value":null}]}],"class_methods":[{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.from_acoustic","name":"from_acoustic","signature":"def from_acoustic(\n    acoustic_thomsen: AThomsen[_pd.F],\n    vp_vs: _pd.R,\n    gamma: _pd.R,\n    qmu: _pd.R | None = None,\n) -> typing.Self: ...","description":"Create this material from the elastic constants parametrization.","parameters":[{"name":"acoustic_thomsen","description":"The material to create this material from.","type_hint":"AThomsen[_pd.F]","default_value":null},{"name":"vp_vs","description":"Ratio between vp and vs speeds.","type_hint":"_pd.R","default_value":null},{"name":"gamma","description":"the anisotropy parameter for shear wave speed.","type_hint":"_pd.R","default_value":null},{"name":"qmu","description":"Qmu.","type_hint":"_pd.R | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.from_dataset","name":"from_dataset","signature":"def from_dataset(ds: xr.Dataset) -> Material[_pd.F]: ...","description":"Construct a material from an xarray Dataset.","parameters":[{"name":"ds","description":"The dataset to construct the material from.","type_hint":"xr.Dataset","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.from_json","name":"from_json","signature":"def from_json(d: builtins.dict) -> Any: ...","description":"Recreate the object from a dictionary serialization of its\ninitialization parameters.","parameters":[{"name":"d","description":"Dictionary containing its init parameters and a few other things.","type_hint":"builtins.dict","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.from_material","name":"from_material","signature":"def from_material(\n    m: Material,\n    reduction_method: (\n        typing.Literal[\"remove-components\", \"force\"] | None\n    ) = None,\n) -> _Hexagonal: ...","description":"Construct this material from another within the same physical system.","parameters":[{"name":"m","description":"Material to transform.","type_hint":"Material","default_value":null},{"name":"reduction_method","description":"Method to move between incompatible symmetry classes. None will only move to symmetries that are equal or more permissive, while `remove-components` will drop components that are found to match the new material's constraints as necessary, and thus leading to loss of free parameters but not of information. The option \"force\" will take all information necessary to construct the new parameter set without verification, leading to loss of information.","type_hint":"typing.Literal['remove-components', 'force'] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.from_params","name":"from_params","signature":"def from_params(\n    rho: _pd.R,\n    vp: _pd.R,\n    vs: _pd.R,\n    delta: _pd.R,\n    gamma: _pd.R,\n    epsilon: _pd.R,\n) -> typing.Self: ...","description":"Construct this material from generic parameters.","parameters":[{"name":"rho","description":"Density in kg / m^3.","type_hint":"_pd.R","default_value":null},{"name":"vp","description":"P-wave velocity in m / s.","type_hint":"_pd.R","default_value":null},{"name":"vs","description":"S-wave velocity in m / s.","type_hint":"_pd.R","default_value":null},{"name":"delta","description":"Thomsen's delta parameter (dimensionless).","type_hint":"_pd.R","default_value":null},{"name":"gamma","description":"Thomsen's gamma parameter (dimensionless).","type_hint":"_pd.R","default_value":null},{"name":"epsilon","description":"Thomsen's epsilon parameter (dimensionless).","type_hint":"_pd.R","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.from_tensor_components","name":"from_tensor_components","signature":"def from_tensor_components(\n    m: GenericTensorComponents[_pd.F],\n    reduction_method: (\n        typing.Literal[\"remove-components\", \"force\"] | None\n    ) = None,\n) -> typing.Self: ...","description":"Create material from tensor components acoustic parameter material.\n\nOverwrite this method if your material can not be constructed from\nacoustic constants.\n\nA class method to create a anisotropic material of a desired symmetry\nclass from a canonical TC material. The method will automatically check\nif the canonical material that is passed meets the symmetry\nrequirements of the desired materials. If it does not, a TypeError will\nbe raised.","parameters":[{"name":"m","description":"The material in tensor components parametrization to be used to construct the new material.","type_hint":"GenericTensorComponents[_pd.F]","default_value":null},{"name":"reduction_method","description":"Method to move between incompatible symmetry classes. None will only move to symmetries that are equal or more permissive, while `remove-components` will drop components that are found to match the new material's constraints as necessary, and thus leading to loss of free parameters but not of information. The option \"force\" will take all information necessary to construct the new parameter set without verification, leading to loss of information.","type_hint":"typing.Literal['remove-components', 'force'] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.material_system","name":"material_system","signature":"def material_system() -> type[PhysicalMaterial]: ...","description":"Get the material system of the material.","parameters":[]}],"properties":[{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.ds","name":"ds","description":"Material's xarray representation.","return_type_hint":"typing.Mapping","has_setter":false,"has_deleter":false},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.flatten","name":"flatten","description":"Get all parameters as a dict.","return_type_hint":"dict","has_setter":false,"has_deleter":false},{"qualified_name":"salvus.material.elastic.hexagonal.Thomsen.viscosity","name":"viscosity","description":"Get the optional attenuation.","return_type_hint":"Material | None","has_setter":false,"has_deleter":false}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity","name":"Velocity","init_documentation":{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.__init__","name":"__init__","signature":"class Velocity(salvus.material.elastic.hexagonal._Hexagonal):\n    def __init__(\n        self,\n        RHO: _pd.FC,\n        VPH: _pd.FC,\n        VPV: _pd.FC,\n        VSH: _pd.FC,\n        VSV: _pd.FC,\n        ETA: _pd.FC,\n    ) -> None: ...","description":"Hexagonal anisotropic elastic material parametrized by velocities.","parameters":[{"name":"RHO","description":"Density in kg / m^3.","type_hint":"_pd.FC","default_value":null},{"name":"VPH","description":"Horizontal P-wave velocity in m / s.","type_hint":"_pd.FC","default_value":null},{"name":"VPV","description":"Vertical P-wave velocity in m / s.","type_hint":"_pd.FC","default_value":null},{"name":"VSH","description":"Horizontal S-wave velocity in m / s.","type_hint":"_pd.FC","default_value":null},{"name":"VSV","description":"Vertical S-wave velocity in m / s.","type_hint":"_pd.FC","default_value":null},{"name":"ETA","description":"Eta.","type_hint":"_pd.FC","default_value":null}]},"methods":[{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.map","name":"map","signature":"def map(\n    self, f: typing.Callable[[str, typing.Any], tuple[str, typing.Any]]\n) -> typing.Self: ...","description":"Generic map for dataclass instances.\n\n`f` should be a function taking two parameters: the name of the\ndataclass member and its value, and it should return a tuple containing\nthe same quantities. If a member is not to be transformed, `f` should\njust return a tuple of the input member name and value, unchanged. Both\nnames and values can be transformed, with the semantics following those\nof `dataclasses.replace`.\n\nIn Salvus we primarily treat dataclasses as containers offering\nsemantics similar to typed dictionaries. Deriving from this protocol\nallows any relevant dataclass to additionally be treated functorially.\nThis allows for the generic un- and re-wrapping of value held in\ndataclasses, and essentially replaces the following imperative code:\n\n```python\n@dataclass\nclass A:\n    member: int\n\n# Before\nmy_a = A(member=1)\nmy_a_new = dataclasses.replace(my_a, member=2 * my_a.member)\n\n# After\nmy_a_new = A(val=1).map(lambda key, val: (key, 2 * val))\n```\n\nAs with many functional patterns, the perceived benefits for simple\ndemonstrative purposes is minimal. The scalability of this pattern\nbecomes apparent, however, when parsing deeply nested abstractions, as\nthe transformation logic can be factored out into independent\nfunctions. This is used extensively, for example, in the realization\nlogic of the layered mesher, where generic materials can have generic\nparameters, etc.","parameters":[{"name":"f","description":"The function to map over the dataclass.","type_hint":"typing.Callable[[str, typing.Any], tuple[str, typing.Any]]","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.map_realized_parameters","name":"map_realized_parameters","signature":"def map_realized_parameters(\n    self,\n    f_constant: typing.Callable[\n        [str, _pd.RealizedConstantParameter], _pd.RealizedConstantParameter\n    ] = salvus.material.base_materials._map_realized_default,\n    f_discrete: typing.Callable[\n        [str, _pd.RealizedDiscreteParameter], _pd.RealizedDiscreteParameter\n    ] = salvus.material.base_materials._map_realized_default,\n    f_analytic: typing.Callable[\n        [str, _pd.RealizedAnalyticParameter], _pd.RealizedAnalyticParameter\n    ] = salvus.material.base_materials._map_realized_default,\n) -> Self: ...","description":"Apply functions to each parameter individually, distinguishing _pd.\n\nUseful when one wants to transform each parameter type separately. For\ninstance, transformations of discrete parameters often require more\nassociated logic than their constant equivalents. This function\nabstracts away the boilerplate of check for each parameter type, and\nsubsequently transforming it with some function, as well as ensuring\nthat the parameters are indeed of the correct realized type.\n\nThe signatures of each transformation function should take the\nparameter's name and value as two distinct inputs, and return the\n(potentially modified) parameter value.","parameters":[{"name":"f_constant","description":"The function to apply to constant parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedConstantParameter], _pd.RealizedConstantParameter]","default_value":"salvus.material.base_materials._map_realized_default"},{"name":"f_discrete","description":"The function to apply to discrete parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedDiscreteParameter], _pd.RealizedDiscreteParameter]","default_value":"salvus.material.base_materials._map_realized_default"},{"name":"f_analytic","description":"The function to apply to analytic parameters. Defaults to returning the parameter as-is.","type_hint":"typing.Callable[[str, _pd.RealizedAnalyticParameter], _pd.RealizedAnalyticParameter]","default_value":"salvus.material.base_materials._map_realized_default"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.qc_test","name":"qc_test","signature":"def qc_test(\n    self,\n    level: validation.QCLevel | str = QCLevel.strict,\n    display_issues: bool = True,\n) -> dict[str, MaterialQCIssue]: ...","description":"Run a series of material quality control tests.\n\nThe function also prints a summary of the issues found, including their\nseverity and any mitigation steps that can be taken.","parameters":[{"name":"level","description":"The level of quality control to perform. The BASIC level performs minimal checks, while the STRICT level performs more thorough checks that are potentially slow. One can pass an enumeration value or a string representation of the level.","type_hint":"validation.QCLevel | str","default_value":"QCLevel.strict"},{"name":"display_issues","description":"If True, prints the issues found during the quality control checks. If False, issues are collected but not printed.","type_hint":"bool","default_value":"True"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.to_acoustic","name":"to_acoustic","signature":"def to_acoustic(self) -> AVelocity[_pd.F]: ...","description":"Create acoustic variant of this material.","parameters":[]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.to_json","name":"to_json","signature":"def to_json(\n    self,\n    external_file_hash: types = None,\n    timer: types = None,\n    log_to_logger: bool = False,\n    comm: types = None,\n) -> builtins.dict: ...","description":"Serialize the object to a dictionary that can be written to JSON.","parameters":[{"name":"external_file_hash","description":"Hash of any external files associated with this object. Can be passed here in which case it will be stored in a centralized location in the JSON file.","type_hint":"types","default_value":"None"},{"name":"timer","description":"Execution timer.","type_hint":"types","default_value":"None"},{"name":"log_to_logger","description":"Log timings to the logger.","type_hint":"bool","default_value":"False"},{"name":"comm","description":"MPI communicator, if any.","type_hint":"types","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.to_tensor_components","name":"to_tensor_components","signature":"def to_tensor_components(\n    self, expand_symmetries: bool = False\n) -> MaterialDict | GenericTensorComponents: ...","description":"Generate a tensor component representation of the material.\n\nThis method ensures compatibility with solver and other symmetries.","parameters":[{"name":"expand_symmetries","description":"boolean determining if to return a expanded canonical parameters instead of the TensorComponents object in the relevant symmetry system. Defaults to False.","type_hint":"bool","default_value":"False"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.to_wavelength_oracle","name":"to_wavelength_oracle","signature":"def to_wavelength_oracle(\n    self, n_dim: typing.Literal[2, 3] | None = None\n) -> _pd.FC: ...","description":"The wavelength oracle.","parameters":[{"name":"n_dim","description":"Dimension to return the oracle for, deprecated.","type_hint":"typing.Literal[2, 3] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.with_attenuation","name":"with_attenuation","signature":"def with_attenuation(self, attenuation: Material | None) -> Self: ...","description":"Add attenuation to an object.","parameters":[{"name":"attenuation","description":"The attenuation material.","type_hint":"Material | None","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.with_orientation","name":"with_orientation","signature":"def with_orientation(self, orientation: Material | None) -> Material: ...","description":"Experimental way to add orientation to a material.","parameters":[{"name":"orientation","description":"The orientation.","type_hint":"Material | None","default_value":null}]}],"class_methods":[{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.from_dataset","name":"from_dataset","signature":"def from_dataset(ds: xr.Dataset) -> Material[_pd.F]: ...","description":"Construct a material from an xarray Dataset.","parameters":[{"name":"ds","description":"The dataset to construct the material from.","type_hint":"xr.Dataset","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.from_json","name":"from_json","signature":"def from_json(d: builtins.dict) -> Any: ...","description":"Recreate the object from a dictionary serialization of its\ninitialization parameters.","parameters":[{"name":"d","description":"Dictionary containing its init parameters and a few other things.","type_hint":"builtins.dict","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.from_material","name":"from_material","signature":"def from_material(\n    m: Material,\n    reduction_method: (\n        typing.Literal[\"remove-components\", \"force\"] | None\n    ) = None,\n) -> _Hexagonal: ...","description":"Construct this material from another within the same physical system.","parameters":[{"name":"m","description":"Material to transform.","type_hint":"Material","default_value":null},{"name":"reduction_method","description":"Method to move between incompatible symmetry classes. None will only move to symmetries that are equal or more permissive, while `remove-components` will drop components that are found to match the new material's constraints as necessary, and thus leading to loss of free parameters but not of information. The option \"force\" will take all information necessary to construct the new parameter set without verification, leading to loss of information.","type_hint":"typing.Literal['remove-components', 'force'] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.from_params","name":"from_params","signature":"def from_params(\n    rho: _pd.R, vph: _pd.R, vpv: _pd.R, vsh: _pd.R, vsv: _pd.R, eta: _pd.R\n) -> typing.Self: ...","description":"Construct this material from generic parameters.","parameters":[{"name":"rho","description":"Density in kg / m^3.","type_hint":"_pd.R","default_value":null},{"name":"vph","description":"Horizontal P-wave velocity in m / s.","type_hint":"_pd.R","default_value":null},{"name":"vpv","description":"Vertical P-wave velocity in m / s.","type_hint":"_pd.R","default_value":null},{"name":"vsh","description":"Horizontal S-wave velocity in m / s.","type_hint":"_pd.R","default_value":null},{"name":"vsv","description":"Vertical S-wave velocity in m / s.","type_hint":"_pd.R","default_value":null},{"name":"eta","description":"Eta.","type_hint":"_pd.R","default_value":null}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.from_tensor_components","name":"from_tensor_components","signature":"def from_tensor_components(\n    m: GenericTensorComponents[_pd.F],\n    reduction_method: (\n        typing.Literal[\"remove-components\", \"force\"] | None\n    ) = None,\n) -> typing.Self: ...","description":"Create material from tensor components acoustic parameter material.\n\nOverwrite this method if your material can not be constructed from\nacoustic constants.\n\nA class method to create a anisotropic material of a desired symmetry\nclass from a canonical TC material. The method will automatically check\nif the canonical material that is passed meets the symmetry\nrequirements of the desired materials. If it does not, a TypeError will\nbe raised.","parameters":[{"name":"m","description":"The material in tensor components parametrization to be used to construct the new material.","type_hint":"GenericTensorComponents[_pd.F]","default_value":null},{"name":"reduction_method","description":"Method to move between incompatible symmetry classes. None will only move to symmetries that are equal or more permissive, while `remove-components` will drop components that are found to match the new material's constraints as necessary, and thus leading to loss of free parameters but not of information. The option \"force\" will take all information necessary to construct the new parameter set without verification, leading to loss of information.","type_hint":"typing.Literal['remove-components', 'force'] | None","default_value":"None"}]},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.material_system","name":"material_system","signature":"def material_system() -> type[PhysicalMaterial]: ...","description":"Get the material system of the material.","parameters":[]}],"properties":[{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.ds","name":"ds","description":"Material's xarray representation.","return_type_hint":"typing.Mapping","has_setter":false,"has_deleter":false},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.flatten","name":"flatten","description":"Get all parameters as a dict.","return_type_hint":"dict","has_setter":false,"has_deleter":false},{"qualified_name":"salvus.material.elastic.hexagonal.Velocity.viscosity","name":"viscosity","description":"Get the optional attenuation.","return_type_hint":"Material | None","has_setter":false,"has_deleter":false}]}],"exceptions":[],"links":null,"functions":[]},"allFile":{"edges":[{"node":{"relativePath":"0.12.16/python_api/salvus.json"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/AxiSEM.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/AxiSEMCartesian.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Cartesian2D.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Cartesian2DHomogeneous.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Cartesian3D.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Cartesian3DHomogeneous.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Circular2D.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Globe3D.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Globe3DSurfaceWaves.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/SmoothieSEM.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/SphericalChunk3D.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/SphericalChunk3DSurfaceWaves.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/TidalLoading.md"}},{"node":{"relativePath":"2024.1.3/python_api/salvus.json"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Cartesian2D.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Cartesian2DHomogeneous.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Cartesian3D.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Cartesian3DHomogeneous.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Circular2D.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Globe3D.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Globe3DAxialSymmetry.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/SmoothieSEM.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/SphericalChunk3D.md"}},{"node":{"relativePath":"2025.1.3/python_api/salvus.json"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Cartesian2D.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Cartesian2DHomogeneous.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Cartesian3D.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Cartesian3DHomogeneous.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Circular2D.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Globe3D.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Globe3DAxialSymmetry.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/SmoothieSEM.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/SphericalChunk3D.md"}},{"node":{"relativePath":"2026.5.0/python_api/salvus.json"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Cartesian2D.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Cartesian2DHomogeneous.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Cartesian3D.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Cartesian3DHomogeneous.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Circular2D.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Globe3D.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Globe3DAxialSymmetry.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/SmoothieSEM.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/SphericalChunk3D.md"}},{"node":{"relativePath":"0.12.16/python_api/salvus/fem.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/namespace.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox.json"}},{"node":{"relativePath":"0.12.16/python_api/images/1bc683f8ed41278a74bcce75644df35d78ec1feb40c32317f0c3aff9a115838d.png"}},{"node":{"relativePath":"0.12.16/python_api/images/3a6eafcefc4ccc7087bc952e6154acf8b71c38d64d788099f46c4d0d489c0350.png"}},{"node":{"relativePath":"0.12.16/python_api/images/569fdfeb70ca31ce08dcea0897aa094248e24ede4570d1c9bb3921aa45aaf61e.png"}},{"node":{"relativePath":"0.12.16/python_api/images/58e5f7c4ab4f255a8faa0e5711e93bad50a50f88f2e1318e674d3a71df269208.png"}},{"node":{"relativePath":"0.12.16/python_api/images/79d8885f3fe81f5135487e41035ea8495ef07708e12a133bf7d17ee1151ce166.png"}},{"node":{"relativePath":"0.12.16/python_api/images/912c2f47c877d50cccd9157d5c400ebb09670b1a3acb212464b82d3f6517642a.png"}},{"node":{"relativePath":"0.12.16/python_api/images/ba32c7f94c59cf9763ce558df0c544576eb20bba70b571832aaa114d66949d39.png"}},{"node":{"relativePath":"0.12.16/python_api/images/e19720c194fa1710ad3b156de4ffa66acf09615a8bc1053df738a911bd17ff8d.png"}},{"node":{"relativePath":"0.12.16/python_api/images/f62606db07fe3b4533455d176cc72ad94137fa8dcd1ceb337b0c7453e517bd4c.png"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/data.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/fem.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/geometry.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/namespace.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox.json"}},{"node":{"relativePath":"2025.1.3/python_api/images/1bc683f8ed41278a74bcce75644df35d78ec1feb40c32317f0c3aff9a115838d.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/3a6eafcefc4ccc7087bc952e6154acf8b71c38d64d788099f46c4d0d489c0350.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/569fdfeb70ca31ce08dcea0897aa094248e24ede4570d1c9bb3921aa45aaf61e.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/58e5f7c4ab4f255a8faa0e5711e93bad50a50f88f2e1318e674d3a71df269208.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/79d8885f3fe81f5135487e41035ea8495ef07708e12a133bf7d17ee1151ce166.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/912c2f47c877d50cccd9157d5c400ebb09670b1a3acb212464b82d3f6517642a.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/ba32c7f94c59cf9763ce558df0c544576eb20bba70b571832aaa114d66949d39.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/e19720c194fa1710ad3b156de4ffa66acf09615a8bc1053df738a911bd17ff8d.png"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/data.json"}},{"node":{"relativePath":"2025.1.3/python_api/images/f62606db07fe3b4533455d176cc72ad94137fa8dcd1ceb337b0c7453e517bd4c.png"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/geometry.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/namespace.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox.json"}},{"node":{"relativePath":"2026.5.0/python_api/images/1bc683f8ed41278a74bcce75644df35d78ec1feb40c32317f0c3aff9a115838d.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/3a6eafcefc4ccc7087bc952e6154acf8b71c38d64d788099f46c4d0d489c0350.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/569fdfeb70ca31ce08dcea0897aa094248e24ede4570d1c9bb3921aa45aaf61e.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/58e5f7c4ab4f255a8faa0e5711e93bad50a50f88f2e1318e674d3a71df269208.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/79d8885f3fe81f5135487e41035ea8495ef07708e12a133bf7d17ee1151ce166.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/912c2f47c877d50cccd9157d5c400ebb09670b1a3acb212464b82d3f6517642a.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/ba32c7f94c59cf9763ce558df0c544576eb20bba70b571832aaa114d66949d39.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/e19720c194fa1710ad3b156de4ffa66acf09615a8bc1053df738a911bd17ff8d.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/f62606db07fe3b4533455d176cc72ad94137fa8dcd1ceb337b0c7453e517bd4c.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/1bc683f8ed41278a74bcce75644df35d78ec1feb40c32317f0c3aff9a115838d.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/3a6eafcefc4ccc7087bc952e6154acf8b71c38d64d788099f46c4d0d489c0350.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/569fdfeb70ca31ce08dcea0897aa094248e24ede4570d1c9bb3921aa45aaf61e.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/58e5f7c4ab4f255a8faa0e5711e93bad50a50f88f2e1318e674d3a71df269208.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/79d8885f3fe81f5135487e41035ea8495ef07708e12a133bf7d17ee1151ce166.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/912c2f47c877d50cccd9157d5c400ebb09670b1a3acb212464b82d3f6517642a.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/ba32c7f94c59cf9763ce558df0c544576eb20bba70b571832aaa114d66949d39.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/e19720c194fa1710ad3b156de4ffa66acf09615a8bc1053df738a911bd17ff8d.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/f62606db07fe3b4533455d176cc72ad94137fa8dcd1ceb337b0c7453e517bd4c.png"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/data.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/geometry.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/namespace.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/fem/hypercube.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/fem/tensor_gll.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/api.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/paths.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/near_surface.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/waveform_db.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/source_inversion.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/absorbing_boundary.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/attenuation.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/chunked_interface.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mask_generators.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/models_1D.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/numba_utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/tools.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/simple_mesh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/unstructured_mesh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/unstructured_mesh_utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/iteration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/mappings.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/methods.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/models.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/preconditioner.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/smoothing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/tasks.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/domain.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/meshing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/project.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/helpers.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/ses3d.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/toolbox_geotech.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/toolbox.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/data/io.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/functions.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/paths.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/fem/derivatives.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/fem/element_nodes.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/fem/hypercube.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/fem/sem.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/geometry/coordinates.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/acoustic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/attenuation.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/base_materials.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/visco.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/simple_mesh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/tools.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/near_surface.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/source_inversion.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/waveform_db.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/data_normalizations.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/iteration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/mappings.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/methods.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/models.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/preconditioner.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/smoothing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/tasks.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/domain.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/meshing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/project.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/project_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/version.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/helpers.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/ses3d.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/toolbox.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/toolbox_geotech.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/data/io.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/data/processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/derivatives.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/element_nodes.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/error_estimations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/hypercube.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/integrals.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/sem.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/functions.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/geometry/coordinates.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/acoustic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/attenuation.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/base_materials.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/patches.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/visco.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/recipes.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/tools.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/simple_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/near_surface.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/source_inversion.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/waveform_db.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/data_normalizations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/iteration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/mappings.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/methods.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/preconditioner.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/smoothing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/tasks.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/domain.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/meshing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/project.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/project_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/version.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/helpers.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/ses3d.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/toolbox.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/toolbox_geotech.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/data/io.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/data/processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/derivatives.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/element_nodes.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/error_estimations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/hypercube.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/integrals.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/sem.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/functions.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/geometry/coordinates.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/acoustic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/attenuation.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/base_materials.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/patches.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/visco.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/recipes.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/simple_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/tools.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/near_surface.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/source_inversion.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/waveform_db.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/data_normalizations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/iteration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/mappings.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/methods.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/preconditioner.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/smoothing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/tasks.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/domain.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/meshing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/project.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/project_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/version.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/helpers.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/ses3d.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/toolbox.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/toolbox_geotech.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/data_proxies.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_block.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_collection.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_backends.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_collection.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_collection_proxy.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_misfit.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_misfit_collection.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_window_and_weight_set.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/receiver_channel.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/types.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/wavefield_compression.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/boundary.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/receiver.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/simulation.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/source.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/base_site.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/functions.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/job.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/remote_io_site.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/salvus_job.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/salvus_job_array.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/site_utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/types.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/near_surface/processing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/source_inversion/source_inversion.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/waveform_db/utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/waveform_db/waveform_db.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/interface.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh/deformed_regular_grid.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh/run_mesher.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh/smoothiesem.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/generators.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/mesh_block.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/mesh_block_collection.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/mesh_block_utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/simple_mesh/basic_mesh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/tools/transforms.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/methods/lbfgs.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/methods/trustregion.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/mappings/mappings.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/cross_correlation_time_shift.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/deprecated.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/gradient_test.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/graph_space_optimal_transport.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/l2_misfit.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/normalization.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/phase_misfit.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/time_frequency_phase_misfit.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/models/generic_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/models/structured_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/models/unstructured_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/models/util.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/event_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/entity_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/inversion_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/misfit_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/types.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/simulation_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/visualization.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/waveform_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/bathymetry.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/data_selection_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/inverse_problem_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/event_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/mesh_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/misfit_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/processing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/project_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/simulation_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/topography.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/waveform_simulation_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/domain/dim2.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/data_selection.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/helpers/interpolate.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/helpers/toolbox_helpers.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/helpers/wavefield_output.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/data_proxies.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_block.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_backends.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_collection_proxy.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_misfit_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_window_and_weight_set.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/receiver_channel.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/source_mechanism.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/types.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/wavefield_compression.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/base_executor.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/executor_utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/functions.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/job.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/remote_io_executor.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/salvus_job.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/salvus_job_array.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/types.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/boundary.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/receiver.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/simulation.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/geometry/coordinates/coordinates.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/geometry/coordinates/references.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/geometry/coordinates/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/acoustic/elliptical_hexagonal.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/acoustic/hexagonal.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/acoustic/isotropic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/acoustic/orthotropic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/cubic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/hexagonal.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/isotropic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/monoclinic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/orthotropic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/triclinic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/visco/acoustic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/visco/elastic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/absorbing_boundary.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/connectivity.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/mask_generators.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/optimize_dt.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/point_sorting.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/spherical.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/tensorized_elements.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/mesh_block.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/unstructured_mesh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/interface.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/simple_mesh/basic_mesh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/tools/transforms.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/near_surface/processing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/source_inversion/source_inversion.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/waveform_db/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/waveform_db/waveform_db.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/data_normalizations/l2_energy_per_measurement.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/data_normalizations/normalized_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/mappings/mappings.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/methods/lbfgs.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/methods/trustregion.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/cross_correlation_time_shift.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/deprecated.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/gradient_test.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/graph_space_optimal_transport.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/l2_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/phase_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/time_frequency_phase_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/models/generic_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/models/structured_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/models/unstructured_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/models/util.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/attachment_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/entity_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/event_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/inversion_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/misfit_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/simulation_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/types.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/visualization.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/waveform_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/bathymetry.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/data_selection_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/event_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/inverse_problem_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/mesh_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/misfit_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/processing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/simulation_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/topography.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/waveform_simulation_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/domain/dim2.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/data_selection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/version/salvus_project_version.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/helpers/interpolate.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/helpers/toolbox_helpers.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/helpers/wavefield_output.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/data/processing/trace_processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/data_proxies.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_block.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_collection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_backends.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_collection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_collection_proxy.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_misfit_collection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_window_and_weight_set.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/receiver_channel.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/source_mechanism.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/types.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/wavefield_compression.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/base_executor.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/direct.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/executor_utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/functions.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/job.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/mpi.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/remote_io_executor.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/salvus_job.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/salvus_job_array.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/types.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/boundary.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/memory.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/receiver.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/simulation.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/geometry/coordinates/coordinates.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/geometry/coordinates/references.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/geometry/coordinates/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/acoustic/elliptical_hexagonal.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/acoustic/hexagonal.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/acoustic/orthotropic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/attenuation/conversions.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/attenuation/linear_solids.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/attenuation/visualization.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/cubic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/monoclinic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/orthotropic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/triclinic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/patches/approx_oracle_plugins.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/utils/compute_symbolic_jacobian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/utils/wavelength_oracle.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/visco/acoustic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/visco/elastic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/absorbing_boundary.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/connectivity.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/dual.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/mask_generators.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/optimize_dt.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/point_sorting.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/spherical.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/tensorized_elements.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/wrappers.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/interface.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/serialization.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/chunked_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/common.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/distributed_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/mesh_block.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/unstructured_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/simple_mesh/basic_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/tools/transforms.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/near_surface/processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/source_inversion/source_inversion.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/waveform_db/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/waveform_db/waveform_db.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/mappings/mappings.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/data_normalizations/l2_energy_per_measurement.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/data_normalizations/normalized_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/cross_correlation_time_shift.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/deprecated.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/gradient_test.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/graph_space_optimal_transport.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/l2_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/phase_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/time_frequency_phase_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/methods/lbfgs.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/methods/trustregion.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/block_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/data_structures.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/distributed_block_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/generic_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/structured_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/unstructured_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/util.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/attachment_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/entity_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/event_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/inversion_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/misfit_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/simulation_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/types.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/visualization.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/waveform_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/bathymetry.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/data_selection_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/event_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/inverse_problem_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/mesh_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/misfit_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/simulation_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/topography.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/waveform_simulation_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/domain/dim2.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/domain/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/data_selection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/mpi_workflows.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/version/salvus_project_version.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/helpers/interpolate.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/helpers/toolbox_helpers.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/helpers/wavefield_output.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/data/processing/trace_processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/data_proxies.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_block.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_collection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_backends.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_collection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_collection_proxy.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_misfit_collection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_window_and_weight_set.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/receiver_channel.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/source_mechanism.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/types.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/wavefield_compression.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/base_executor.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/direct.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/executor_utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/functions.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/job.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/mpi.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/remote_io_executor.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/salvus_job.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/salvus_job_array.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/types.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/boundary.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/memory.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/receiver.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/simulation.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/geometry/coordinates/coordinates.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/geometry/coordinates/references.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/geometry/coordinates/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/acoustic/elliptical_hexagonal.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/acoustic/hexagonal.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/acoustic/orthotropic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/attenuation/conversions.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/attenuation/linear_solids.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/attenuation/visualization.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/cubic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/monoclinic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/orthotropic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/triclinic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/utils/compute_symbolic_jacobian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/utils/wavelength_oracle.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/patches/approx_oracle_plugins.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/visco/acoustic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/visco/elastic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/absorbing_boundary.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/connectivity.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/mask_generators.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/dual.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/optimize_dt.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/point_sorting.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/spherical.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/tensorized_elements.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/wrappers.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/chunked_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/chain_complex.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/common.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/distributed_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/mesh_block.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/unstructured_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/interface.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/serialization.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/simple_mesh/basic_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/tools/transforms.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/near_surface/processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/source_inversion/source_inversion.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/waveform_db/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/waveform_db/waveform_db.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/data_normalizations/l2_energy_per_measurement.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/data_normalizations/normalized_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/mappings/mappings.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/methods/lbfgs.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/methods/trustregion.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/cross_correlation_time_shift.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/deprecated.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/gradient_test.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/graph_space_optimal_transport.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/l2_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/phase_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/time_frequency_phase_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/block_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/data_structures.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/distributed_block_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/generic_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/structured_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/unstructured_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/util.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/bathymetry.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/data_selection_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/event_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/inverse_problem_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/mesh_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/misfit_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/simulation_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/topography.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/waveform_simulation_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/attachment_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/entity_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/event_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/inversion_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/misfit_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/simulation_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/types.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/visualization.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/waveform_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/domain/dim2.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/domain/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/data_selection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/mpi_workflows.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/version/salvus_project_version.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/helpers/interpolate.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/helpers/toolbox_helpers.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/helpers/wavefield_output.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/data_proxies/seis_io_data_proxy.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_backends/hdf5_data_backend.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_backends/asdf_data_backend.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_backends/segy_data_backend.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_backends/xarray_data_backend.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/receiver/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/receiver/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/source/transformations.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/grid_engine.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/local.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/pbs.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/lsf.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/slurm.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/ssh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/local_task_chain_runner.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/run_task_chain_bash_file.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/task_chain.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/task_chain_controller.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/task_chain_runner.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/task_chain_site_config.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/detail/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/detail/mesh_from_domain.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/detail/realize.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/interface/curve.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/interface/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/interface/hyperplane.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/interface/surface.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/near_surface/processing/geophone_response.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/near_surface/processing/point_to_line_source_conversion.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/bm.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/filters.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/layer.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/layered_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/reductions.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/acoustic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/parameter.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/visco.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/meshing_protocol.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/utils/blend.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/utils/compute_ellipticity.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/utils/flood.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/utils/split_layered_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/generators/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/deprecated/phase_misfit.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/action_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/inversion.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/exploration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/validation.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/visualization/notebook_visualization_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/visualization/seismology_visualization_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/visualization/visualization_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/bathymetry/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/bathymetry/spherical.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/background.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/volume.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/processing/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/topography/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/topography/spherical.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io/converters.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/data_selection/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io/seisio.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/block_processing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/processing_templates.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/signal_processing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/data_proxies/hdf5_data_proxy.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/data_proxies/seis_io_data_proxy.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_backends/asdf_data_backend.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_backends/hdf5_data_backend.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_backends/segy_data_backend.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_backends/xarray_data_backend.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/grid_engine.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/local.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/lsf.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/pbs.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/slurm.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/ssh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/local_task_chain_runner.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/run_task_chain_with_python.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/task_chain.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/task_chain_controller.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/task_chain_runner.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/task_chain_site_config.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/receiver/cartesian.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/receiver/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/srf_file_reader.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/srf_to_salvus_sources.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/srf_utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/transformations.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/basic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/deformations.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/extrude.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/io.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/material_operations.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/metrics.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/parallel_utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/refinements.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/side_sets.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/spatial_gradients.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/direct.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/mesh_from_domain.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/realize.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/interface/curve.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/interface/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/interface/hyperplane.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/interface/surface.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/bm.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/filters.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/layer.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/layered_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/reductions.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/meshing_protocol.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/utils/blend.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/utils/compute_ellipticity.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/utils/flood.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/utils/split_layered_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/near_surface/processing/geophone_response.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/near_surface/processing/point_to_line_source_conversion.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/deprecated/phase_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/action_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/exploration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/inversion.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/validation.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/visualization/notebook_visualization_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/visualization/seismology_visualization_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/visualization/visualization_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/bathymetry/cartesian.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/bathymetry/spherical.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/background.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/volume.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/processing/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/topography/cartesian.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/topography/spherical.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/data_selection/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io/converters.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io/seisio.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/block_processing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/processing_templates.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/signal_processing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_backends/asdf_data_backend.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_backends/hdf5_data_backend.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_backends/xarray_data_backend.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/data_proxies/hdf5_data_proxy.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/data_proxies/seis_io_data_proxy.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/direct/simulations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/mpi/simulations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/mpi/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/flux.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/grid_engine.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/local.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/lsf.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/pbs.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/slurm.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/ssh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/local_task_chain_runner.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/task_chain.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/run_task_chain_with_python.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/task_chain_controller.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/task_chain_runner.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/task_chain_site_config.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/receiver/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/receiver/cartesian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/cartesian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/srf_to_salvus_sources.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/srf_file_reader.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/transformations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/srf_utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/broadcast.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/convert.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/construct_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/mesh_from_domain_mpi.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/mesh_to_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/reduce.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/scatter.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/basic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/submesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/deformations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/dmplex.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/io.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/extrude.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/material_operations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/metrics.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/parallel_utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/qc.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/refinements.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/side_sets.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/spatial_gradients.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/mesh_from_domain.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/realize.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/direct.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/interface/curve.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/interface/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/interface/hyperplane.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/interface/surface.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/filters.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/bm.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/layered_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/layer.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/plot.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/reductions.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/meshing_protocol.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/serialization/write_to_h5.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/serialization/read_from_h5.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/utils/blend.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/utils/compute_ellipticity.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/utils/flood.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/chunked_mesh/chunked_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/utils/split_layered_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/distributed_mesh/distributed_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_collection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/linear_solids.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/section.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/migration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/serialization.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/side_sets.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/unstructured_mesh/unstructured_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/near_surface/processing/point_to_line_source_conversion.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/near_surface/processing/geophone_response.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/action_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/exploration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/deprecated/phase_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/inversion.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/validation.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/visualization/notebook_visualization_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/visualization/visualization_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/visualization/seismology_visualization_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/bathymetry/cartesian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/background.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/bathymetry/spherical.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/volume.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/processing/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/topography/spherical.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/topography/cartesian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/data_selection/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io/converters.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io/seisio.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/mpi_workflows/run_simulations_from_project.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/processing_templates.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/block_processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/signal_processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/data_proxies/hdf5_data_proxy.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/data_proxies/seis_io_data_proxy.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_backends/hdf5_data_backend.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_backends/asdf_data_backend.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_backends/xarray_data_backend.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/local.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/flux.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/grid_engine.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/direct/simulations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/lsf.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/pbs.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/slurm.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/ssh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/mpi/simulations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/run_task_chain_with_python.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/task_chain.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/local_task_chain_runner.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/mpi/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/task_chain_controller.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/task_chain_runner.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/task_chain_site_config.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/receiver/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/receiver/cartesian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/cartesian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/srf_to_salvus_sources.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/srf_utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/srf_file_reader.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/transformations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/convert.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/construct_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/mesh_from_domain_mpi.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/reduce.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/mpi_communication.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/mesh_to_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/scatter.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/submesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/basic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/deformations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/dmplex.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/extrude.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/io.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/parallel_utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/metrics.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/material_operations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/qc.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/refinements.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/spatial_gradients.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/side_sets.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/chain_complex/chain_complex.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/chunked_mesh/chunked_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/distributed_mesh/distributed_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/mesh_block/mesh_block.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_collection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/direct.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/unstructured_mesh/unstructured_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/mesh_from_domain.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/realize.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/linear_solids.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/migration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/section.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/serialization.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/side_sets.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/interface/curve.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/interface/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/interface/surface.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/interface/hyperplane.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/meshing_protocol.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/bm.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/filters.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/layered_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/layer.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/reductions.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/plot.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/serialization/read_from_h5.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/serialization/write_to_h5.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/utils/blend.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/utils/compute_ellipticity.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/utils/flood.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/utils/split_layered_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/near_surface/processing/geophone_response.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/deprecated/phase_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/near_surface/processing/point_to_line_source_conversion.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/bathymetry/spherical.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/bathymetry/cartesian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/background.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/volume.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/topography/cartesian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/processing/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/action_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/topography/spherical.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/exploration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/inversion.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/visualization/notebook_visualization_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/validation.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/visualization/seismology_visualization_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/visualization/visualization_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/data_selection/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io/seisio.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io/converters.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/block_processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/processing_templates.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/mpi_workflows/run_simulations_from_project.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/signal_processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/receiver/cartesian/collections.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/receiver/seismology/collections.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/source/cartesian/collections.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/acoustic/isotropic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/acoustic/transversely_isotropic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/anisotropic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/cubic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/hexagonal.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/isotropic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/monoclinic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/orthotropic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/triclinic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/visco/acoustic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/visco/elastic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_constant.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_doubling.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_tripling.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_constant.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_variable.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_vertical_refine.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/exploration/exploration_action_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/inversion/inversion_action_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/seismology/seismology_action_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/validation/validation_action_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/background/homogeneous.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/background/one_dimensional.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/volume/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/volume/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/data_selection/seismology/receiver_weighting.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/data_selection/seismology/window_picking.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io/converters/seisio_to_block_data.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io/seisio/compression.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io/seisio/seisio.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/block_processing/adjust_length.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/block_processing/convolve.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/block_processing/resample.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/block_processing/taper.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/seismology/processing_templates.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/signal_processing/bandpass.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/compute_misfits_and_gradients.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/task_generators.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/receiver/cartesian/collections.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/receiver/seismology/collections.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/cartesian/collections.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/coordinate_systems.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_constant.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_doubling.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_tripling.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_constant.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_vertical_refine.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_variable.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy/simple_post_refinement.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/exploration/exploration_action_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/inversion/inversion_action_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/seismology/seismology_action_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/validation/validation_action_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/background/homogeneous.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/background/one_dimensional.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/volume/cartesian.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/volume/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/data_selection/seismology/receiver_weighting.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/data_selection/seismology/window_picking.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io/converters/seisio_to_block_data.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io/seisio/compression.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io/seisio/seisio.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/block_processing/adjust_length.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/block_processing/convolve.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/block_processing/resample.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/block_processing/taper.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/seismology/processing_templates.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/signal_processing/bandpass.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/prebuilt_workflows.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/receiver/cartesian/collections.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/receiver/seismology/collections.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/cartesian/collections.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/coordinate_systems.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/compute_coarsening_policies.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_constant.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_doubling.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_tripling.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_constant.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_variable.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_vertical_refine.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy/simple_post_refinement.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/assembly.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/comparison.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/fields.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/interpolation.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/itertools.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/lifting.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/mass_matrix.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/points.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/section.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/transform.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/migration/unstructured_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/global_element_ids.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/hdf5.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/vtk_utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/exploration/exploration_action_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/inversion/inversion_action_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/seismology/seismology_action_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/validation/validation_action_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/background/homogeneous.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/background/one_dimensional.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/volume/cartesian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/volume/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/data_selection/seismology/receiver_weighting.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/data_selection/seismology/window_picking.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io/converters/seisio_to_block_data.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io/seisio/compression.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io/seisio/seisio.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/block_processing/adjust_length.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/block_processing/convolve.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/block_processing/resample.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/block_processing/taper.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/seismology/processing_templates.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/signal_processing/bandpass.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/prebuilt_workflows.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/receiver/cartesian/collections.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/receiver/seismology/collections.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/cartesian/collections.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex/cell_topology_to_chain_complex.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex/chain_complex_to_cell_topology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex/io.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex/merge_k_cell.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex/split_k_cell.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/direct/coordinate_systems.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/assembly.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/comparison.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/fields.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/interpolation.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/itertools.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/lifting.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/mass_matrix.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/points.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/section.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/transform.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/migration/unstructured_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/global_element_ids.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/hdf5.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/vtk_utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/compute_coarsening_policies.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_constant.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_doubling.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_tripling.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_constant.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_variable.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_vertical_refine.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy/simple_post_refinement.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/background/homogeneous.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/background/one_dimensional.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/volume/cartesian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/volume/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/exploration/exploration_action_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/seismology/seismology_action_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/inversion/inversion_action_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/validation/validation_action_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/data_selection/seismology/receiver_weighting.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/data_selection/seismology/window_picking.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io/converters/seisio_to_block_data.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io/seisio/compression.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io/seisio/seisio.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/block_processing/adjust_length.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/block_processing/convolve.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/block_processing/resample.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/block_processing/taper.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/seismology/processing_templates.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/signal_processing/bandpass.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/prebuilt_workflows.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/anisotropic/dim2.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/anisotropic/dim3.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/acoustic/transversely_isotropic/dim2.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/acoustic/transversely_isotropic/dim3.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/task_generators/generate_misfit_computation_task.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/task_generators/generate_modify_input_file_task.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/task_generators/generate_store_mesh_in_shared_memory_context_function.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results/failed_result.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results/functions.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results/misfit_and_gradient_result.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results/misfit_result.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results/result_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases/smoothiesem.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/failed_result.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/functions.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_and_gradient_result.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_result.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/result_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/waveform_result.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_misfit_computation_task.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_modify_input_file_task.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_store_mesh_in_shared_memory_context_function.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases/smoothiesem.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/algorithms.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/distributed_mesh_building.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/distributed_smoothing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/failed_mesh_chunk_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/failed_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/functions.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/mesh_chunk_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_and_gradient_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/result_collection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/waveform_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_context_manager_function.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_misfit_computation_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_modify_input_file_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases/smoothiesem.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/algorithms.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/distributed_mesh_building.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/failed_mesh_chunk_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/failed_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/functions.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/mesh_chunk_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_and_gradient_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/result_collection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/waveform_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/distributed_smoothing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_context_manager_function.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_misfit_computation_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_modify_input_file_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators/mesh_construction.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators/shared_memory_mesh_context.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators/mesh_construction.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators/shared_memory_mesh_context.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_create_halo_extended_mesh_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_setup_diffusion_equations_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_trim_halo_extended_mesh_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_create_halo_extended_mesh_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_setup_diffusion_equations_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_trim_halo_extended_mesh_task.json"}},{"node":{"relativePath":"0.12.16/salvus_compute_api/salvus_compute_api.md"}},{"node":{"relativePath":"0.12.16/salvus_flow_schemas/salvus_flow_schemas.json"}},{"node":{"relativePath":"2024.1.3/salvus_compute_api/salvus_compute_api.md"}},{"node":{"relativePath":"2024.1.3/salvus_flow_schemas/salvus_flow_schemas.json"}},{"node":{"relativePath":"2025.1.3/salvus_compute_api/salvus_compute_api.md"}},{"node":{"relativePath":"2025.1.3/salvus_flow_schemas/salvus_flow_schemas.json"}},{"node":{"relativePath":"2026.5.0/salvus_compute_api/salvus_compute_api.md"}},{"node":{"relativePath":"2026.5.0/salvus_flow_schemas/salvus_flow_schemas.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/orientation.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/orientation.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/stf.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/domain/dim3.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/stf.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/domain/dim3.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/stf.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/acoustic/isotropic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/hexagonal.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/domain/dim3.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/stf.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/acoustic/isotropic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/hexagonal.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/domain/dim3.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/source/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/source/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/local_hpc.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/generators/spherical.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/local_hpc.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/cartesian.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/unstructured_mesh/unstructured_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/local_hpc.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/local_hpc.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/isotropic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/isotropic.json"}}]}},"pageContext":{"id":"482b6e8b-1441-5134-a5d1-226dc93b39f6"}},
    "staticQueryHashes": ["1756726491","1865182279","3419370438","3597190305","4112489441","519097329"]}