pylbo.gimli.amrvac
Classes
Class to prepare Legolas data for use in MPI-AMRVAC (https://amrvac.org). |
Module Contents
- class pylbo.gimli.amrvac.Amrvac(config)
Class to prepare Legolas data for use in MPI-AMRVAC (https://amrvac.org).
- Parameters:
config (dict) – The configuration dictionary detailing which Legolas file and selection of eigenmodes to use.
- config
- _validate_config()
Validates the presence and value of physics_type in the configuration dictionary.
- Raises:
KeyError – If physics_type is missing.
ValueError – If physics_type is invalid.
- _validate_datfile()
Validates whether a valid Legolas data file was specified in the configuration. Further checks whether all necessary parameters are present in the configuration to prepare Legolas data for use with MPI-AMRVAC.
- Raises:
AssertionError – If the length of weights is not equal to the number of eigenvalues or if the elements of the weights do not add up to 1; if ef_factor does not have modulus 1; if norm_range does not have length 2; if norm_range’s first element is larger than the second.
KeyError – If no datfile is specified; if no initial guess for the eigenvalue is specified.
TypeError – If ev_guess is not a single float/complex number or a list/NumPy array of float/complex numbers; if ev_time for the eigenvalue is not a float or an integer; if weights is not a list or NumPy array; if ef_factor is not a list with length equal to the number of eigenvalues, or an integer, float, or complex number; if quantity is not a string; if percentage is not a float; if norm_range is not a NumPy array.
ValueError – If quantity is not in the list of equilibrium quantities.
Exception – If the datfile is invalid.
- _get_combined_perturbation(ef)
Takes Legolas’s perturbations of different eigenvalues and adds them up to a single perturbation.
- Parameters:
ef (str) – The eigenfunction to combine.
- Returns:
The combined perturbation.
- Return type:
np.ndarray
- _get_total_perturbation(ef_type)
Combines the perturbations of different eigenvalues into a single perturbation. Derives the pressure perturbation from the density and temperature perturbations.
- Parameters:
ef_type (str) – The eigenfunction to calculate.
- Returns:
The total perturbation.
- Return type:
np.ndarray
- _get_normalisation()
Normalises the perturbation of the specified quantity by the maximum background value.
- Returns:
The normalisation factor.
- Return type:
- prepare_legolas_data(loc=None)
Prepares a file (.ldat) from the Legolas data for use with MPI-AMRVAC.
- Parameters:
loc (str, PathLike) – Path to the directory where the .ldat file will be stored. Default is the current directory.
- Raises:
ValueError – If the datfile is invalid.
Examples
>>> from pylbo.gimli import Amrvac >>> amrvac_config = { >>> "datfile": "./datfile.dat", >>> "physics_type": "mhd", >>> "ev_guess": [-0.1, 0.1], >>> "ev_time": 0, >>> "percentage": 0.01, >>> "quantity": "rho0" >>> } >>> amrvac = gimli.Amrvac(amrvac_config) >>> amrvac.prepare_legolas_data()