Required
QKAPPA| Type: | _pd.types.ParameterOrConstantT |
| Description: | Q for the bulk modulus. |
class Canonical(salvus.material.visco.acoustic._ViscoAcousticMaterial):
def __init__(self, QKAPPA: _pd.types.ParameterOrConstantT) -> None: ...| Type: | _pd.types.ParameterOrConstantT |
| Description: | Q for the bulk modulus. |
typing.Mapping)-Material's xarray representation.dict)-Get all parameters as a dict.def from_dataset(ds: xr.Dataset) -> Material[_pd.types.ParameterFlavorT]: ...| Type: | xr.Dataset |
| Description: | The dataset to construct the material from. |
def from_json(d: builtins.dict) -> Any: ...| Type: | builtins.dict |
| Description: | Dictionary containing its init parameters and a few other things. |
def from_material(
m: Material[_pd.types.ParameterFlavorT],
reduction_method: Literal["remove-components", "force"] | None = None,
) -> Canonical[_pd.types.ParameterFlavorT]: ...| Type: | Material[_pd.types.ParameterFlavorT] |
| Description: | Material to transform. |
| Type: | Literal['remove-components', 'force'] | None |
| Default value: | None |
| 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. |
def from_params(qkappa: _pd.types.ParameterInput) -> Self: ...| Type: | _pd.types.ParameterInput |
| Description: | Q for the bulk modulus. |
def material_system() -> type[Material]: ...f should be a function taking two parameters: the name of the
dataclass member and its value, and it should return a tuple containing
the same quantities. If a member is not to be transformed, f should
just return a tuple of the input member name and value, unchanged. Both
names and values can be transformed, with the semantics following those
of dataclasses.replace.@dataclass class A: member: int # Before my_a = A(member=1) my_a_new = dataclasses.replace(my_a, member=2 * my_a.member) # After my_a_new = A(val=1).map(lambda key, val: (key, 2 * val))
def map(
self, f: typing.Callable[[str, typing.Any], tuple[str, typing.Any]]
) -> typing.Self: ...| Type: | typing.Callable[[str, typing.Any], tuple[str, typing.Any]] |
| Description: | The function to map over the dataclass. |
def map_realized_parameters(
self,
f_constant: typing.Callable[
[str, _pd.realized.constant.Parameter], _pd.realized.constant.Parameter
] = salvus.material.base_materials._map_realized_default,
f_discrete: typing.Callable[
[str, _pd.realized.discrete.Parameter], _pd.realized.discrete.Parameter
] = salvus.material.base_materials._map_realized_default,
f_analytic: typing.Callable[
[str, _pd.realized.analytic.Parameter], _pd.realized.analytic.Parameter
] = salvus.material.base_materials._map_realized_default,
) -> Self: ...| Type: | typing.Callable[[str, _pd.realized.constant.Parameter], _pd.realized.constant.Parameter] |
| Default value: | salvus.material.base_materials._map_realized_default |
| Description: | The function to apply to constant parameters. Defaults to returning the parameter as-is. |
| Type: | typing.Callable[[str, _pd.realized.discrete.Parameter], _pd.realized.discrete.Parameter] |
| Default value: | salvus.material.base_materials._map_realized_default |
| Description: | The function to apply to discrete parameters. Defaults to returning the parameter as-is. |
| Type: | typing.Callable[[str, _pd.realized.analytic.Parameter], _pd.realized.analytic.Parameter] |
| Default value: | salvus.material.base_materials._map_realized_default |
| Description: | The function to apply to analytic parameters. Defaults to returning the parameter as-is. |
def qc_test(
self,
level: validation.QCLevel | str = QCLevel.strict,
display_issues: bool = True,
) -> dict[str, MaterialQCIssue]: ...| Type: | validation.QCLevel | str |
| Default value: | QCLevel.strict |
| 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: | bool |
| Default value: | True |
| Description: | If True, prints the issues found during the quality control checks. If False, issues are collected but not printed. |
def to_json(
self,
external_file_hash: types = None,
timer: types = None,
log_to_logger: bool = False,
comm: types = None,
) -> builtins.dict: ...| Type: | types |
| Default value: | None |
| 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: | types |
| Default value: | None |
| Description: | Execution timer. |
| Type: | bool |
| Default value: | False |
| Description: | Log timings to the logger. |
| Type: | types |
| Default value: | None |
| Description: | MPI communicator, if any. |
def to_wavelength_oracle(
self, n_dim: typing.Literal[2, 3] | None = None
) -> _pd.types.ParameterOrConstantT: ...| Type: | typing.Literal[2, 3] | None |
| Default value: | None |
| Description: | Dimension to return the oracle for, deprecated. |
def with_orientation(self, orientation: Material | None) -> Material: ...| Type: | Material | None |
| Description: | The orientation. |