From 098bc46c2a6dac1a95e5834319aa5b4a38b43709 Mon Sep 17 00:00:00 2001 From: adigitoleo Date: Thu, 3 Aug 2023 06:36:09 +0000 Subject: [PATCH] deploy: 946c29ef130637c5296be687d9dad1581d4ffa04 --- pydrex/minerals.html | 1932 +++++++-------- search.js | 2 +- tests/test_simple_shear_2d.html | 3905 ++++++++++++++++--------------- 3 files changed, 3009 insertions(+), 2830 deletions(-) diff --git a/pydrex/minerals.html b/pydrex/minerals.html index cc952d6d..059ce21c 100644 --- a/pydrex/minerals.html +++ b/pydrex/minerals.html @@ -98,6 +98,12 @@

API Documentation

  • seed
  • +
  • + lband +
  • +
  • + uband +
  • update_orientations
  • @@ -357,344 +363,360 @@

    217 fractions: list = field(default_factory=list) 218 orientations: list = field(default_factory=list) 219 seed: int = None -220 -221 def __str__(self): -222 # String output, used for str(self) and f"{self}", etc. -223 if hasattr(self.fractions[0], "shape"): -224 shape_of_fractions = str(self.fractions[0].shape) -225 else: -226 shape_of_fractions = "(?)" -227 -228 if hasattr(self.orientations[0], "shape"): -229 shape_of_orientations = str(self.orientations[0].shape) -230 else: -231 shape_of_orientations = "(?)" -232 -233 return ( -234 self.__class__.__qualname__ -235 + f"(phase={self.phase!s}, " -236 + f"fabric={self.fabric!s}, " -237 + f"regime={self.regime!s}, " -238 + f"n_grains={self.n_grains!s}, " -239 + f"fractions=<{self.fractions.__class__.__qualname__}" -240 + f" of {self.fractions[0].__class__.__qualname__} {shape_of_fractions}>, " -241 + f"orientations=<{self.orientations.__class__.__qualname__}" -242 + f" of {self.orientations[0].__class__.__qualname__} {shape_of_orientations}>)" -243 ) -244 -245 def _repr_pretty_(self, p, cycle): -246 # Format to use when printing to IPython or other interactive console. -247 p.text(self.__str__() if not cycle else self.__class__.__qualname__ + "(...)") -248 -249 def __post_init__(self): -250 """Initialise random orientations and grain volume fractions.""" -251 if self.fractions_init is None: -252 self.fractions_init = np.full(self.n_grains, 1.0 / self.n_grains) -253 if self.orientations_init is None: -254 self.orientations_init = Rotation.random( -255 self.n_grains, random_state=self.seed -256 ).as_matrix() -257 -258 # Copy the initial values to the storage lists. -259 self.fractions.append(self.fractions_init) -260 self.orientations.append(self.orientations_init) -261 -262 # Delete the initial value duplicates to avoid confusion. -263 del self.fractions_init -264 del self.orientations_init -265 -266 _log.info("created %s", self) -267 -268 def update_orientations( -269 self, -270 config, -271 deformation_gradient, -272 get_velocity_gradient, -273 pathline, -274 **kwargs, -275 ): -276 """Update orientations and volume distribution for the `Mineral`. -277 -278 Update crystalline orientations and grain volume distribution -279 for minerals undergoing plastic deformation. -280 -281 Args: -282 - `config` (dict) — PyDRex configuration dictionary -283 - `deformation_gradient` (array) — 3x3 initial deformation gradient tensor -284 - `get_velocity_gradient` (function) — callable with signature f(x) that returns -285 a 3x3 velocity gradient matrix at position x (vector) -286 - `pathline` (tuple) — tuple consisting of: -287 1. the time at which to start the CPO integration (t_start) -288 2. the time at which to stop the CPO integration (t_end) -289 3. callable with signature f(t) that returns the position of the mineral at -290 time t ∈ [t_start, t_end] +220 lband: int = None +221 uband: int = None +222 +223 def __str__(self): +224 # String output, used for str(self) and f"{self}", etc. +225 if hasattr(self.fractions[0], "shape"): +226 shape_of_fractions = str(self.fractions[0].shape) +227 else: +228 shape_of_fractions = "(?)" +229 +230 if hasattr(self.orientations[0], "shape"): +231 shape_of_orientations = str(self.orientations[0].shape) +232 else: +233 shape_of_orientations = "(?)" +234 +235 return ( +236 self.__class__.__qualname__ +237 + f"(phase={self.phase!s}, " +238 + f"fabric={self.fabric!s}, " +239 + f"regime={self.regime!s}, " +240 + f"n_grains={self.n_grains!s}, " +241 + f"fractions=<{self.fractions.__class__.__qualname__}" +242 + f" of {self.fractions[0].__class__.__qualname__} {shape_of_fractions}>, " +243 + f"orientations=<{self.orientations.__class__.__qualname__}" +244 + f" of {self.orientations[0].__class__.__qualname__} {shape_of_orientations}>)" +245 ) +246 +247 def _repr_pretty_(self, p, cycle): +248 # Format to use when printing to IPython or other interactive console. +249 p.text(self.__str__() if not cycle else self.__class__.__qualname__ + "(...)") +250 +251 def __post_init__(self): +252 """Initialise random orientations and grain volume fractions.""" +253 if self.fractions_init is None: +254 self.fractions_init = np.full(self.n_grains, 1.0 / self.n_grains) +255 if self.orientations_init is None: +256 self.orientations_init = Rotation.random( +257 self.n_grains, random_state=self.seed +258 ).as_matrix() +259 # For large numbers of grains, the number of ODE's exceeds what LSODA can +260 # handle. Therefore, we specify the Jacobian matrix as banded. +261 # By default, we use a bandwidth o f 12000 with lband = uband = 6000. +262 # This should work for up to 10000 grains. +263 if self.lband is None and self.uband is None and self.n_grains > 4632: +264 _log.warning( +265 "using a banded Jacobian because of the large number of grains." +266 + " To manually control the bandwidth, set `lband` and/or `uband`" +267 + f" in calls to `{self.__class__.__qualname__}.update_orientations`." +268 ) +269 self.lband = 6000 +270 self.uband = 6000 +271 +272 # Copy the initial values to the storage lists. +273 self.fractions.append(self.fractions_init) +274 self.orientations.append(self.orientations_init) +275 +276 # Delete the initial value duplicates to avoid confusion. +277 del self.fractions_init +278 del self.orientations_init +279 +280 _log.info("created %s", self) +281 +282 def update_orientations( +283 self, +284 config, +285 deformation_gradient, +286 get_velocity_gradient, +287 pathline, +288 **kwargs, +289 ): +290 """Update orientations and volume distribution for the `Mineral`. 291 -292 Any additional (optional) keyword arguments are passed to -293 `scipy.integrate.LSODA`. +292 Update crystalline orientations and grain volume distribution +293 for minerals undergoing plastic deformation. 294 -295 Array values must provide a NumPy-compatible interface: -296 <https://numpy.org/doc/stable/user/whatisnumpy.html> -297 -298 """ -299 -300 # ===== Set up callables for the ODE solver and internal processing ===== -301 -302 def extract_vars(y): -303 # TODO: Check if we can avoid .copy() here. -304 deformation_gradient = y[:9].copy().reshape((3, 3)) -305 orientations = ( -306 y[9 : self.n_grains * 9 + 9] -307 .copy() -308 .reshape((self.n_grains, 3, 3)) -309 .clip(-1, 1) -310 ) -311 # TODO: Check if we can avoid .copy() here. -312 fractions = ( -313 y[self.n_grains * 9 + 9 : self.n_grains * 10 + 9].copy().clip(0, None) -314 ) -315 fractions /= fractions.sum() -316 return deformation_gradient, orientations, fractions -317 -318 def eval_rhs(t, y): -319 """Evaluate right hand side of the D-Rex PDE.""" -320 # assert not np.any(np.isnan(y)), y[np.isnan(y)].shape -321 position = get_position(t) -322 velocity_gradient = get_velocity_gradient(position) -323 # _log.debug( -324 # "calculating CPO at %s (t=%e) with velocity gradient %s", -325 # position, -326 # t, -327 # velocity_gradient.flatten(), -328 # ) -329 -330 strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2 -331 strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max() -332 deformation_gradient, orientations, fractions = extract_vars(y) -333 # Uses nondimensional values of strain rate and velocity gradient. -334 orientations_diff, fractions_diff = _core.derivatives( -335 phase=self.phase, -336 fabric=self.fabric, -337 n_grains=self.n_grains, -338 orientations=orientations, -339 fractions=fractions, -340 strain_rate=strain_rate / strain_rate_max, -341 velocity_gradient=velocity_gradient / strain_rate_max, -342 stress_exponent=config["stress_exponent"], -343 deformation_exponent=config["deformation_exponent"], -344 nucleation_efficiency=config["nucleation_efficiency"], -345 gbm_mobility=config["gbm_mobility"], -346 volume_fraction=volume_fraction, -347 ) -348 return np.hstack( -349 ( -350 (velocity_gradient @ deformation_gradient).flatten(), -351 orientations_diff.flatten() * strain_rate_max, -352 fractions_diff * strain_rate_max, -353 ) -354 ) -355 -356 def apply_gbs(orientations, fractions, config): -357 """Apply grain boundary sliding for small grains.""" -358 mask = fractions < (config["gbs_threshold"] / self.n_grains) -359 # _log.debug( -360 # "grain boundary sliding activity (volume percentage): %s", -361 # len(np.nonzero(mask)) / len(fractions), -362 # ) -363 # No rotation: carry over previous orientations. -364 orientations[mask, :, :] = self.orientations[-1][mask, :, :] -365 fractions[mask] = config["gbs_threshold"] / self.n_grains -366 fractions /= fractions.sum() -367 # _log.debug( -368 # "grain volume fractions: median=%e, min=%e, max=%e, sum=%e", -369 # np.median(fractions), -370 # np.min(fractions), -371 # np.max(fractions), -372 # np.sum(fractions), -373 # ) -374 return orientations, fractions -375 -376 def perform_step(solver): -377 """Perform SciPy solver step and appropriate processing.""" -378 message = solver.step() -379 if message is not None and solver.status == "failed": -380 raise _err.IterationError(message) +295 Args: +296 - `config` (dict) — PyDRex configuration dictionary +297 - `deformation_gradient` (array) — 3x3 initial deformation gradient tensor +298 - `get_velocity_gradient` (function) — callable with signature f(x) that returns +299 a 3x3 velocity gradient matrix at position x (vector) +300 - `pathline` (tuple) — tuple consisting of: +301 1. the time at which to start the CPO integration (t_start) +302 2. the time at which to stop the CPO integration (t_end) +303 3. callable with signature f(t) that returns the position of the mineral at +304 time t ∈ [t_start, t_end] +305 +306 Any additional (optional) keyword arguments are passed to +307 `scipy.integrate.LSODA`. +308 +309 Array values must provide a NumPy-compatible interface: +310 <https://numpy.org/doc/stable/user/whatisnumpy.html> +311 +312 """ +313 +314 # ===== Set up callables for the ODE solver and internal processing ===== +315 +316 def extract_vars(y): +317 # TODO: Check if we can avoid .copy() here. +318 deformation_gradient = y[:9].copy().reshape((3, 3)) +319 orientations = ( +320 y[9 : self.n_grains * 9 + 9] +321 .copy() +322 .reshape((self.n_grains, 3, 3)) +323 .clip(-1, 1) +324 ) +325 # TODO: Check if we can avoid .copy() here. +326 fractions = ( +327 y[self.n_grains * 9 + 9 : self.n_grains * 10 + 9].copy().clip(0, None) +328 ) +329 fractions /= fractions.sum() +330 return deformation_gradient, orientations, fractions +331 +332 def eval_rhs(t, y): +333 """Evaluate right hand side of the D-Rex PDE.""" +334 # assert not np.any(np.isnan(y)), y[np.isnan(y)].shape +335 position = get_position(t) +336 velocity_gradient = get_velocity_gradient(position) +337 # _log.debug( +338 # "calculating CPO at %s (t=%e) with velocity gradient %s", +339 # position, +340 # t, +341 # velocity_gradient.flatten(), +342 # ) +343 +344 strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2 +345 strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max() +346 deformation_gradient, orientations, fractions = extract_vars(y) +347 # Uses nondimensional values of strain rate and velocity gradient. +348 orientations_diff, fractions_diff = _core.derivatives( +349 phase=self.phase, +350 fabric=self.fabric, +351 n_grains=self.n_grains, +352 orientations=orientations, +353 fractions=fractions, +354 strain_rate=strain_rate / strain_rate_max, +355 velocity_gradient=velocity_gradient / strain_rate_max, +356 stress_exponent=config["stress_exponent"], +357 deformation_exponent=config["deformation_exponent"], +358 nucleation_efficiency=config["nucleation_efficiency"], +359 gbm_mobility=config["gbm_mobility"], +360 volume_fraction=volume_fraction, +361 ) +362 return np.hstack( +363 ( +364 (velocity_gradient @ deformation_gradient).flatten(), +365 orientations_diff.flatten() * strain_rate_max, +366 fractions_diff * strain_rate_max, +367 ) +368 ) +369 +370 def apply_gbs(orientations, fractions, config): +371 """Apply grain boundary sliding for small grains.""" +372 mask = fractions < (config["gbs_threshold"] / self.n_grains) +373 # _log.debug( +374 # "grain boundary sliding activity (volume percentage): %s", +375 # len(np.nonzero(mask)) / len(fractions), +376 # ) +377 # No rotation: carry over previous orientations. +378 orientations[mask, :, :] = self.orientations[-1][mask, :, :] +379 fractions[mask] = config["gbs_threshold"] / self.n_grains +380 fractions /= fractions.sum() 381 # _log.debug( -382 # "%s step_size=%e", solver.__class__.__qualname__, solver.step_size -383 # ) -384 -385 deformation_gradient, orientations, fractions = extract_vars(solver.y) -386 orientations, fractions = apply_gbs(orientations, fractions, config) -387 solver.y[9:] = np.hstack((orientations.flatten(), fractions)) -388 -389 # ===== Initialise and run the solver using the above callables ===== -390 -391 time_start, time_end, get_position = pathline -392 if not callable(get_velocity_gradient): -393 raise ValueError( -394 "unable to evaluate velocity gradient callable." -395 + " You must provide a callable with signature f(x)" -396 + " that returns a 3x3 matrix." -397 ) -398 if not callable(get_position): -399 raise ValueError( -400 "unable to evaluate position callable." -401 + " You must provide a callable with signature f(t)" -402 + " that returns a 3-component array." -403 ) +382 # "grain volume fractions: median=%e, min=%e, max=%e, sum=%e", +383 # np.median(fractions), +384 # np.min(fractions), +385 # np.max(fractions), +386 # np.sum(fractions), +387 # ) +388 return orientations, fractions +389 +390 def perform_step(solver): +391 """Perform SciPy solver step and appropriate processing.""" +392 message = solver.step() +393 if message is not None and solver.status == "failed": +394 raise _err.IterationError(message) +395 # _log.debug( +396 # "%s step_size=%e", solver.__class__.__qualname__, solver.step_size +397 # ) +398 +399 deformation_gradient, orientations, fractions = extract_vars(solver.y) +400 orientations, fractions = apply_gbs(orientations, fractions, config) +401 solver.y[9:] = np.hstack((orientations.flatten(), fractions)) +402 +403 # ===== Initialise and run the solver using the above callables ===== 404 -405 if self.phase == _core.MineralPhase.olivine: -406 volume_fraction = config["olivine_fraction"] -407 elif self.phase == _core.MineralPhase.enstatite: -408 volume_fraction = config["enstatite_fraction"] -409 else: -410 assert False # Should never happen. -411 -412 y_start = np.hstack( -413 ( -414 deformation_gradient.flatten(), -415 self.orientations[-1].flatten(), -416 self.fractions[-1], +405 time_start, time_end, get_position = pathline +406 if not callable(get_velocity_gradient): +407 raise ValueError( +408 "unable to evaluate velocity gradient callable." +409 + " You must provide a callable with signature f(x)" +410 + " that returns a 3x3 matrix." +411 ) +412 if not callable(get_position): +413 raise ValueError( +414 "unable to evaluate position callable." +415 + " You must provide a callable with signature f(t)" +416 + " that returns a 3-component array." 417 ) -418 ) -419 solver = LSODA( -420 eval_rhs, -421 time_start, -422 y_start, -423 time_end, -424 atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12), -425 rtol=kwargs.pop("rtol", 1e-6), -426 first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1), -427 # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)), -428 **kwargs, -429 ) -430 perform_step(solver) -431 while solver.status == "running": -432 perform_step(solver) -433 -434 # Extract final values for this simulation step, append to storage. -435 deformation_gradient, orientations, fractions = extract_vars(solver.y.squeeze()) -436 self.orientations.append(orientations) -437 self.fractions.append(fractions) -438 return deformation_gradient -439 -440 def save(self, filename, postfix=None): -441 """Save CPO data for all stored timesteps to a `numpy` NPZ file. -442 -443 If `postfix` is not `None`, the data is appended to the NPZ file -444 in fields ending with "`_postfix`". -445 -446 Raises a `ValueError` if the data shapes are not compatible. -447 -448 See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`. +418 +419 if self.phase == _core.MineralPhase.olivine: +420 volume_fraction = config["olivine_fraction"] +421 elif self.phase == _core.MineralPhase.enstatite: +422 volume_fraction = config["enstatite_fraction"] +423 else: +424 assert False # Should never happen. +425 +426 y_start = np.hstack( +427 ( +428 deformation_gradient.flatten(), +429 self.orientations[-1].flatten(), +430 self.fractions[-1], +431 ) +432 ) +433 solver = LSODA( +434 eval_rhs, +435 time_start, +436 y_start, +437 time_end, +438 atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12), +439 rtol=kwargs.pop("rtol", 1e-6), +440 first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1), +441 # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)), +442 lband=self.lband, +443 uband=self.uband, +444 **kwargs, +445 ) +446 perform_step(solver) +447 while solver.status == "running": +448 perform_step(solver) 449 -450 """ -451 if len(self.fractions) != len(self.orientations): -452 raise ValueError( -453 "Length of stored results must match." -454 + " You've supplied currupted data with:\n" -455 + f"- {len(self.fractions)} grain size results, and\n" -456 + f"- {len(self.orientations)} orientation results." -457 ) -458 if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains: -459 data = { -460 "meta": np.array( -461 [self.phase, self.fabric, self.regime], dtype=np.uint8 -462 ), -463 "fractions": np.stack(self.fractions), -464 "orientations": np.stack(self.orientations), -465 } -466 # Create parent directories, resolve relative paths. -467 _io.resolve_path(filename) -468 # Append to file, requires postfix (unique name). -469 if postfix is not None: -470 archive = ZipFile(filename, mode="a", allowZip64=True) -471 for key in data.keys(): -472 with archive.open( -473 f"{key}_{postfix}", "w", force_zip64=True -474 ) as file: -475 buffer = io.BytesIO() -476 np.save(buffer, data[key]) -477 file.write(buffer.getvalue()) -478 buffer.close() -479 else: -480 np.savez(filename, **data) -481 else: -482 raise ValueError( -483 "Size of CPO data arrays must match number of grains." -484 + " You've supplied corrupted data with:\n" -485 + f"- `n_grains = {self.n_grains}`,\n" -486 + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n" -487 + f"- `orientations[0].shape = {self.orientations[0].shape}`." -488 ) -489 -490 def load(self, filename, postfix=None): -491 """Load CPO data from a `numpy` NPZ file. -492 -493 If `postfix` is not `None`, data is read from fields ending with "`_postfix`". -494 -495 See also: `Mineral.save`, `Mineral.from_file`. -496 -497 """ -498 if not filename.endswith(".npz"): -499 raise ValueError( -500 f"Must only load from numpy NPZ format. Cannot load from {filename}." -501 ) -502 data = np.load(filename) -503 if postfix is not None: -504 phase, fabric, regime = data[f"meta_{postfix}"] -505 self.fractions = list(data[f"fractions_{postfix}"]) -506 self.orientations = list(data[f"orientations_{postfix}"]) -507 else: -508 phase, fabric, regime = data["meta"] -509 self.fractions = list(data["fractions"]) -510 self.orientations = list(data["orientations"]) -511 -512 self.phase = phase -513 self.fabric = fabric -514 self.regime = regime -515 self.orientations_init = self.orientations[0] -516 self.fractions_init = self.fractions[0] -517 -518 @classmethod -519 def from_file(cls, filename, postfix=None): -520 """Construct a `Mineral` instance using data from a `numpy` NPZ file. -521 -522 If `postfix` is not `None`, data is read from fields ending with “`_postfix`”. -523 -524 See also: `Mineral.save`, `Mineral.load`. -525 -526 """ -527 if not filename.endswith(".npz"): -528 raise ValueError( -529 f"Must only load from numpy NPZ format. Cannot load from {filename}." -530 ) -531 data = np.load(filename) -532 if postfix is not None: -533 phase, fabric, regime = data[f"meta_{postfix}"] -534 fractions = list(data[f"fractions_{postfix}"]) -535 orientations = list(data[f"orientations_{postfix}"]) -536 else: -537 phase, fabric, regime = data["meta"] -538 fractions = list(data["fractions"]) -539 orientations = list(data["orientations"]) -540 -541 mineral = cls( -542 phase, -543 fabric, -544 regime, -545 n_grains=len(fractions[0]), -546 fractions_init=fractions[0], -547 orientations_init=orientations[0], -548 ) -549 mineral.fractions = fractions -550 mineral.orientations = orientations -551 return mineral -552 -553 -554def __run_doctests(): -555 import doctest +450 # Extract final values for this simulation step, append to storage. +451 deformation_gradient, orientations, fractions = extract_vars(solver.y.squeeze()) +452 self.orientations.append(orientations) +453 self.fractions.append(fractions) +454 return deformation_gradient +455 +456 def save(self, filename, postfix=None): +457 """Save CPO data for all stored timesteps to a `numpy` NPZ file. +458 +459 If `postfix` is not `None`, the data is appended to the NPZ file +460 in fields ending with "`_postfix`". +461 +462 Raises a `ValueError` if the data shapes are not compatible. +463 +464 See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`. +465 +466 """ +467 if len(self.fractions) != len(self.orientations): +468 raise ValueError( +469 "Length of stored results must match." +470 + " You've supplied currupted data with:\n" +471 + f"- {len(self.fractions)} grain size results, and\n" +472 + f"- {len(self.orientations)} orientation results." +473 ) +474 if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains: +475 data = { +476 "meta": np.array( +477 [self.phase, self.fabric, self.regime], dtype=np.uint8 +478 ), +479 "fractions": np.stack(self.fractions), +480 "orientations": np.stack(self.orientations), +481 } +482 # Create parent directories, resolve relative paths. +483 _io.resolve_path(filename) +484 # Append to file, requires postfix (unique name). +485 if postfix is not None: +486 archive = ZipFile(filename, mode="a", allowZip64=True) +487 for key in data.keys(): +488 with archive.open( +489 f"{key}_{postfix}", "w", force_zip64=True +490 ) as file: +491 buffer = io.BytesIO() +492 np.save(buffer, data[key]) +493 file.write(buffer.getvalue()) +494 buffer.close() +495 else: +496 np.savez(filename, **data) +497 else: +498 raise ValueError( +499 "Size of CPO data arrays must match number of grains." +500 + " You've supplied corrupted data with:\n" +501 + f"- `n_grains = {self.n_grains}`,\n" +502 + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n" +503 + f"- `orientations[0].shape = {self.orientations[0].shape}`." +504 ) +505 +506 def load(self, filename, postfix=None): +507 """Load CPO data from a `numpy` NPZ file. +508 +509 If `postfix` is not `None`, data is read from fields ending with "`_postfix`". +510 +511 See also: `Mineral.save`, `Mineral.from_file`. +512 +513 """ +514 if not filename.endswith(".npz"): +515 raise ValueError( +516 f"Must only load from numpy NPZ format. Cannot load from {filename}." +517 ) +518 data = np.load(filename) +519 if postfix is not None: +520 phase, fabric, regime = data[f"meta_{postfix}"] +521 self.fractions = list(data[f"fractions_{postfix}"]) +522 self.orientations = list(data[f"orientations_{postfix}"]) +523 else: +524 phase, fabric, regime = data["meta"] +525 self.fractions = list(data["fractions"]) +526 self.orientations = list(data["orientations"]) +527 +528 self.phase = phase +529 self.fabric = fabric +530 self.regime = regime +531 self.orientations_init = self.orientations[0] +532 self.fractions_init = self.fractions[0] +533 +534 @classmethod +535 def from_file(cls, filename, postfix=None): +536 """Construct a `Mineral` instance using data from a `numpy` NPZ file. +537 +538 If `postfix` is not `None`, data is read from fields ending with “`_postfix`”. +539 +540 See also: `Mineral.save`, `Mineral.load`. +541 +542 """ +543 if not filename.endswith(".npz"): +544 raise ValueError( +545 f"Must only load from numpy NPZ format. Cannot load from {filename}." +546 ) +547 data = np.load(filename) +548 if postfix is not None: +549 phase, fabric, regime = data[f"meta_{postfix}"] +550 fractions = list(data[f"fractions_{postfix}"]) +551 orientations = list(data[f"orientations_{postfix}"]) +552 else: +553 phase, fabric, regime = data["meta"] +554 fractions = list(data["fractions"]) +555 orientations = list(data["orientations"]) 556 -557 return doctest.testmod() +557 mineral = cls( +558 phase, +559 fabric, +560 regime, +561 n_grains=len(fractions[0]), +562 fractions_init=fractions[0], +563 orientations_init=orientations[0], +564 ) +565 mineral.fractions = fractions +566 mineral.orientations = orientations +567 return mineral +568 +569 +570def __run_doctests(): +571 import doctest +572 +573 return doctest.testmod() @@ -960,338 +982,354 @@

    218 fractions: list = field(default_factory=list) 219 orientations: list = field(default_factory=list) 220 seed: int = None -221 -222 def __str__(self): -223 # String output, used for str(self) and f"{self}", etc. -224 if hasattr(self.fractions[0], "shape"): -225 shape_of_fractions = str(self.fractions[0].shape) -226 else: -227 shape_of_fractions = "(?)" -228 -229 if hasattr(self.orientations[0], "shape"): -230 shape_of_orientations = str(self.orientations[0].shape) -231 else: -232 shape_of_orientations = "(?)" -233 -234 return ( -235 self.__class__.__qualname__ -236 + f"(phase={self.phase!s}, " -237 + f"fabric={self.fabric!s}, " -238 + f"regime={self.regime!s}, " -239 + f"n_grains={self.n_grains!s}, " -240 + f"fractions=<{self.fractions.__class__.__qualname__}" -241 + f" of {self.fractions[0].__class__.__qualname__} {shape_of_fractions}>, " -242 + f"orientations=<{self.orientations.__class__.__qualname__}" -243 + f" of {self.orientations[0].__class__.__qualname__} {shape_of_orientations}>)" -244 ) -245 -246 def _repr_pretty_(self, p, cycle): -247 # Format to use when printing to IPython or other interactive console. -248 p.text(self.__str__() if not cycle else self.__class__.__qualname__ + "(...)") -249 -250 def __post_init__(self): -251 """Initialise random orientations and grain volume fractions.""" -252 if self.fractions_init is None: -253 self.fractions_init = np.full(self.n_grains, 1.0 / self.n_grains) -254 if self.orientations_init is None: -255 self.orientations_init = Rotation.random( -256 self.n_grains, random_state=self.seed -257 ).as_matrix() -258 -259 # Copy the initial values to the storage lists. -260 self.fractions.append(self.fractions_init) -261 self.orientations.append(self.orientations_init) -262 -263 # Delete the initial value duplicates to avoid confusion. -264 del self.fractions_init -265 del self.orientations_init -266 -267 _log.info("created %s", self) -268 -269 def update_orientations( -270 self, -271 config, -272 deformation_gradient, -273 get_velocity_gradient, -274 pathline, -275 **kwargs, -276 ): -277 """Update orientations and volume distribution for the `Mineral`. -278 -279 Update crystalline orientations and grain volume distribution -280 for minerals undergoing plastic deformation. -281 -282 Args: -283 - `config` (dict) — PyDRex configuration dictionary -284 - `deformation_gradient` (array) — 3x3 initial deformation gradient tensor -285 - `get_velocity_gradient` (function) — callable with signature f(x) that returns -286 a 3x3 velocity gradient matrix at position x (vector) -287 - `pathline` (tuple) — tuple consisting of: -288 1. the time at which to start the CPO integration (t_start) -289 2. the time at which to stop the CPO integration (t_end) -290 3. callable with signature f(t) that returns the position of the mineral at -291 time t ∈ [t_start, t_end] +221 lband: int = None +222 uband: int = None +223 +224 def __str__(self): +225 # String output, used for str(self) and f"{self}", etc. +226 if hasattr(self.fractions[0], "shape"): +227 shape_of_fractions = str(self.fractions[0].shape) +228 else: +229 shape_of_fractions = "(?)" +230 +231 if hasattr(self.orientations[0], "shape"): +232 shape_of_orientations = str(self.orientations[0].shape) +233 else: +234 shape_of_orientations = "(?)" +235 +236 return ( +237 self.__class__.__qualname__ +238 + f"(phase={self.phase!s}, " +239 + f"fabric={self.fabric!s}, " +240 + f"regime={self.regime!s}, " +241 + f"n_grains={self.n_grains!s}, " +242 + f"fractions=<{self.fractions.__class__.__qualname__}" +243 + f" of {self.fractions[0].__class__.__qualname__} {shape_of_fractions}>, " +244 + f"orientations=<{self.orientations.__class__.__qualname__}" +245 + f" of {self.orientations[0].__class__.__qualname__} {shape_of_orientations}>)" +246 ) +247 +248 def _repr_pretty_(self, p, cycle): +249 # Format to use when printing to IPython or other interactive console. +250 p.text(self.__str__() if not cycle else self.__class__.__qualname__ + "(...)") +251 +252 def __post_init__(self): +253 """Initialise random orientations and grain volume fractions.""" +254 if self.fractions_init is None: +255 self.fractions_init = np.full(self.n_grains, 1.0 / self.n_grains) +256 if self.orientations_init is None: +257 self.orientations_init = Rotation.random( +258 self.n_grains, random_state=self.seed +259 ).as_matrix() +260 # For large numbers of grains, the number of ODE's exceeds what LSODA can +261 # handle. Therefore, we specify the Jacobian matrix as banded. +262 # By default, we use a bandwidth o f 12000 with lband = uband = 6000. +263 # This should work for up to 10000 grains. +264 if self.lband is None and self.uband is None and self.n_grains > 4632: +265 _log.warning( +266 "using a banded Jacobian because of the large number of grains." +267 + " To manually control the bandwidth, set `lband` and/or `uband`" +268 + f" in calls to `{self.__class__.__qualname__}.update_orientations`." +269 ) +270 self.lband = 6000 +271 self.uband = 6000 +272 +273 # Copy the initial values to the storage lists. +274 self.fractions.append(self.fractions_init) +275 self.orientations.append(self.orientations_init) +276 +277 # Delete the initial value duplicates to avoid confusion. +278 del self.fractions_init +279 del self.orientations_init +280 +281 _log.info("created %s", self) +282 +283 def update_orientations( +284 self, +285 config, +286 deformation_gradient, +287 get_velocity_gradient, +288 pathline, +289 **kwargs, +290 ): +291 """Update orientations and volume distribution for the `Mineral`. 292 -293 Any additional (optional) keyword arguments are passed to -294 `scipy.integrate.LSODA`. +293 Update crystalline orientations and grain volume distribution +294 for minerals undergoing plastic deformation. 295 -296 Array values must provide a NumPy-compatible interface: -297 <https://numpy.org/doc/stable/user/whatisnumpy.html> -298 -299 """ -300 -301 # ===== Set up callables for the ODE solver and internal processing ===== -302 -303 def extract_vars(y): -304 # TODO: Check if we can avoid .copy() here. -305 deformation_gradient = y[:9].copy().reshape((3, 3)) -306 orientations = ( -307 y[9 : self.n_grains * 9 + 9] -308 .copy() -309 .reshape((self.n_grains, 3, 3)) -310 .clip(-1, 1) -311 ) -312 # TODO: Check if we can avoid .copy() here. -313 fractions = ( -314 y[self.n_grains * 9 + 9 : self.n_grains * 10 + 9].copy().clip(0, None) -315 ) -316 fractions /= fractions.sum() -317 return deformation_gradient, orientations, fractions -318 -319 def eval_rhs(t, y): -320 """Evaluate right hand side of the D-Rex PDE.""" -321 # assert not np.any(np.isnan(y)), y[np.isnan(y)].shape -322 position = get_position(t) -323 velocity_gradient = get_velocity_gradient(position) -324 # _log.debug( -325 # "calculating CPO at %s (t=%e) with velocity gradient %s", -326 # position, -327 # t, -328 # velocity_gradient.flatten(), -329 # ) -330 -331 strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2 -332 strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max() -333 deformation_gradient, orientations, fractions = extract_vars(y) -334 # Uses nondimensional values of strain rate and velocity gradient. -335 orientations_diff, fractions_diff = _core.derivatives( -336 phase=self.phase, -337 fabric=self.fabric, -338 n_grains=self.n_grains, -339 orientations=orientations, -340 fractions=fractions, -341 strain_rate=strain_rate / strain_rate_max, -342 velocity_gradient=velocity_gradient / strain_rate_max, -343 stress_exponent=config["stress_exponent"], -344 deformation_exponent=config["deformation_exponent"], -345 nucleation_efficiency=config["nucleation_efficiency"], -346 gbm_mobility=config["gbm_mobility"], -347 volume_fraction=volume_fraction, -348 ) -349 return np.hstack( -350 ( -351 (velocity_gradient @ deformation_gradient).flatten(), -352 orientations_diff.flatten() * strain_rate_max, -353 fractions_diff * strain_rate_max, -354 ) -355 ) -356 -357 def apply_gbs(orientations, fractions, config): -358 """Apply grain boundary sliding for small grains.""" -359 mask = fractions < (config["gbs_threshold"] / self.n_grains) -360 # _log.debug( -361 # "grain boundary sliding activity (volume percentage): %s", -362 # len(np.nonzero(mask)) / len(fractions), -363 # ) -364 # No rotation: carry over previous orientations. -365 orientations[mask, :, :] = self.orientations[-1][mask, :, :] -366 fractions[mask] = config["gbs_threshold"] / self.n_grains -367 fractions /= fractions.sum() -368 # _log.debug( -369 # "grain volume fractions: median=%e, min=%e, max=%e, sum=%e", -370 # np.median(fractions), -371 # np.min(fractions), -372 # np.max(fractions), -373 # np.sum(fractions), -374 # ) -375 return orientations, fractions -376 -377 def perform_step(solver): -378 """Perform SciPy solver step and appropriate processing.""" -379 message = solver.step() -380 if message is not None and solver.status == "failed": -381 raise _err.IterationError(message) +296 Args: +297 - `config` (dict) — PyDRex configuration dictionary +298 - `deformation_gradient` (array) — 3x3 initial deformation gradient tensor +299 - `get_velocity_gradient` (function) — callable with signature f(x) that returns +300 a 3x3 velocity gradient matrix at position x (vector) +301 - `pathline` (tuple) — tuple consisting of: +302 1. the time at which to start the CPO integration (t_start) +303 2. the time at which to stop the CPO integration (t_end) +304 3. callable with signature f(t) that returns the position of the mineral at +305 time t ∈ [t_start, t_end] +306 +307 Any additional (optional) keyword arguments are passed to +308 `scipy.integrate.LSODA`. +309 +310 Array values must provide a NumPy-compatible interface: +311 <https://numpy.org/doc/stable/user/whatisnumpy.html> +312 +313 """ +314 +315 # ===== Set up callables for the ODE solver and internal processing ===== +316 +317 def extract_vars(y): +318 # TODO: Check if we can avoid .copy() here. +319 deformation_gradient = y[:9].copy().reshape((3, 3)) +320 orientations = ( +321 y[9 : self.n_grains * 9 + 9] +322 .copy() +323 .reshape((self.n_grains, 3, 3)) +324 .clip(-1, 1) +325 ) +326 # TODO: Check if we can avoid .copy() here. +327 fractions = ( +328 y[self.n_grains * 9 + 9 : self.n_grains * 10 + 9].copy().clip(0, None) +329 ) +330 fractions /= fractions.sum() +331 return deformation_gradient, orientations, fractions +332 +333 def eval_rhs(t, y): +334 """Evaluate right hand side of the D-Rex PDE.""" +335 # assert not np.any(np.isnan(y)), y[np.isnan(y)].shape +336 position = get_position(t) +337 velocity_gradient = get_velocity_gradient(position) +338 # _log.debug( +339 # "calculating CPO at %s (t=%e) with velocity gradient %s", +340 # position, +341 # t, +342 # velocity_gradient.flatten(), +343 # ) +344 +345 strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2 +346 strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max() +347 deformation_gradient, orientations, fractions = extract_vars(y) +348 # Uses nondimensional values of strain rate and velocity gradient. +349 orientations_diff, fractions_diff = _core.derivatives( +350 phase=self.phase, +351 fabric=self.fabric, +352 n_grains=self.n_grains, +353 orientations=orientations, +354 fractions=fractions, +355 strain_rate=strain_rate / strain_rate_max, +356 velocity_gradient=velocity_gradient / strain_rate_max, +357 stress_exponent=config["stress_exponent"], +358 deformation_exponent=config["deformation_exponent"], +359 nucleation_efficiency=config["nucleation_efficiency"], +360 gbm_mobility=config["gbm_mobility"], +361 volume_fraction=volume_fraction, +362 ) +363 return np.hstack( +364 ( +365 (velocity_gradient @ deformation_gradient).flatten(), +366 orientations_diff.flatten() * strain_rate_max, +367 fractions_diff * strain_rate_max, +368 ) +369 ) +370 +371 def apply_gbs(orientations, fractions, config): +372 """Apply grain boundary sliding for small grains.""" +373 mask = fractions < (config["gbs_threshold"] / self.n_grains) +374 # _log.debug( +375 # "grain boundary sliding activity (volume percentage): %s", +376 # len(np.nonzero(mask)) / len(fractions), +377 # ) +378 # No rotation: carry over previous orientations. +379 orientations[mask, :, :] = self.orientations[-1][mask, :, :] +380 fractions[mask] = config["gbs_threshold"] / self.n_grains +381 fractions /= fractions.sum() 382 # _log.debug( -383 # "%s step_size=%e", solver.__class__.__qualname__, solver.step_size -384 # ) -385 -386 deformation_gradient, orientations, fractions = extract_vars(solver.y) -387 orientations, fractions = apply_gbs(orientations, fractions, config) -388 solver.y[9:] = np.hstack((orientations.flatten(), fractions)) -389 -390 # ===== Initialise and run the solver using the above callables ===== -391 -392 time_start, time_end, get_position = pathline -393 if not callable(get_velocity_gradient): -394 raise ValueError( -395 "unable to evaluate velocity gradient callable." -396 + " You must provide a callable with signature f(x)" -397 + " that returns a 3x3 matrix." -398 ) -399 if not callable(get_position): -400 raise ValueError( -401 "unable to evaluate position callable." -402 + " You must provide a callable with signature f(t)" -403 + " that returns a 3-component array." -404 ) +383 # "grain volume fractions: median=%e, min=%e, max=%e, sum=%e", +384 # np.median(fractions), +385 # np.min(fractions), +386 # np.max(fractions), +387 # np.sum(fractions), +388 # ) +389 return orientations, fractions +390 +391 def perform_step(solver): +392 """Perform SciPy solver step and appropriate processing.""" +393 message = solver.step() +394 if message is not None and solver.status == "failed": +395 raise _err.IterationError(message) +396 # _log.debug( +397 # "%s step_size=%e", solver.__class__.__qualname__, solver.step_size +398 # ) +399 +400 deformation_gradient, orientations, fractions = extract_vars(solver.y) +401 orientations, fractions = apply_gbs(orientations, fractions, config) +402 solver.y[9:] = np.hstack((orientations.flatten(), fractions)) +403 +404 # ===== Initialise and run the solver using the above callables ===== 405 -406 if self.phase == _core.MineralPhase.olivine: -407 volume_fraction = config["olivine_fraction"] -408 elif self.phase == _core.MineralPhase.enstatite: -409 volume_fraction = config["enstatite_fraction"] -410 else: -411 assert False # Should never happen. -412 -413 y_start = np.hstack( -414 ( -415 deformation_gradient.flatten(), -416 self.orientations[-1].flatten(), -417 self.fractions[-1], +406 time_start, time_end, get_position = pathline +407 if not callable(get_velocity_gradient): +408 raise ValueError( +409 "unable to evaluate velocity gradient callable." +410 + " You must provide a callable with signature f(x)" +411 + " that returns a 3x3 matrix." +412 ) +413 if not callable(get_position): +414 raise ValueError( +415 "unable to evaluate position callable." +416 + " You must provide a callable with signature f(t)" +417 + " that returns a 3-component array." 418 ) -419 ) -420 solver = LSODA( -421 eval_rhs, -422 time_start, -423 y_start, -424 time_end, -425 atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12), -426 rtol=kwargs.pop("rtol", 1e-6), -427 first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1), -428 # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)), -429 **kwargs, -430 ) -431 perform_step(solver) -432 while solver.status == "running": -433 perform_step(solver) -434 -435 # Extract final values for this simulation step, append to storage. -436 deformation_gradient, orientations, fractions = extract_vars(solver.y.squeeze()) -437 self.orientations.append(orientations) -438 self.fractions.append(fractions) -439 return deformation_gradient -440 -441 def save(self, filename, postfix=None): -442 """Save CPO data for all stored timesteps to a `numpy` NPZ file. -443 -444 If `postfix` is not `None`, the data is appended to the NPZ file -445 in fields ending with "`_postfix`". -446 -447 Raises a `ValueError` if the data shapes are not compatible. -448 -449 See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`. +419 +420 if self.phase == _core.MineralPhase.olivine: +421 volume_fraction = config["olivine_fraction"] +422 elif self.phase == _core.MineralPhase.enstatite: +423 volume_fraction = config["enstatite_fraction"] +424 else: +425 assert False # Should never happen. +426 +427 y_start = np.hstack( +428 ( +429 deformation_gradient.flatten(), +430 self.orientations[-1].flatten(), +431 self.fractions[-1], +432 ) +433 ) +434 solver = LSODA( +435 eval_rhs, +436 time_start, +437 y_start, +438 time_end, +439 atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12), +440 rtol=kwargs.pop("rtol", 1e-6), +441 first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1), +442 # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)), +443 lband=self.lband, +444 uband=self.uband, +445 **kwargs, +446 ) +447 perform_step(solver) +448 while solver.status == "running": +449 perform_step(solver) 450 -451 """ -452 if len(self.fractions) != len(self.orientations): -453 raise ValueError( -454 "Length of stored results must match." -455 + " You've supplied currupted data with:\n" -456 + f"- {len(self.fractions)} grain size results, and\n" -457 + f"- {len(self.orientations)} orientation results." -458 ) -459 if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains: -460 data = { -461 "meta": np.array( -462 [self.phase, self.fabric, self.regime], dtype=np.uint8 -463 ), -464 "fractions": np.stack(self.fractions), -465 "orientations": np.stack(self.orientations), -466 } -467 # Create parent directories, resolve relative paths. -468 _io.resolve_path(filename) -469 # Append to file, requires postfix (unique name). -470 if postfix is not None: -471 archive = ZipFile(filename, mode="a", allowZip64=True) -472 for key in data.keys(): -473 with archive.open( -474 f"{key}_{postfix}", "w", force_zip64=True -475 ) as file: -476 buffer = io.BytesIO() -477 np.save(buffer, data[key]) -478 file.write(buffer.getvalue()) -479 buffer.close() -480 else: -481 np.savez(filename, **data) -482 else: -483 raise ValueError( -484 "Size of CPO data arrays must match number of grains." -485 + " You've supplied corrupted data with:\n" -486 + f"- `n_grains = {self.n_grains}`,\n" -487 + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n" -488 + f"- `orientations[0].shape = {self.orientations[0].shape}`." -489 ) -490 -491 def load(self, filename, postfix=None): -492 """Load CPO data from a `numpy` NPZ file. -493 -494 If `postfix` is not `None`, data is read from fields ending with "`_postfix`". -495 -496 See also: `Mineral.save`, `Mineral.from_file`. -497 -498 """ -499 if not filename.endswith(".npz"): -500 raise ValueError( -501 f"Must only load from numpy NPZ format. Cannot load from {filename}." -502 ) -503 data = np.load(filename) -504 if postfix is not None: -505 phase, fabric, regime = data[f"meta_{postfix}"] -506 self.fractions = list(data[f"fractions_{postfix}"]) -507 self.orientations = list(data[f"orientations_{postfix}"]) -508 else: -509 phase, fabric, regime = data["meta"] -510 self.fractions = list(data["fractions"]) -511 self.orientations = list(data["orientations"]) -512 -513 self.phase = phase -514 self.fabric = fabric -515 self.regime = regime -516 self.orientations_init = self.orientations[0] -517 self.fractions_init = self.fractions[0] -518 -519 @classmethod -520 def from_file(cls, filename, postfix=None): -521 """Construct a `Mineral` instance using data from a `numpy` NPZ file. -522 -523 If `postfix` is not `None`, data is read from fields ending with “`_postfix`”. -524 -525 See also: `Mineral.save`, `Mineral.load`. -526 -527 """ -528 if not filename.endswith(".npz"): -529 raise ValueError( -530 f"Must only load from numpy NPZ format. Cannot load from {filename}." -531 ) -532 data = np.load(filename) -533 if postfix is not None: -534 phase, fabric, regime = data[f"meta_{postfix}"] -535 fractions = list(data[f"fractions_{postfix}"]) -536 orientations = list(data[f"orientations_{postfix}"]) -537 else: -538 phase, fabric, regime = data["meta"] -539 fractions = list(data["fractions"]) -540 orientations = list(data["orientations"]) -541 -542 mineral = cls( -543 phase, -544 fabric, -545 regime, -546 n_grains=len(fractions[0]), -547 fractions_init=fractions[0], -548 orientations_init=orientations[0], -549 ) -550 mineral.fractions = fractions -551 mineral.orientations = orientations -552 return mineral +451 # Extract final values for this simulation step, append to storage. +452 deformation_gradient, orientations, fractions = extract_vars(solver.y.squeeze()) +453 self.orientations.append(orientations) +454 self.fractions.append(fractions) +455 return deformation_gradient +456 +457 def save(self, filename, postfix=None): +458 """Save CPO data for all stored timesteps to a `numpy` NPZ file. +459 +460 If `postfix` is not `None`, the data is appended to the NPZ file +461 in fields ending with "`_postfix`". +462 +463 Raises a `ValueError` if the data shapes are not compatible. +464 +465 See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`. +466 +467 """ +468 if len(self.fractions) != len(self.orientations): +469 raise ValueError( +470 "Length of stored results must match." +471 + " You've supplied currupted data with:\n" +472 + f"- {len(self.fractions)} grain size results, and\n" +473 + f"- {len(self.orientations)} orientation results." +474 ) +475 if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains: +476 data = { +477 "meta": np.array( +478 [self.phase, self.fabric, self.regime], dtype=np.uint8 +479 ), +480 "fractions": np.stack(self.fractions), +481 "orientations": np.stack(self.orientations), +482 } +483 # Create parent directories, resolve relative paths. +484 _io.resolve_path(filename) +485 # Append to file, requires postfix (unique name). +486 if postfix is not None: +487 archive = ZipFile(filename, mode="a", allowZip64=True) +488 for key in data.keys(): +489 with archive.open( +490 f"{key}_{postfix}", "w", force_zip64=True +491 ) as file: +492 buffer = io.BytesIO() +493 np.save(buffer, data[key]) +494 file.write(buffer.getvalue()) +495 buffer.close() +496 else: +497 np.savez(filename, **data) +498 else: +499 raise ValueError( +500 "Size of CPO data arrays must match number of grains." +501 + " You've supplied corrupted data with:\n" +502 + f"- `n_grains = {self.n_grains}`,\n" +503 + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n" +504 + f"- `orientations[0].shape = {self.orientations[0].shape}`." +505 ) +506 +507 def load(self, filename, postfix=None): +508 """Load CPO data from a `numpy` NPZ file. +509 +510 If `postfix` is not `None`, data is read from fields ending with "`_postfix`". +511 +512 See also: `Mineral.save`, `Mineral.from_file`. +513 +514 """ +515 if not filename.endswith(".npz"): +516 raise ValueError( +517 f"Must only load from numpy NPZ format. Cannot load from {filename}." +518 ) +519 data = np.load(filename) +520 if postfix is not None: +521 phase, fabric, regime = data[f"meta_{postfix}"] +522 self.fractions = list(data[f"fractions_{postfix}"]) +523 self.orientations = list(data[f"orientations_{postfix}"]) +524 else: +525 phase, fabric, regime = data["meta"] +526 self.fractions = list(data["fractions"]) +527 self.orientations = list(data["orientations"]) +528 +529 self.phase = phase +530 self.fabric = fabric +531 self.regime = regime +532 self.orientations_init = self.orientations[0] +533 self.fractions_init = self.fractions[0] +534 +535 @classmethod +536 def from_file(cls, filename, postfix=None): +537 """Construct a `Mineral` instance using data from a `numpy` NPZ file. +538 +539 If `postfix` is not `None`, data is read from fields ending with “`_postfix`”. +540 +541 See also: `Mineral.save`, `Mineral.load`. +542 +543 """ +544 if not filename.endswith(".npz"): +545 raise ValueError( +546 f"Must only load from numpy NPZ format. Cannot load from {filename}." +547 ) +548 data = np.load(filename) +549 if postfix is not None: +550 phase, fabric, regime = data[f"meta_{postfix}"] +551 fractions = list(data[f"fractions_{postfix}"]) +552 orientations = list(data[f"orientations_{postfix}"]) +553 else: +554 phase, fabric, regime = data["meta"] +555 fractions = list(data["fractions"]) +556 orientations = list(data["orientations"]) +557 +558 mineral = cls( +559 phase, +560 fabric, +561 regime, +562 n_grains=len(fractions[0]), +563 fractions_init=fractions[0], +564 orientations_init=orientations[0], +565 ) +566 mineral.fractions = fractions +567 mineral.orientations = orientations +568 return mineral @@ -1372,7 +1410,7 @@

    - Mineral( phase: int = <MineralPhase.olivine: 0>, fabric: int = <MineralFabric.olivine_A: 0>, regime: int = <DeformationRegime.dislocation: 1>, n_grains: int = 1000, fractions_init: numpy.ndarray = None, orientations_init: numpy.ndarray = None, fractions: list = <factory>, orientations: list = <factory>, seed: int = None) + Mineral( phase: int = <MineralPhase.olivine: 0>, fabric: int = <MineralFabric.olivine_A: 0>, regime: int = <DeformationRegime.dislocation: 1>, n_grains: int = 1000, fractions_init: numpy.ndarray = None, orientations_init: numpy.ndarray = None, fractions: list = <factory>, orientations: list = <factory>, seed: int = None, lband: int = None, uband: int = None)
    @@ -1486,6 +1524,30 @@

    +

    +
    +
    + lband: int = +None + + +
    + + + + +
    +
    +
    + uband: int = +None + + +
    + + + +
    @@ -1498,177 +1560,179 @@

    -
    269    def update_orientations(
    -270        self,
    -271        config,
    -272        deformation_gradient,
    -273        get_velocity_gradient,
    -274        pathline,
    -275        **kwargs,
    -276    ):
    -277        """Update orientations and volume distribution for the `Mineral`.
    -278
    -279        Update crystalline orientations and grain volume distribution
    -280        for minerals undergoing plastic deformation.
    -281
    -282        Args:
    -283        - `config` (dict) — PyDRex configuration dictionary
    -284        - `deformation_gradient` (array) — 3x3 initial deformation gradient tensor
    -285        - `get_velocity_gradient` (function) — callable with signature f(x) that returns
    -286          a 3x3 velocity gradient matrix at position x (vector)
    -287        - `pathline` (tuple) — tuple consisting of:
    -288            1. the time at which to start the CPO integration (t_start)
    -289            2. the time at which to stop the CPO integration (t_end)
    -290            3. callable with signature f(t) that returns the position of the mineral at
    -291                time t ∈ [t_start, t_end]
    +            
    283    def update_orientations(
    +284        self,
    +285        config,
    +286        deformation_gradient,
    +287        get_velocity_gradient,
    +288        pathline,
    +289        **kwargs,
    +290    ):
    +291        """Update orientations and volume distribution for the `Mineral`.
     292
    -293        Any additional (optional) keyword arguments are passed to
    -294        `scipy.integrate.LSODA`.
    +293        Update crystalline orientations and grain volume distribution
    +294        for minerals undergoing plastic deformation.
     295
    -296        Array values must provide a NumPy-compatible interface:
    -297        <https://numpy.org/doc/stable/user/whatisnumpy.html>
    -298
    -299        """
    -300
    -301        # ===== Set up callables for the ODE solver and internal processing =====
    -302
    -303        def extract_vars(y):
    -304            # TODO: Check if we can avoid .copy() here.
    -305            deformation_gradient = y[:9].copy().reshape((3, 3))
    -306            orientations = (
    -307                y[9 : self.n_grains * 9 + 9]
    -308                .copy()
    -309                .reshape((self.n_grains, 3, 3))
    -310                .clip(-1, 1)
    -311            )
    -312            # TODO: Check if we can avoid .copy() here.
    -313            fractions = (
    -314                y[self.n_grains * 9 + 9 : self.n_grains * 10 + 9].copy().clip(0, None)
    -315            )
    -316            fractions /= fractions.sum()
    -317            return deformation_gradient, orientations, fractions
    -318
    -319        def eval_rhs(t, y):
    -320            """Evaluate right hand side of the D-Rex PDE."""
    -321            # assert not np.any(np.isnan(y)), y[np.isnan(y)].shape
    -322            position = get_position(t)
    -323            velocity_gradient = get_velocity_gradient(position)
    -324            # _log.debug(
    -325            #     "calculating CPO at %s (t=%e) with velocity gradient %s",
    -326            #     position,
    -327            #     t,
    -328            #     velocity_gradient.flatten(),
    -329            # )
    -330
    -331            strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2
    -332            strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max()
    -333            deformation_gradient, orientations, fractions = extract_vars(y)
    -334            # Uses nondimensional values of strain rate and velocity gradient.
    -335            orientations_diff, fractions_diff = _core.derivatives(
    -336                phase=self.phase,
    -337                fabric=self.fabric,
    -338                n_grains=self.n_grains,
    -339                orientations=orientations,
    -340                fractions=fractions,
    -341                strain_rate=strain_rate / strain_rate_max,
    -342                velocity_gradient=velocity_gradient / strain_rate_max,
    -343                stress_exponent=config["stress_exponent"],
    -344                deformation_exponent=config["deformation_exponent"],
    -345                nucleation_efficiency=config["nucleation_efficiency"],
    -346                gbm_mobility=config["gbm_mobility"],
    -347                volume_fraction=volume_fraction,
    -348            )
    -349            return np.hstack(
    -350                (
    -351                    (velocity_gradient @ deformation_gradient).flatten(),
    -352                    orientations_diff.flatten() * strain_rate_max,
    -353                    fractions_diff * strain_rate_max,
    -354                )
    -355            )
    -356
    -357        def apply_gbs(orientations, fractions, config):
    -358            """Apply grain boundary sliding for small grains."""
    -359            mask = fractions < (config["gbs_threshold"] / self.n_grains)
    -360            # _log.debug(
    -361            #     "grain boundary sliding activity (volume percentage): %s",
    -362            #     len(np.nonzero(mask)) / len(fractions),
    -363            # )
    -364            # No rotation: carry over previous orientations.
    -365            orientations[mask, :, :] = self.orientations[-1][mask, :, :]
    -366            fractions[mask] = config["gbs_threshold"] / self.n_grains
    -367            fractions /= fractions.sum()
    -368            # _log.debug(
    -369            #     "grain volume fractions: median=%e, min=%e, max=%e, sum=%e",
    -370            #     np.median(fractions),
    -371            #     np.min(fractions),
    -372            #     np.max(fractions),
    -373            #     np.sum(fractions),
    -374            # )
    -375            return orientations, fractions
    -376
    -377        def perform_step(solver):
    -378            """Perform SciPy solver step and appropriate processing."""
    -379            message = solver.step()
    -380            if message is not None and solver.status == "failed":
    -381                raise _err.IterationError(message)
    +296        Args:
    +297        - `config` (dict) — PyDRex configuration dictionary
    +298        - `deformation_gradient` (array) — 3x3 initial deformation gradient tensor
    +299        - `get_velocity_gradient` (function) — callable with signature f(x) that returns
    +300          a 3x3 velocity gradient matrix at position x (vector)
    +301        - `pathline` (tuple) — tuple consisting of:
    +302            1. the time at which to start the CPO integration (t_start)
    +303            2. the time at which to stop the CPO integration (t_end)
    +304            3. callable with signature f(t) that returns the position of the mineral at
    +305                time t ∈ [t_start, t_end]
    +306
    +307        Any additional (optional) keyword arguments are passed to
    +308        `scipy.integrate.LSODA`.
    +309
    +310        Array values must provide a NumPy-compatible interface:
    +311        <https://numpy.org/doc/stable/user/whatisnumpy.html>
    +312
    +313        """
    +314
    +315        # ===== Set up callables for the ODE solver and internal processing =====
    +316
    +317        def extract_vars(y):
    +318            # TODO: Check if we can avoid .copy() here.
    +319            deformation_gradient = y[:9].copy().reshape((3, 3))
    +320            orientations = (
    +321                y[9 : self.n_grains * 9 + 9]
    +322                .copy()
    +323                .reshape((self.n_grains, 3, 3))
    +324                .clip(-1, 1)
    +325            )
    +326            # TODO: Check if we can avoid .copy() here.
    +327            fractions = (
    +328                y[self.n_grains * 9 + 9 : self.n_grains * 10 + 9].copy().clip(0, None)
    +329            )
    +330            fractions /= fractions.sum()
    +331            return deformation_gradient, orientations, fractions
    +332
    +333        def eval_rhs(t, y):
    +334            """Evaluate right hand side of the D-Rex PDE."""
    +335            # assert not np.any(np.isnan(y)), y[np.isnan(y)].shape
    +336            position = get_position(t)
    +337            velocity_gradient = get_velocity_gradient(position)
    +338            # _log.debug(
    +339            #     "calculating CPO at %s (t=%e) with velocity gradient %s",
    +340            #     position,
    +341            #     t,
    +342            #     velocity_gradient.flatten(),
    +343            # )
    +344
    +345            strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2
    +346            strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max()
    +347            deformation_gradient, orientations, fractions = extract_vars(y)
    +348            # Uses nondimensional values of strain rate and velocity gradient.
    +349            orientations_diff, fractions_diff = _core.derivatives(
    +350                phase=self.phase,
    +351                fabric=self.fabric,
    +352                n_grains=self.n_grains,
    +353                orientations=orientations,
    +354                fractions=fractions,
    +355                strain_rate=strain_rate / strain_rate_max,
    +356                velocity_gradient=velocity_gradient / strain_rate_max,
    +357                stress_exponent=config["stress_exponent"],
    +358                deformation_exponent=config["deformation_exponent"],
    +359                nucleation_efficiency=config["nucleation_efficiency"],
    +360                gbm_mobility=config["gbm_mobility"],
    +361                volume_fraction=volume_fraction,
    +362            )
    +363            return np.hstack(
    +364                (
    +365                    (velocity_gradient @ deformation_gradient).flatten(),
    +366                    orientations_diff.flatten() * strain_rate_max,
    +367                    fractions_diff * strain_rate_max,
    +368                )
    +369            )
    +370
    +371        def apply_gbs(orientations, fractions, config):
    +372            """Apply grain boundary sliding for small grains."""
    +373            mask = fractions < (config["gbs_threshold"] / self.n_grains)
    +374            # _log.debug(
    +375            #     "grain boundary sliding activity (volume percentage): %s",
    +376            #     len(np.nonzero(mask)) / len(fractions),
    +377            # )
    +378            # No rotation: carry over previous orientations.
    +379            orientations[mask, :, :] = self.orientations[-1][mask, :, :]
    +380            fractions[mask] = config["gbs_threshold"] / self.n_grains
    +381            fractions /= fractions.sum()
     382            # _log.debug(
    -383            #     "%s step_size=%e", solver.__class__.__qualname__, solver.step_size
    -384            # )
    -385
    -386            deformation_gradient, orientations, fractions = extract_vars(solver.y)
    -387            orientations, fractions = apply_gbs(orientations, fractions, config)
    -388            solver.y[9:] = np.hstack((orientations.flatten(), fractions))
    -389
    -390        # ===== Initialise and run the solver using the above callables =====
    -391
    -392        time_start, time_end, get_position = pathline
    -393        if not callable(get_velocity_gradient):
    -394            raise ValueError(
    -395                "unable to evaluate velocity gradient callable."
    -396                + " You must provide a callable with signature f(x)"
    -397                + " that returns a 3x3 matrix."
    -398            )
    -399        if not callable(get_position):
    -400            raise ValueError(
    -401                "unable to evaluate position callable."
    -402                + " You must provide a callable with signature f(t)"
    -403                + " that returns a 3-component array."
    -404            )
    +383            #     "grain volume fractions: median=%e, min=%e, max=%e, sum=%e",
    +384            #     np.median(fractions),
    +385            #     np.min(fractions),
    +386            #     np.max(fractions),
    +387            #     np.sum(fractions),
    +388            # )
    +389            return orientations, fractions
    +390
    +391        def perform_step(solver):
    +392            """Perform SciPy solver step and appropriate processing."""
    +393            message = solver.step()
    +394            if message is not None and solver.status == "failed":
    +395                raise _err.IterationError(message)
    +396            # _log.debug(
    +397            #     "%s step_size=%e", solver.__class__.__qualname__, solver.step_size
    +398            # )
    +399
    +400            deformation_gradient, orientations, fractions = extract_vars(solver.y)
    +401            orientations, fractions = apply_gbs(orientations, fractions, config)
    +402            solver.y[9:] = np.hstack((orientations.flatten(), fractions))
    +403
    +404        # ===== Initialise and run the solver using the above callables =====
     405
    -406        if self.phase == _core.MineralPhase.olivine:
    -407            volume_fraction = config["olivine_fraction"]
    -408        elif self.phase == _core.MineralPhase.enstatite:
    -409            volume_fraction = config["enstatite_fraction"]
    -410        else:
    -411            assert False  # Should never happen.
    -412
    -413        y_start = np.hstack(
    -414            (
    -415                deformation_gradient.flatten(),
    -416                self.orientations[-1].flatten(),
    -417                self.fractions[-1],
    +406        time_start, time_end, get_position = pathline
    +407        if not callable(get_velocity_gradient):
    +408            raise ValueError(
    +409                "unable to evaluate velocity gradient callable."
    +410                + " You must provide a callable with signature f(x)"
    +411                + " that returns a 3x3 matrix."
    +412            )
    +413        if not callable(get_position):
    +414            raise ValueError(
    +415                "unable to evaluate position callable."
    +416                + " You must provide a callable with signature f(t)"
    +417                + " that returns a 3-component array."
     418            )
    -419        )
    -420        solver = LSODA(
    -421            eval_rhs,
    -422            time_start,
    -423            y_start,
    -424            time_end,
    -425            atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12),
    -426            rtol=kwargs.pop("rtol", 1e-6),
    -427            first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1),
    -428            # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)),
    -429            **kwargs,
    -430        )
    -431        perform_step(solver)
    -432        while solver.status == "running":
    -433            perform_step(solver)
    -434
    -435        # Extract final values for this simulation step, append to storage.
    -436        deformation_gradient, orientations, fractions = extract_vars(solver.y.squeeze())
    -437        self.orientations.append(orientations)
    -438        self.fractions.append(fractions)
    -439        return deformation_gradient
    +419
    +420        if self.phase == _core.MineralPhase.olivine:
    +421            volume_fraction = config["olivine_fraction"]
    +422        elif self.phase == _core.MineralPhase.enstatite:
    +423            volume_fraction = config["enstatite_fraction"]
    +424        else:
    +425            assert False  # Should never happen.
    +426
    +427        y_start = np.hstack(
    +428            (
    +429                deformation_gradient.flatten(),
    +430                self.orientations[-1].flatten(),
    +431                self.fractions[-1],
    +432            )
    +433        )
    +434        solver = LSODA(
    +435            eval_rhs,
    +436            time_start,
    +437            y_start,
    +438            time_end,
    +439            atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12),
    +440            rtol=kwargs.pop("rtol", 1e-6),
    +441            first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1),
    +442            # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)),
    +443            lband=self.lband,
    +444            uband=self.uband,
    +445            **kwargs,
    +446        )
    +447        perform_step(solver)
    +448        while solver.status == "running":
    +449            perform_step(solver)
    +450
    +451        # Extract final values for this simulation step, append to storage.
    +452        deformation_gradient, orientations, fractions = extract_vars(solver.y.squeeze())
    +453        self.orientations.append(orientations)
    +454        self.fractions.append(fractions)
    +455        return deformation_gradient
     
    @@ -1713,55 +1777,55 @@

    -
    441    def save(self, filename, postfix=None):
    -442        """Save CPO data for all stored timesteps to a `numpy` NPZ file.
    -443
    -444        If `postfix` is not `None`, the data is appended to the NPZ file
    -445        in fields ending with "`_postfix`".
    -446
    -447        Raises a `ValueError` if the data shapes are not compatible.
    -448
    -449        See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`.
    -450
    -451        """
    -452        if len(self.fractions) != len(self.orientations):
    -453            raise ValueError(
    -454                "Length of stored results must match."
    -455                + " You've supplied currupted data with:\n"
    -456                + f"- {len(self.fractions)} grain size results, and\n"
    -457                + f"- {len(self.orientations)} orientation results."
    -458            )
    -459        if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains:
    -460            data = {
    -461                "meta": np.array(
    -462                    [self.phase, self.fabric, self.regime], dtype=np.uint8
    -463                ),
    -464                "fractions": np.stack(self.fractions),
    -465                "orientations": np.stack(self.orientations),
    -466            }
    -467            # Create parent directories, resolve relative paths.
    -468            _io.resolve_path(filename)
    -469            # Append to file, requires postfix (unique name).
    -470            if postfix is not None:
    -471                archive = ZipFile(filename, mode="a", allowZip64=True)
    -472                for key in data.keys():
    -473                    with archive.open(
    -474                        f"{key}_{postfix}", "w", force_zip64=True
    -475                    ) as file:
    -476                        buffer = io.BytesIO()
    -477                        np.save(buffer, data[key])
    -478                        file.write(buffer.getvalue())
    -479                        buffer.close()
    -480            else:
    -481                np.savez(filename, **data)
    -482        else:
    -483            raise ValueError(
    -484                "Size of CPO data arrays must match number of grains."
    -485                + " You've supplied corrupted data with:\n"
    -486                + f"- `n_grains = {self.n_grains}`,\n"
    -487                + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n"
    -488                + f"- `orientations[0].shape = {self.orientations[0].shape}`."
    -489            )
    +            
    457    def save(self, filename, postfix=None):
    +458        """Save CPO data for all stored timesteps to a `numpy` NPZ file.
    +459
    +460        If `postfix` is not `None`, the data is appended to the NPZ file
    +461        in fields ending with "`_postfix`".
    +462
    +463        Raises a `ValueError` if the data shapes are not compatible.
    +464
    +465        See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`.
    +466
    +467        """
    +468        if len(self.fractions) != len(self.orientations):
    +469            raise ValueError(
    +470                "Length of stored results must match."
    +471                + " You've supplied currupted data with:\n"
    +472                + f"- {len(self.fractions)} grain size results, and\n"
    +473                + f"- {len(self.orientations)} orientation results."
    +474            )
    +475        if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains:
    +476            data = {
    +477                "meta": np.array(
    +478                    [self.phase, self.fabric, self.regime], dtype=np.uint8
    +479                ),
    +480                "fractions": np.stack(self.fractions),
    +481                "orientations": np.stack(self.orientations),
    +482            }
    +483            # Create parent directories, resolve relative paths.
    +484            _io.resolve_path(filename)
    +485            # Append to file, requires postfix (unique name).
    +486            if postfix is not None:
    +487                archive = ZipFile(filename, mode="a", allowZip64=True)
    +488                for key in data.keys():
    +489                    with archive.open(
    +490                        f"{key}_{postfix}", "w", force_zip64=True
    +491                    ) as file:
    +492                        buffer = io.BytesIO()
    +493                        np.save(buffer, data[key])
    +494                        file.write(buffer.getvalue())
    +495                        buffer.close()
    +496            else:
    +497                np.savez(filename, **data)
    +498        else:
    +499            raise ValueError(
    +500                "Size of CPO data arrays must match number of grains."
    +501                + " You've supplied corrupted data with:\n"
    +502                + f"- `n_grains = {self.n_grains}`,\n"
    +503                + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n"
    +504                + f"- `orientations[0].shape = {self.orientations[0].shape}`."
    +505            )
     
    @@ -1788,33 +1852,33 @@

    -
    491    def load(self, filename, postfix=None):
    -492        """Load CPO data from a `numpy` NPZ file.
    -493
    -494        If `postfix` is not `None`, data is read from fields ending with "`_postfix`".
    -495
    -496        See also: `Mineral.save`, `Mineral.from_file`.
    -497
    -498        """
    -499        if not filename.endswith(".npz"):
    -500            raise ValueError(
    -501                f"Must only load from numpy NPZ format. Cannot load from {filename}."
    -502            )
    -503        data = np.load(filename)
    -504        if postfix is not None:
    -505            phase, fabric, regime = data[f"meta_{postfix}"]
    -506            self.fractions = list(data[f"fractions_{postfix}"])
    -507            self.orientations = list(data[f"orientations_{postfix}"])
    -508        else:
    -509            phase, fabric, regime = data["meta"]
    -510            self.fractions = list(data["fractions"])
    -511            self.orientations = list(data["orientations"])
    -512
    -513        self.phase = phase
    -514        self.fabric = fabric
    -515        self.regime = regime
    -516        self.orientations_init = self.orientations[0]
    -517        self.fractions_init = self.fractions[0]
    +            
    507    def load(self, filename, postfix=None):
    +508        """Load CPO data from a `numpy` NPZ file.
    +509
    +510        If `postfix` is not `None`, data is read from fields ending with "`_postfix`".
    +511
    +512        See also: `Mineral.save`, `Mineral.from_file`.
    +513
    +514        """
    +515        if not filename.endswith(".npz"):
    +516            raise ValueError(
    +517                f"Must only load from numpy NPZ format. Cannot load from {filename}."
    +518            )
    +519        data = np.load(filename)
    +520        if postfix is not None:
    +521            phase, fabric, regime = data[f"meta_{postfix}"]
    +522            self.fractions = list(data[f"fractions_{postfix}"])
    +523            self.orientations = list(data[f"orientations_{postfix}"])
    +524        else:
    +525            phase, fabric, regime = data["meta"]
    +526            self.fractions = list(data["fractions"])
    +527            self.orientations = list(data["orientations"])
    +528
    +529        self.phase = phase
    +530        self.fabric = fabric
    +531        self.regime = regime
    +532        self.orientations_init = self.orientations[0]
    +533        self.fractions_init = self.fractions[0]
     
    @@ -1839,40 +1903,40 @@

    -
    519    @classmethod
    -520    def from_file(cls, filename, postfix=None):
    -521        """Construct a `Mineral` instance using data from a `numpy` NPZ file.
    -522
    -523        If `postfix` is not `None`, data is read from fields ending with “`_postfix`”.
    -524
    -525        See also: `Mineral.save`, `Mineral.load`.
    -526
    -527        """
    -528        if not filename.endswith(".npz"):
    -529            raise ValueError(
    -530                f"Must only load from numpy NPZ format. Cannot load from {filename}."
    -531            )
    -532        data = np.load(filename)
    -533        if postfix is not None:
    -534            phase, fabric, regime = data[f"meta_{postfix}"]
    -535            fractions = list(data[f"fractions_{postfix}"])
    -536            orientations = list(data[f"orientations_{postfix}"])
    -537        else:
    -538            phase, fabric, regime = data["meta"]
    -539            fractions = list(data["fractions"])
    -540            orientations = list(data["orientations"])
    -541
    -542        mineral = cls(
    -543            phase,
    -544            fabric,
    -545            regime,
    -546            n_grains=len(fractions[0]),
    -547            fractions_init=fractions[0],
    -548            orientations_init=orientations[0],
    -549        )
    -550        mineral.fractions = fractions
    -551        mineral.orientations = orientations
    -552        return mineral
    +            
    535    @classmethod
    +536    def from_file(cls, filename, postfix=None):
    +537        """Construct a `Mineral` instance using data from a `numpy` NPZ file.
    +538
    +539        If `postfix` is not `None`, data is read from fields ending with “`_postfix`”.
    +540
    +541        See also: `Mineral.save`, `Mineral.load`.
    +542
    +543        """
    +544        if not filename.endswith(".npz"):
    +545            raise ValueError(
    +546                f"Must only load from numpy NPZ format. Cannot load from {filename}."
    +547            )
    +548        data = np.load(filename)
    +549        if postfix is not None:
    +550            phase, fabric, regime = data[f"meta_{postfix}"]
    +551            fractions = list(data[f"fractions_{postfix}"])
    +552            orientations = list(data[f"orientations_{postfix}"])
    +553        else:
    +554            phase, fabric, regime = data["meta"]
    +555            fractions = list(data["fractions"])
    +556            orientations = list(data["orientations"])
    +557
    +558        mineral = cls(
    +559            phase,
    +560            fabric,
    +561            regime,
    +562            n_grains=len(fractions[0]),
    +563            fractions_init=fractions[0],
    +564            orientations_init=orientations[0],
    +565        )
    +566        mineral.fractions = fractions
    +567        mineral.orientations = orientations
    +568        return mineral
     
    diff --git a/search.js b/search.js index 923ade9b..de6790a4 100644 --- a/search.js +++ b/search.js @@ -1,6 +1,6 @@ window.pdocSearch = (function(){ /** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();oSimulate crystallographic preferred orientation evolution in polycrystals

    \n\n
    \n\n
    \n\n

    This software is currently in early development.\nOnly modules that have tests are anywhere close to being stable.

    \n\n
    \n\n

    About

    \n\n

    The core routines are based on the original implementation by \u00c9douard Kaminski,\nwhich can be downloaded from this link (~90KB).\nThe reference paper is Kaminski & Ribe 2001,\nand an open-access paper which discusses the model is Fraters & Billen 2021. [TODO: Add our paper]

    \n\n

    The package is currently not available on PyPi,\nand must be installed by cloning the source code.\nand using pip install . (with the dot) in the top-level folder.\nMultiprocessing is not yet available in the packaged version.\nRunning the tests requires pytest,\nand the custom pytest flag --outdir=\"OUT\" can be used to save output figures\nto the folder called OUT (or the current folder, using \".\").

    \n\n

    The submodule sidebar on the left can be used\nto discover the public API of this package.\nSome of the tests are also documented and can serve as usage examples.\nThey can be viewed in the module index (modules starting with test_).

    \n\n

    The D-Rex kinematic CPO model

    \n\n

    The D-Rex model is used to compute crystallographic preferred orientation (CPO)\nfor polycrystals deforming by dislocation creep and dynamic recrystallization.\nPolycrystals are discretized into \"grains\" which represent fractional volumes\nof the total crystal that are characterised by a particular crystal lattice\norientation. For numerical efficiency, the number of grains in the model does\nnot change, and should only be interpreted as an approximation of the number\nof physical grains. Dynamic recrystallization is modelled using statistical\nexpressions which approximate the interaction of each grain with an effective\nmedium based on the averaged dislocation energy of all other grains.\nNote that the model is not suited to situations where static recrystallization\nprocesses are significant.

    \n\n

    The primary microphysical mechanism for plastic deformation of the polycrystal\nis dislocation creep, which involves dislocation glide (\"slip\") along symmetry\nplanes of the mineral and dislocation climb, which allows for dislocations to\nannihilate each other so that the number of dislocations reaches a steady-state.\nThe D-Rex model does not simulate dislocation climb, but implicitly assumes that\nthe dislocations are in steady-state so that the dislocation density of the\ncrystal can be described by

    \n\n

    $$\n\u03c1 \u221d b^{-2} \\left(\\frac{\u03c3}{\u03bc}\\right)^{p}\n$$

    \n\n

    where $b$ is the length of the Burgers' vector, $\u03c3$ is the stress\nand $\u03bc$ is the shear modulus. The value of the exponent $p$ is given by the\nstress_exponent input parameter. For an overview of available parameters,\nsee [the tests/conftest.py source code, for now...]

    \n\n

    The effects of dynamic recrystallization are twofold. Grains with a higher than\naverage dislocation density may be affected by either grain nucleation, which is\nthe formation of initially small, strain-free sub-grains, or grain boundary\nmigration, by which process other grains of lower strain energy annex a portion\nof its volume. Nucleation occurs mostly in grains oriented favourably for\ndislocation glide, and the new grains also grow by grain boundary migration.\nIf nucleation is too inefficient, the dislocation density in deformation-aligned\ngrains will remain high and these grains will therefore shrink in volume. On the\nother hand, if grain boundaries are too immobile, then nucleated grains will take\nlonger to grow, reducing the speed of CPO development and re-orientation.\nBecause nucleated grains are assumed to inherit the orientation of the parent,\nthey do not affect the model except by reducing the average dislocation density.\nA grain boundary mobility parameter of $M^{\u2217} = 0$ will therefore disable any\nrecrystallization effects. Finally, the process of grain boundary sliding can\nalso be included, which simply disallows rotation of grains with very small volume.\nThis only affects CPO evolution by introducing a latency for the onset of grain\nboundary migration in nucleated grains. It also manifests as an upper bound on\ntexture strength.

    \n\n

    Parameter reference

    \n\n

    Model parameters will eventually be provided in an .ini file.\n[For now just pass a dictionary to config in the Mineral.update_orientations method]\nThe file must contain section headers enclosed by square braces\nand key-value assignments, for example:

    \n\n
    [Output]\nolivine = volume_distribution, orientations\n\n[D-Rex]\nolivine_fraction = 1\nstress_exponent = 1.5\n...\n
    \n\n

    The following reference describes the available sections and their parameters.

    \n\n

    Geometry

    \n\n

    This section allows for specifying the geometry of the model domain,\nincluding any interpolation meshes.

    \n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
    ParameterDescription
    meshfile[not implemented]
    \n\n

    Output

    \n\n

    Parameters in the output section control which variables are stored to files,\nas well as any options for automatic postprocessing.

    \n\n\n\n\n \n \n \n\n\n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n
    ParameterDescriptionDefault
    simulation_namea short name (without spaces) used for the output folder and metadatapydrex_example
    olivinethe choice of olivine mineral outputs, from {volume_distribution, orientations} with multiple choices separated by a commavolume_distribution,orientations
    enstatitethe choice of enstatite mineral outputs, from {volume_distribution, orientations} with multiple choices separated by a commavolume_distribution,orientations
    \n\n

    D-Rex

    \n\n

    Parameters in the D-Rex section specify the runtime configuration for the D-Rex model.\nRead the D-Rex introduction section for more details.

    \n\n\n\n\n \n \n \n\n\n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n
    ParameterDescriptionDefault
    stress_exponentthe stress exponent $p$ that characterises the relationship between dislocation density and stress1.5
    deformation_exponentthe exponent $n$ that characterises the relationship between stress and rate of deformation3.5
    gbm_mobilitythe dimensionless grain boundary mobility $M^{\u2217}$ which controls the chance for growth of grains with lower than average dislocation energy125
    gbs_thresholda threshold ratio of current to original volume below which small grains move by sliding rather than rotation0.3
    nucleation_efficiencythe dimensionless nucleation efficiency which controls the chance for new, small, strain-free sub-grains to be created inside high dislocation energy grains5
    number_of_grainsthe number of initial grains per crystal2500
    olivine_fabric[not implemented]A
    mineralsa tuple of mineral phase names that specify the composition of the polycrystal(\"olivine\",)
    olivine_fractionthe volume fraction of olivine compared to other phases (1 for pure olivine)1
    <phase>_fractionthe volume fraction of any other phases (sum of all volume fractions must sum to 1)N/A
    \n"}, "pydrex.axes": {"fullname": "pydrex.axes", "modulename": "pydrex.axes", "kind": "module", "doc": "
    \n

    PyDRex: Custom Matplotlib Axes subclasses.

    \n
    \n"}, "pydrex.axes.PoleFigureAxes": {"fullname": "pydrex.axes.PoleFigureAxes", "modulename": "pydrex.axes", "qualname": "PoleFigureAxes", "kind": "class", "doc": "

    Axes class designed for crystallographic pole figures.

    \n\n

    Thin matplotlib Axes wrapper for crystallographic pole figures.

    \n\n
    \n\n

    Projections are not performed automatically using default methods like\nscatter or plot. To actually plot the pole figures, use polefigure.

    \n\n
    \n", "bases": "matplotlib.axes._axes.Axes"}, "pydrex.axes.PoleFigureAxes.name": {"fullname": "pydrex.axes.PoleFigureAxes.name", "modulename": "pydrex.axes", "qualname": "PoleFigureAxes.name", "kind": "variable", "doc": "

    \n", "default_value": "'pydrex.polefigure'"}, "pydrex.axes.PoleFigureAxes.polefigure": {"fullname": "pydrex.axes.PoleFigureAxes.polefigure", "modulename": "pydrex.axes", "qualname": "PoleFigureAxes.polefigure", "kind": "function", "doc": "

    Plot pole figure of crystallographic texture.

    \n\n

    Args:

    \n\n\n\n

    Any additional keyword arguments are passed to either tripcolor if\ndensity=True or scatter if density=False

    \n", "signature": "(\tself,\tdata,\tdensity=False,\tref_axes='xz',\thkl=[1, 0, 0],\tdensity_kwargs=None,\t**kwargs):", "funcdef": "def"}, "pydrex.axes.PoleFigureAxes.set": {"fullname": "pydrex.axes.PoleFigureAxes.set", "modulename": "pydrex.axes", "qualname": "PoleFigureAxes.set", "kind": "function", "doc": "

    Set multiple properties at once.

    \n\n

    Supported properties are

    \n\n

    Properties:\n adjustable: {'box', 'datalim'}\n agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image\n alpha: scalar or None\n anchor: (float, float) or {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}\n animated: bool\n aspect: {'auto', 'equal'} or float\n autoscale_on: bool\n autoscalex_on: unknown\n autoscaley_on: unknown\n axes_locator: Callable[[Axes, Renderer], Bbox]\n axisbelow: bool or 'line'\n box_aspect: float or None\n clip_box: .Bbox\n clip_on: bool\n clip_path: Patch or (Path, Transform) or None\n facecolor or fc: color\n figure: .Figure\n frame_on: bool\n gid: str\n in_layout: bool\n label: object\n mouseover: bool\n navigate: bool\n navigate_mode: unknown\n path_effects: .AbstractPathEffect\n picker: None or bool or float or callable\n position: [left, bottom, width, height] or ~matplotlib.transforms.Bbox\n prop_cycle: unknown\n rasterization_zorder: float or None\n rasterized: bool\n sketch_params: (scale: float, length: float, randomness: float)\n snap: bool or None\n subplotspec: unknown\n title: str\n transform: .Transform\n url: str\n visible: bool\n xbound: unknown\n xlabel: str\n xlim: (bottom: float, top: float)\n xmargin: float greater than -0.5\n xscale: unknown\n xticklabels: unknown\n xticks: unknown\n ybound: unknown\n ylabel: str\n ylim: (bottom: float, top: float)\n ymargin: float greater than -0.5\n yscale: unknown\n yticklabels: unknown\n yticks: unknown\n zorder: float

    \n", "signature": "(\tself,\t*,\tadjustable=<UNSET>,\tagg_filter=<UNSET>,\talpha=<UNSET>,\tanchor=<UNSET>,\tanimated=<UNSET>,\taspect=<UNSET>,\tautoscale_on=<UNSET>,\tautoscalex_on=<UNSET>,\tautoscaley_on=<UNSET>,\taxes_locator=<UNSET>,\taxisbelow=<UNSET>,\tbox_aspect=<UNSET>,\tclip_box=<UNSET>,\tclip_on=<UNSET>,\tclip_path=<UNSET>,\tfacecolor=<UNSET>,\tframe_on=<UNSET>,\tgid=<UNSET>,\tin_layout=<UNSET>,\tlabel=<UNSET>,\tmouseover=<UNSET>,\tnavigate=<UNSET>,\tpath_effects=<UNSET>,\tpicker=<UNSET>,\tposition=<UNSET>,\tprop_cycle=<UNSET>,\trasterization_zorder=<UNSET>,\trasterized=<UNSET>,\tsketch_params=<UNSET>,\tsnap=<UNSET>,\tsubplotspec=<UNSET>,\ttitle=<UNSET>,\ttransform=<UNSET>,\turl=<UNSET>,\tvisible=<UNSET>,\txbound=<UNSET>,\txlabel=<UNSET>,\txlim=<UNSET>,\txmargin=<UNSET>,\txscale=<UNSET>,\txticklabels=<UNSET>,\txticks=<UNSET>,\tybound=<UNSET>,\tylabel=<UNSET>,\tylim=<UNSET>,\tymargin=<UNSET>,\tyscale=<UNSET>,\tyticklabels=<UNSET>,\tyticks=<UNSET>,\tzorder=<UNSET>):", "funcdef": "def"}, "pydrex.cli": {"fullname": "pydrex.cli", "modulename": "pydrex.cli", "kind": "module", "doc": "
    \n

    PyDRex: Entry points for command line tools.

    \n
    \n"}, "pydrex.cli.PoleFigureVisualiser": {"fullname": "pydrex.cli.PoleFigureVisualiser", "modulename": "pydrex.cli", "qualname": "PoleFigureVisualiser", "kind": "class", "doc": "

    PyDRex script to plot pole figures of serialized CPO data.

    \n\n

    Produces [100], [010] and [001] pole figures for serialized pydrex.Minerals.\nIf the range of indices is not specified,\na maximum of 25 of each pole figure will be produced.

    \n"}, "pydrex.cli.CLI_HANDLERS": {"fullname": "pydrex.cli.CLI_HANDLERS", "modulename": "pydrex.cli", "qualname": "CLI_HANDLERS", "kind": "variable", "doc": "

    \n", "default_value": "CLI_HANDLERS(pole_figure_visualiser=PoleFigureVisualiser())"}, "pydrex.core": {"fullname": "pydrex.core", "modulename": "pydrex.core", "kind": "module", "doc": "
    \n

    PyDRex: Core D-Rex functions and enums.

    \n
    \n\n

    The function derivatives implements the core D-Rex solver, which computes the\ncrystallographic rotation rate and changes in fractional grain volumes.

    \n\n

    Acronyms:

    \n\n\n"}, "pydrex.core.PERMUTATION_SYMBOL": {"fullname": "pydrex.core.PERMUTATION_SYMBOL", "modulename": "pydrex.core", "qualname": "PERMUTATION_SYMBOL", "kind": "variable", "doc": "

    \n", "default_value": "array([[[0.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 1.e+00],\n [0.e+00, -1.e+00, 0.e+00]],\n\n [[0.e+00, 0.e+00, -1.e+00],\n [0.e+00, 0.e+00, 0.e+00],\n [1.e+00, 0.e+00, 0.e+00]],\n\n [[0.e+00, 1.e+00, 0.e+00],\n [-1.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00]]])"}, "pydrex.core.MineralPhase": {"fullname": "pydrex.core.MineralPhase", "modulename": "pydrex.core", "qualname": "MineralPhase", "kind": "class", "doc": "

    Supported mineral phases.

    \n", "bases": "enum.IntEnum"}, "pydrex.core.MineralPhase.olivine": {"fullname": "pydrex.core.MineralPhase.olivine", "modulename": "pydrex.core", "qualname": "MineralPhase.olivine", "kind": "variable", "doc": "

    \n", "default_value": "<MineralPhase.olivine: 0>"}, "pydrex.core.MineralPhase.enstatite": {"fullname": "pydrex.core.MineralPhase.enstatite", "modulename": "pydrex.core", "qualname": "MineralPhase.enstatite", "kind": "variable", "doc": "

    \n", "default_value": "<MineralPhase.enstatite: 1>"}, "pydrex.core.DeformationRegime": {"fullname": "pydrex.core.DeformationRegime", "modulename": "pydrex.core", "qualname": "DeformationRegime", "kind": "class", "doc": "

    Deformation mechanism regimes.

    \n", "bases": "enum.IntEnum"}, "pydrex.core.DeformationRegime.diffusion": {"fullname": "pydrex.core.DeformationRegime.diffusion", "modulename": "pydrex.core", "qualname": "DeformationRegime.diffusion", "kind": "variable", "doc": "

    \n", "default_value": "<DeformationRegime.diffusion: 0>"}, "pydrex.core.DeformationRegime.dislocation": {"fullname": "pydrex.core.DeformationRegime.dislocation", "modulename": "pydrex.core", "qualname": "DeformationRegime.dislocation", "kind": "variable", "doc": "

    \n", "default_value": "<DeformationRegime.dislocation: 1>"}, "pydrex.core.DeformationRegime.byerlee": {"fullname": "pydrex.core.DeformationRegime.byerlee", "modulename": "pydrex.core", "qualname": "DeformationRegime.byerlee", "kind": "variable", "doc": "

    \n", "default_value": "<DeformationRegime.byerlee: 2>"}, "pydrex.core.DeformationRegime.max_viscosity": {"fullname": "pydrex.core.DeformationRegime.max_viscosity", "modulename": "pydrex.core", "qualname": "DeformationRegime.max_viscosity", "kind": "variable", "doc": "

    \n", "default_value": "<DeformationRegime.max_viscosity: 3>"}, "pydrex.core.MineralFabric": {"fullname": "pydrex.core.MineralFabric", "modulename": "pydrex.core", "qualname": "MineralFabric", "kind": "class", "doc": "

    Supported mineral fabrics.

    \n\n

    The following fabric types are supported:

    \n\n\n", "bases": "enum.IntEnum"}, "pydrex.core.MineralFabric.olivine_A": {"fullname": "pydrex.core.MineralFabric.olivine_A", "modulename": "pydrex.core", "qualname": "MineralFabric.olivine_A", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.olivine_A: 0>"}, "pydrex.core.MineralFabric.olivine_B": {"fullname": "pydrex.core.MineralFabric.olivine_B", "modulename": "pydrex.core", "qualname": "MineralFabric.olivine_B", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.olivine_B: 1>"}, "pydrex.core.MineralFabric.olivine_C": {"fullname": "pydrex.core.MineralFabric.olivine_C", "modulename": "pydrex.core", "qualname": "MineralFabric.olivine_C", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.olivine_C: 2>"}, "pydrex.core.MineralFabric.olivine_D": {"fullname": "pydrex.core.MineralFabric.olivine_D", "modulename": "pydrex.core", "qualname": "MineralFabric.olivine_D", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.olivine_D: 3>"}, "pydrex.core.MineralFabric.olivine_E": {"fullname": "pydrex.core.MineralFabric.olivine_E", "modulename": "pydrex.core", "qualname": "MineralFabric.olivine_E", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.olivine_E: 4>"}, "pydrex.core.MineralFabric.enstatite_AB": {"fullname": "pydrex.core.MineralFabric.enstatite_AB", "modulename": "pydrex.core", "qualname": "MineralFabric.enstatite_AB", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.enstatite_AB: 5>"}, "pydrex.core.get_crss": {"fullname": "pydrex.core.get_crss", "modulename": "pydrex.core", "qualname": "get_crss", "kind": "function", "doc": "

    Get Critical Resolved Shear Stress for the mineral phase and fabric.

    \n\n

    Returns an array of the normalised threshold stresses required to activate slip on\neach slip system. Olivine slip systems are ordered according to the convention used\nfor pydrex.minerals.OLIVINE_SLIP_SYSTEMS.

    \n", "signature": "(phase, fabric):", "funcdef": "def"}, "pydrex.core.derivatives": {"fullname": "pydrex.core.derivatives", "modulename": "pydrex.core", "qualname": "derivatives", "kind": "function", "doc": "

    Get derivatives of orientation and volume distribution.

    \n\n

    Args:

    \n\n\n\n

    Returns a tuple with the rotation rates and grain volume fraction changes.

    \n", "signature": "(\tphase,\tfabric,\tn_grains,\torientations,\tfractions,\tstrain_rate,\tvelocity_gradient,\tstress_exponent,\tdeformation_exponent,\tnucleation_efficiency,\tgbm_mobility,\tvolume_fraction):", "funcdef": "def"}, "pydrex.diagnostics": {"fullname": "pydrex.diagnostics", "modulename": "pydrex.diagnostics", "kind": "module", "doc": "
    \n

    PyDRex: Methods to calculate texture and strain diagnostics.

    \n
    \n\n
    \n\n

    Calculations expect orientation matrices $a$ to represent passive\n(i.e. alias) rotations, which are defined in terms of the extrinsic ZXZ\neuler angles $\u03d5, \u03b8, \u03c6$ as\n$$\na = \\begin{bmatrix}\n \\cos\u03c6\\cos\u03d5 - \\cos\u03b8\\sin\u03d5\\sin\u03c6 & \\cos\u03b8\\cos\u03d5\\sin\u03c6 + \\cos\u03c6\\sin\u03d5 & \\sin\u03c6\\sin\u03b8 \\cr\n -\\sin\u03c6\\cos\u03d5 - \\cos\u03b8\\sin\u03d5\\cos\u03c6 & \\cos\u03b8\\cos\u03d5\\cos\u03c6 - \\sin\u03c6\\sin\u03d5 & \\cos\u03c6\\sin\u03b8 \\cr\n \\sin\u03b8\\sin\u03d5 & -\\sin\u03b8\\cos\u03d5 & \\cos\u03b8\n \\end{bmatrix}\n$$\nsuch that a[i, j] gives the direction cosine of the angle between the i-th\ngrain axis and the j-th external axis (in the global Eulerian frame).

    \n\n
    \n"}, "pydrex.diagnostics.anisotropy": {"fullname": "pydrex.diagnostics.anisotropy", "modulename": "pydrex.diagnostics", "qualname": "anisotropy", "kind": "function", "doc": "

    Calculate anisotropy diagnostics for the given elasticity tensor.

    \n\n

    Args:

    \n\n\n\n

    Returns the percent anisotropy, a matrix containing the axes of the Symmetry\nCartesian Coordinate System (rows), and the elasticity tensor in the SCCS frame\n(Voigt vector representation).

    \n", "signature": "(voigt_matrix, proj='hex'):", "funcdef": "def"}, "pydrex.diagnostics.bingham_average": {"fullname": "pydrex.diagnostics.bingham_average", "modulename": "pydrex.diagnostics", "qualname": "bingham_average", "kind": "function", "doc": "

    Compute Bingham averages from olivine orientation matrices.

    \n\n

    Returns the antipodally symmetric average orientation\nof the given crystallographic axis, or the a-axis by default.\nValid axis specifiers are \"a\" for [100], \"b\" for [010] and \"c\" for [001].

    \n\n

    See also: Watson 1966,\nMardia & Jupp, \u201cDirectional Statistics\u201d.

    \n", "signature": "(orientations, axis='a'):", "funcdef": "def"}, "pydrex.diagnostics.finite_strain": {"fullname": "pydrex.diagnostics.finite_strain", "modulename": "pydrex.diagnostics", "qualname": "finite_strain", "kind": "function", "doc": "

    Extract measures of finite strain from the deformation gradient.

    \n\n

    Extracts the vector defining the axis of maximum extension (longest semiaxis of the\nfinite strain ellipsoid) and the largest principal strain value from the 3x3\ndeformation gradient tensor.

    \n", "signature": "(deformation_gradient, **kwargs):", "funcdef": "def"}, "pydrex.diagnostics.symmetry": {"fullname": "pydrex.diagnostics.symmetry", "modulename": "pydrex.diagnostics", "qualname": "symmetry", "kind": "function", "doc": "

    Compute texture symmetry eigenvalue diagnostics from olivine orientation matrices.

    \n\n

    Compute Point, Girdle and Random symmetry diagnostics\nfor ternary texture classification.\nReturns the tuple (P, G, R) where\n$$\n\\begin{align*}\nP &= (\u03bb_{1} - \u03bb_{2}) / N \\cr\nG &= 2 (\u03bb_{2} - \u03bb_{3}) / N \\cr\nR &= 3 \u03bb_{3} / N\n\\end{align*}\n$$\nwith $N$ the sum of the eigenvalues $\u03bb_{1} \u2265 \u03bb_{2} \u2265 \u03bb_{3}$\nof the scatter (inertia) matrix.

    \n\n

    See e.g. Vollmer 1990.

    \n", "signature": "(orientations, axis='a'):", "funcdef": "def"}, "pydrex.diagnostics.misorientation_index": {"fullname": "pydrex.diagnostics.misorientation_index", "modulename": "pydrex.diagnostics", "qualname": "misorientation_index", "kind": "function", "doc": "

    Calculate M-index for polycrystal orientations.

    \n\n

    The bins argument is passed to numpy.histogram.\nIf left as None, 1\u00b0 bins will be used as recommended by the reference paper.\nThe symmetry system can be specified using the system argument.\nThe default system is orthorhombic.

    \n\n

    See Skemer et al. 2005.

    \n", "signature": "(orientations, bins=None, system=(2, 4)):", "funcdef": "def"}, "pydrex.diagnostics.coaxial_index": {"fullname": "pydrex.diagnostics.coaxial_index", "modulename": "pydrex.diagnostics", "qualname": "coaxial_index", "kind": "function", "doc": "

    Calculate coaxial \u201cBA\u201d index for a combination of two crystal axes.

    \n\n

    The BA index of Mainprice et al. 2015\nis derived from the eigenvalue symmetry diagnostics and measures point vs girdle\nsymmetry in the aggregate. $BA \u2208 [0, 1]$ where $BA = 0$ corresponds to a perfect\naxial girdle texture and $BA = 1$ represents a point symmetry texture assuming that\nthe random component $R$ is negligible. May be less susceptible to random\nfluctuations compared to the raw eigenvalue diagnostics.

    \n", "signature": "(orientations, axis1='b', axis2='a'):", "funcdef": "def"}, "pydrex.diagnostics.misorientation_angles": {"fullname": "pydrex.diagnostics.misorientation_angles", "modulename": "pydrex.diagnostics", "qualname": "misorientation_angles", "kind": "function", "doc": "

    Calculate the misorientation angles for pairs of rotation quaternions.

    \n\n

    Calculate the angular distance between the rotations combinations[:, 0]\nand combinations[:, 1], which are expected to be 1x4 passive (alias)\nrotation quaternions.

    \n\n

    Uses ~25% less memory than the same operation with rotation matrices.

    \n\n

    See also:

    \n\n\n", "signature": "(combinations):", "funcdef": "def"}, "pydrex.diagnostics.smallest_angle": {"fullname": "pydrex.diagnostics.smallest_angle", "modulename": "pydrex.diagnostics", "qualname": "smallest_angle", "kind": "function", "doc": "

    Get smallest angle between a unit vector and a bidirectional axis.

    \n\n

    The axis is specified using either of its two parallel unit vectors.

    \n", "signature": "(vector, axis):", "funcdef": "def"}, "pydrex.exceptions": {"fullname": "pydrex.exceptions", "modulename": "pydrex.exceptions", "kind": "module", "doc": "
    \n

    PyDRex: Custom exceptions (subclasses of pydrex.Error).

    \n
    \n"}, "pydrex.exceptions.Error": {"fullname": "pydrex.exceptions.Error", "modulename": "pydrex.exceptions", "qualname": "Error", "kind": "class", "doc": "

    Base class for exceptions in PyDRex.

    \n", "bases": "builtins.Exception"}, "pydrex.exceptions.ConfigError": {"fullname": "pydrex.exceptions.ConfigError", "modulename": "pydrex.exceptions", "qualname": "ConfigError", "kind": "class", "doc": "

    Exception raised for errors in the input configuration.

    \n\n

    Attributes:\n message \u2014 explanation of the error

    \n", "bases": "Error"}, "pydrex.exceptions.ConfigError.__init__": {"fullname": "pydrex.exceptions.ConfigError.__init__", "modulename": "pydrex.exceptions", "qualname": "ConfigError.__init__", "kind": "function", "doc": "

    \n", "signature": "(message)"}, "pydrex.exceptions.ConfigError.message": {"fullname": "pydrex.exceptions.ConfigError.message", "modulename": "pydrex.exceptions", "qualname": "ConfigError.message", "kind": "variable", "doc": "

    \n"}, "pydrex.exceptions.MeshError": {"fullname": "pydrex.exceptions.MeshError", "modulename": "pydrex.exceptions", "qualname": "MeshError", "kind": "class", "doc": "

    Exception raised for errors in the input mesh.

    \n\n

    Attributes:\n message \u2014 explanation of the error

    \n", "bases": "Error"}, "pydrex.exceptions.MeshError.__init__": {"fullname": "pydrex.exceptions.MeshError.__init__", "modulename": "pydrex.exceptions", "qualname": "MeshError.__init__", "kind": "function", "doc": "

    \n", "signature": "(message)"}, "pydrex.exceptions.MeshError.message": {"fullname": "pydrex.exceptions.MeshError.message", "modulename": "pydrex.exceptions", "qualname": "MeshError.message", "kind": "variable", "doc": "

    \n"}, "pydrex.exceptions.IterationError": {"fullname": "pydrex.exceptions.IterationError", "modulename": "pydrex.exceptions", "qualname": "IterationError", "kind": "class", "doc": "

    Exception raised for errors in numerical iteration schemes.

    \n\n

    Attributes:\n message \u2014 explanation of the error

    \n", "bases": "Error"}, "pydrex.exceptions.IterationError.__init__": {"fullname": "pydrex.exceptions.IterationError.__init__", "modulename": "pydrex.exceptions", "qualname": "IterationError.__init__", "kind": "function", "doc": "

    \n", "signature": "(message)"}, "pydrex.exceptions.IterationError.message": {"fullname": "pydrex.exceptions.IterationError.message", "modulename": "pydrex.exceptions", "qualname": "IterationError.message", "kind": "variable", "doc": "

    \n"}, "pydrex.exceptions.SCSVError": {"fullname": "pydrex.exceptions.SCSVError", "modulename": "pydrex.exceptions", "qualname": "SCSVError", "kind": "class", "doc": "

    Exception raised for errors in SCSV file I/O.

    \n\n

    Attributes:

    \n\n\n", "bases": "Error"}, "pydrex.exceptions.SCSVError.__init__": {"fullname": "pydrex.exceptions.SCSVError.__init__", "modulename": "pydrex.exceptions", "qualname": "SCSVError.__init__", "kind": "function", "doc": "

    \n", "signature": "(message)"}, "pydrex.exceptions.SCSVError.message": {"fullname": "pydrex.exceptions.SCSVError.message", "modulename": "pydrex.exceptions", "qualname": "SCSVError.message", "kind": "variable", "doc": "

    \n"}, "pydrex.geometry": {"fullname": "pydrex.geometry", "modulename": "pydrex.geometry", "kind": "module", "doc": "
    \n

    PyDRex: Functions for geometric coordinate conversions and projections.

    \n
    \n"}, "pydrex.geometry.to_cartesian": {"fullname": "pydrex.geometry.to_cartesian", "modulename": "pydrex.geometry", "qualname": "to_cartesian", "kind": "function", "doc": "

    Convert spherical to cartesian coordinates in \u211d\u00b3.

    \n\n

    Spherical coordinate convention:

    \n\n\n\n

    By default, a radius of r = 1 is used for the sphere.\nReturns a tuple containing arrays of x, y, and z values.

    \n", "signature": "(\u03c6, \u03b8, r=1):", "funcdef": "def"}, "pydrex.geometry.to_spherical": {"fullname": "pydrex.geometry.to_spherical", "modulename": "pydrex.geometry", "qualname": "to_spherical", "kind": "function", "doc": "

    Convert cartesian coordinates in \u211d\u00b3 to spherical coordinates.

    \n\n

    Spherical coordinate convention:

    \n\n\n\n

    Returns a tuple containing arrays of r, \u03d5 and \u03b8 values.

    \n", "signature": "(x, y, z):", "funcdef": "def"}, "pydrex.geometry.poles": {"fullname": "pydrex.geometry.poles", "modulename": "pydrex.geometry", "qualname": "poles", "kind": "function", "doc": "

    Extract 3D vectors of crystallographic directions from orientation matrices.

    \n\n

    Expects orientations to be an array with shape (N, 3, 3).\nThe optional arguments ref_axes and hkl can be used to change\nthe global reference axes and the crystallographic direction respectively.\nThe reference axes should be given as a string of two letters,\ne.g. \"xz\" (default), which specify the second and third axes\nof the global right-handed reference frame. The third letter in the set \"xyz\"\ndetermines the first axis. The ref_axes will therefore become the\nhorizontal and vertical axes of pole figures used to plot the directions.

    \n", "signature": "(orientations, ref_axes='xz', hkl=[1, 0, 0]):", "funcdef": "def"}, "pydrex.geometry.lambert_equal_area": {"fullname": "pydrex.geometry.lambert_equal_area", "modulename": "pydrex.geometry", "qualname": "lambert_equal_area", "kind": "function", "doc": "

    Project axial data from a 3D sphere onto a 2D disk.

    \n\n

    Project points from a 3D sphere of radius 1, given in Cartesian coordinates,\nto points on a 2D disk using a Lambert equal area azimuthal projection.\nReturns arrays of the X and Y coordinates in the unit disk.

    \n\n

    This implementation first maps all points onto the same hemisphere,\nand then projects that hemisphere onto the disk.

    \n", "signature": "(xvals, yvals, zvals):", "funcdef": "def"}, "pydrex.geometry.shirley_concentric_squaredisk": {"fullname": "pydrex.geometry.shirley_concentric_squaredisk", "modulename": "pydrex.geometry", "qualname": "shirley_concentric_squaredisk", "kind": "function", "doc": "

    Project points from a square onto a disk using the concentric Shirley method.

    \n\n

    The concentric method of Shirley & Chiu 1997 is optimised to preserve area.\nSee also: http://marc-b-reynolds.github.io/math/2017/01/08/SquareDisc.html.

    \n\n

    This can be used to set up uniform grids on a disk, e.g.

    \n\n
    \n
    >>> a = [x / 5.0 for x in range(-5, 6)]\n>>> x = [[x] * len(a) for x in a]\n>>> y = [a for _ in a]\n>>> x_flat = [j for i in x for j in i]\n>>> y_flat = [j for i in y for j in i]\n>>> x_disk, y_disk = shirley_concentric_squaredisk(x_flat, y_flat)\n>>> r = x_disk**2 + y_disk**2\n>>> r\narray([1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  ,\n       1.  , 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.16, 0.04, 0.04, 0.04, 0.16, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.16, 0.04, 0.  , 0.04, 0.16, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.16, 0.04, 0.04, 0.04, 0.16, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 1.  ,\n       1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  ])\n>>> from math import atan2\n>>> \u03b8 = [atan2(y, x) for y, x in zip(y_disk, x_disk)]\n>>> max(\u03b8)\n3.141592653589793\n>>> min(\u03b8)\n-2.9845130209101467\n
    \n
    \n", "signature": "(xvals, yvals):", "funcdef": "def"}, "pydrex.interpolations": {"fullname": "pydrex.interpolations", "modulename": "pydrex.interpolations", "kind": "module", "doc": "
    \n

    PyDRex: Interpolation callbacks and helpers.

    \n
    \n"}, "pydrex.interpolations.default_interpolators": {"fullname": "pydrex.interpolations.default_interpolators", "modulename": "pydrex.interpolations", "qualname": "default_interpolators", "kind": "function", "doc": "

    Create a dictionary of default interpolator callbacks for PyDRex input.

    \n\n

    Args:

    \n\n\n\n

    Optionaly pass a string to mpl_interp to use\nmatplotlib.tri.CubicTriInterpolator with the chosen smoothing algorithm.\nOnly valid for 2D data with pre-existing triangulations.

    \n\n

    See also create_interpolators.

    \n", "signature": "(config, coords, vtk_output, mpl_interp=None):", "funcdef": "def"}, "pydrex.interpolations.create_interpolators": {"fullname": "pydrex.interpolations.create_interpolators", "modulename": "pydrex.interpolations", "qualname": "create_interpolators", "kind": "function", "doc": "

    Create interpolator callbacks for data arrays.

    \n\n

    Args:

    \n\n\n\n

    Optional kwargs will be passed to the interpolation constructor.

    \n\n

    Returns a list of interpolator callbacks, one for each data vector component.

    \n\n

    The triangles arg is required only for matplotlib.tri.CubicTriInterpolator.\nSee the documentation of that constructor for details.

    \n", "signature": "(interpolator, coords, data, triangles=None, **kwargs):", "funcdef": "def"}, "pydrex.interpolations.get_velocity": {"fullname": "pydrex.interpolations.get_velocity", "modulename": "pydrex.interpolations", "qualname": "get_velocity", "kind": "function", "doc": "

    Interpolates the velocity at a given point.

    \n", "signature": "(point, interpolators):", "funcdef": "def"}, "pydrex.interpolations.get_velocity_gradient": {"fullname": "pydrex.interpolations.get_velocity_gradient", "modulename": "pydrex.interpolations", "qualname": "get_velocity_gradient", "kind": "function", "doc": "

    Return the interpolated velocity gradient tensor at a given point.

    \n", "signature": "(point, interpolators):", "funcdef": "def"}, "pydrex.interpolations.get_deformation_mechanism": {"fullname": "pydrex.interpolations.get_deformation_mechanism", "modulename": "pydrex.interpolations", "qualname": "get_deformation_mechanism", "kind": "function", "doc": "

    Return the interpolated deformation mechanism ID at the given point.

    \n", "signature": "(point, interpolators):", "funcdef": "def"}, "pydrex.io": {"fullname": "pydrex.io", "modulename": "pydrex.io", "kind": "module", "doc": "
    \n

    PyDRex: Mesh, configuration and supporting data Input/Output functions.

    \n
    \n\n

    PyDRex can read/write three kinds of plain text files:

    \n\n\n\n

    SCSV files are our custom CSV files with a YAML header. The header is used for data\nattribution and metadata, as well as a column type spec. There is no official spec for\nSCSV files at the moment but they should follow the format of existing SCSV files in\nthe data/ folder of the source repository. For supported cell types, see\nSCSV_TYPEMAP.

    \n"}, "pydrex.io.DEFAULT_PARAMS": {"fullname": "pydrex.io.DEFAULT_PARAMS", "modulename": "pydrex.io", "qualname": "DEFAULT_PARAMS", "kind": "variable", "doc": "

    Default simulation parameters.

    \n", "default_value": "{'olivine_fraction': 1.0, 'enstatite_fraction': 0.0, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 125, 'gbs_threshold': 0.3, 'nucleation_efficiency': 5.0, 'number_of_grains': 2500, 'initial_olivine_fabric': 'A'}"}, "pydrex.io.SCSV_TYPEMAP": {"fullname": "pydrex.io.SCSV_TYPEMAP", "modulename": "pydrex.io", "qualname": "SCSV_TYPEMAP", "kind": "variable", "doc": "

    Mapping of supported SCSV field types to corresponding Python types.

    \n", "default_value": "{'string': <class 'str'>, 'integer': <class 'int'>, 'float': <class 'float'>, 'boolean': <class 'bool'>, 'complex': <class 'complex'>}"}, "pydrex.io.read_scsv": {"fullname": "pydrex.io.read_scsv", "modulename": "pydrex.io", "qualname": "read_scsv", "kind": "function", "doc": "

    Read data from an SCSV file.

    \n\n

    See also save_scsv, read_scsv_header.

    \n", "signature": "(file):", "funcdef": "def"}, "pydrex.io.write_scsv_header": {"fullname": "pydrex.io.write_scsv_header", "modulename": "pydrex.io", "qualname": "write_scsv_header", "kind": "function", "doc": "

    Write YAML header to an SCSV stream.

    \n\n

    Args:

    \n\n\n\n

    See also read_scsv, save_scsv.

    \n", "signature": "(stream, schema, comments=None):", "funcdef": "def"}, "pydrex.io.save_scsv": {"fullname": "pydrex.io.save_scsv", "modulename": "pydrex.io", "qualname": "save_scsv", "kind": "function", "doc": "

    Save data to SCSV file.

    \n\n

    Args:

    \n\n\n\n

    Optional keyword arguments are passed to write_scsv_header. See also read_scsv.

    \n", "signature": "(file, schema, data, **kwargs):", "funcdef": "def"}, "pydrex.io.parse_config": {"fullname": "pydrex.io.parse_config", "modulename": "pydrex.io", "qualname": "parse_config", "kind": "function", "doc": "

    Parse a TOML file containing PyDRex configuration.

    \n", "signature": "(path):", "funcdef": "def"}, "pydrex.io.read_mesh": {"fullname": "pydrex.io.read_mesh", "modulename": "pydrex.io", "qualname": "read_mesh", "kind": "function", "doc": "

    Wrapper of meshio.read, see https://github.com/nschloe/meshio.

    \n", "signature": "(meshfile, *args, **kwargs):", "funcdef": "def"}, "pydrex.io.resolve_path": {"fullname": "pydrex.io.resolve_path", "modulename": "pydrex.io", "qualname": "resolve_path", "kind": "function", "doc": "

    Resolve relative paths and create parent directories if necessary.

    \n\n

    Relative paths are interpreted with respect to the current working directory,\ni.e. the directory from whith the current Python process was executed,\nunless a specific reference directory is provided with refdir.

    \n", "signature": "(path, refdir=None):", "funcdef": "def"}, "pydrex.io.stringify": {"fullname": "pydrex.io.stringify", "modulename": "pydrex.io", "qualname": "stringify", "kind": "function", "doc": "

    Return a cleaned version of a string for use in filenames, etc.

    \n", "signature": "(s):", "funcdef": "def"}, "pydrex.io.data": {"fullname": "pydrex.io.data", "modulename": "pydrex.io", "qualname": "data", "kind": "function", "doc": "

    Get resolved path to a pydrex data folder.

    \n", "signature": "(folder):", "funcdef": "def"}, "pydrex.logger": {"fullname": "pydrex.logger", "modulename": "pydrex.logger", "kind": "module", "doc": "
    \n

    PyDRex: logger settings and boilerplate.

    \n
    \n\n

    Python's logging module is weird and its methods don't allow us to specify\nwhich logger to use, so just using logging.debug for example always uses\nthe \"root\" logger, which spams a bunch of messages from other imports/modules.\nInstead, the methods in this module are thin wrappers that use custom\nlogging objects (pydrex.logger.LOGGER and pydrex.logger.CONSOLE_LOGGER).\nThe method quiet_aliens can be invoked to suppress most messages\nfrom third-party modules, except critical errors and warnings from Numba.

    \n\n

    By default, PyDRex emits INFO level messages to the console.\nThis can be changed globally by setting the new level with CONSOLE_LOGGER.setLevel:

    \n\n
    \n
    from pydrex import logger as _log\n_log.info("this message will be printed to the console")\n\n_log.CONSOLE_LOGGER.setLevel("ERROR")\n_log.info("this message will NOT be printed to the console")\n_log.error("this message will be printed to the console")\n
    \n
    \n\n

    To change the console logging level for a particular local context,\nuse the handler_level context manager:

    \n\n
    \n
    _log.CONSOLE_LOGGER.setLevel("INFO")\n_log.info("this message will be printed to the console")\n\nwith handler_level("ERROR"):\n    _log.info("this message will NOT be printed to the console")\n\n_log.info("this message will be printed to the console")\n
    \n
    \n\n

    To save debug logs to a file, the logfile_enable context manager is recommended.\nAlways use the old printf style formatting for log messages, not fstrings,\notherwise compute time will be wasted on string conversions when logging is disabled:

    \n\n
    \n
    _log.quiet_aliens()  # Suppress third-party log messages except CRITICAL from Numba.\nwith _log.logfile_enable("my_log_file.log"):  # Overwrite existing file unless mode="a".\n    value = 42\n    _log.critical("critical error with value: %s", value)\n    _log.error("runtime error with value: %s", value)\n    _log.warning("warning with value: %s", value)\n    _log.info("information message with value: %s", value)\n    _log.debug("verbose debugging message with value: %s", value)\n    ... # Construct Minerals, update orientations, etc.\n
    \n
    \n"}, "pydrex.logger.ConsoleFormatter": {"fullname": "pydrex.logger.ConsoleFormatter", "modulename": "pydrex.logger", "qualname": "ConsoleFormatter", "kind": "class", "doc": "

    Log formatter that uses terminal color codes.

    \n", "bases": "logging.Formatter"}, "pydrex.logger.ConsoleFormatter.colorfmt": {"fullname": "pydrex.logger.ConsoleFormatter.colorfmt", "modulename": "pydrex.logger", "qualname": "ConsoleFormatter.colorfmt", "kind": "function", "doc": "

    \n", "signature": "(self, code):", "funcdef": "def"}, "pydrex.logger.ConsoleFormatter.format": {"fullname": "pydrex.logger.ConsoleFormatter.format", "modulename": "pydrex.logger", "qualname": "ConsoleFormatter.format", "kind": "function", "doc": "

    Format the specified record as text.

    \n\n

    The record's attribute dictionary is used as the operand to a\nstring formatting operation which yields the returned string.\nBefore formatting the dictionary, a couple of preparatory steps\nare carried out. The message attribute of the record is computed\nusing LogRecord.getMessage(). If the formatting string uses the\ntime (as determined by a call to usesTime(), formatTime() is\ncalled to format the event time. If there is exception information,\nit is formatted using formatException() and appended to the message.

    \n", "signature": "(self, record):", "funcdef": "def"}, "pydrex.logger.LOGGER": {"fullname": "pydrex.logger.LOGGER", "modulename": "pydrex.logger", "qualname": "LOGGER", "kind": "variable", "doc": "

    \n", "default_value": "<Logger pydrex (DEBUG)>"}, "pydrex.logger.LOGGER_CONSOLE": {"fullname": "pydrex.logger.LOGGER_CONSOLE", "modulename": "pydrex.logger", "qualname": "LOGGER_CONSOLE", "kind": "variable", "doc": "

    \n", "default_value": "<StreamHandler (INFO)>"}, "pydrex.logger.handler_level": {"fullname": "pydrex.logger.handler_level", "modulename": "pydrex.logger", "qualname": "handler_level", "kind": "function", "doc": "

    Set logging handler level for current context.

    \n\n

    Args:

    \n\n\n", "signature": "(level, handler=<StreamHandler (INFO)>):", "funcdef": "def"}, "pydrex.logger.logfile_enable": {"fullname": "pydrex.logger.logfile_enable", "modulename": "pydrex.logger", "qualname": "logfile_enable", "kind": "function", "doc": "

    Enable logging to a file at path with given level.

    \n", "signature": "(path, level=10, mode='w'):", "funcdef": "def"}, "pydrex.logger.critical": {"fullname": "pydrex.logger.critical", "modulename": "pydrex.logger", "qualname": "critical", "kind": "function", "doc": "

    Log a CRITICAL message in PyDRex.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.error": {"fullname": "pydrex.logger.error", "modulename": "pydrex.logger", "qualname": "error", "kind": "function", "doc": "

    Log an ERROR message in PyDRex.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.warning": {"fullname": "pydrex.logger.warning", "modulename": "pydrex.logger", "qualname": "warning", "kind": "function", "doc": "

    Log a WARNING message in PyDRex.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.info": {"fullname": "pydrex.logger.info", "modulename": "pydrex.logger", "qualname": "info", "kind": "function", "doc": "

    Log an INFO message in PyDRex.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.debug": {"fullname": "pydrex.logger.debug", "modulename": "pydrex.logger", "qualname": "debug", "kind": "function", "doc": "

    Log a DEBUG message in PyDRex.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.exception": {"fullname": "pydrex.logger.exception", "modulename": "pydrex.logger", "qualname": "exception", "kind": "function", "doc": "

    Log a message with level ERROR but retain exception information.

    \n\n

    This function should only be called from an exception handler.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.quiet_aliens": {"fullname": "pydrex.logger.quiet_aliens", "modulename": "pydrex.logger", "qualname": "quiet_aliens", "kind": "function", "doc": "

    Restrict alien loggers \ud83d\udc7d because I'm trying to find MY bugs, thanks.

    \n", "signature": "():", "funcdef": "def"}, "pydrex.minerals": {"fullname": "pydrex.minerals", "modulename": "pydrex.minerals", "kind": "module", "doc": "
    \n

    PyDRex: Computations of mineral texture and elasticity.

    \n
    \n"}, "pydrex.minerals.OLIVINE_STIFFNESS": {"fullname": "pydrex.minerals.OLIVINE_STIFFNESS", "modulename": "pydrex.minerals", "qualname": "OLIVINE_STIFFNESS", "kind": "variable", "doc": "

    Stiffness tensor for olivine (Voigt representation), with units of GPa.

    \n\n

    The source of the values used here is unknown, but they are copied\nfrom the original DRex code: http://www.ipgp.fr/~kaminski/web_doudoud/DRex.tar.gz [88K download]

    \n", "default_value": "array([[3.2071e+02, 6.984e+01, 7.122e+01, 0.e+00, 0.e+00, 0.e+00],\n [6.984e+01, 1.9725e+02, 7.48e+01, 0.e+00, 0.e+00, 0.e+00],\n [7.122e+01, 7.48e+01, 2.3432e+02, 0.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 6.377e+01, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 0.e+00, 7.767e+01, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 0.e+00, 0.e+00, 7.836e+01]])"}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"fullname": "pydrex.minerals.ENSTATITE_STIFFNESS", "modulename": "pydrex.minerals", "qualname": "ENSTATITE_STIFFNESS", "kind": "variable", "doc": "

    Stiffness tensor for enstatite (Voigt representation), with units of GPa.

    \n\n

    The source of the values used here is unknown, but they are copied\nfrom the original DRex code: http://www.ipgp.fr/~kaminski/web_doudoud/DRex.tar.gz [88K download]

    \n", "default_value": "array([[2.369e+02, 7.96e+01, 6.32e+01, 0.e+00, 0.e+00, 0.e+00],\n [7.96e+01, 1.805e+02, 5.68e+01, 0.e+00, 0.e+00, 0.e+00],\n [6.32e+01, 5.68e+01, 2.304e+02, 0.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 8.43e+01, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 0.e+00, 7.94e+01, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 0.e+00, 0.e+00, 8.01e+01]])"}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"fullname": "pydrex.minerals.OLIVINE_PRIMARY_AXIS", "modulename": "pydrex.minerals", "qualname": "OLIVINE_PRIMARY_AXIS", "kind": "variable", "doc": "

    Primary slip axis name for for the given olivine fabric.

    \n", "default_value": "{<MineralFabric.olivine_A: 0>: 'a', <MineralFabric.olivine_B: 1>: 'c', <MineralFabric.olivine_C: 2>: 'c', <MineralFabric.olivine_D: 3>: 'a', <MineralFabric.olivine_E: 4>: 'a'}"}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"fullname": "pydrex.minerals.OLIVINE_SLIP_SYSTEMS", "modulename": "pydrex.minerals", "qualname": "OLIVINE_SLIP_SYSTEMS", "kind": "variable", "doc": "

    Slip systems for olivine in conventional order.

    \n\n

    Tuples contain the slip plane normal and slip direction vectors.\nThe order of slip systems returned matches the order of critical shear stresses\nreturned by pydrex.core.get_crss.

    \n", "default_value": "(([0, 1, 0], [1, 0, 0]), ([0, 0, 1], [1, 0, 0]), ([0, 1, 0], [0, 0, 1]), ([1, 0, 0], [0, 0, 1]))"}, "pydrex.minerals.voigt_averages": {"fullname": "pydrex.minerals.voigt_averages", "modulename": "pydrex.minerals", "qualname": "voigt_averages", "kind": "function", "doc": "

    Calculate elastic tensors as the Voigt averages of a collection of minerals.

    \n\n

    Args:

    \n\n\n\n

    Raises a ValueError if the minerals contain an unequal number of grains or stored\ntexture results.

    \n", "signature": "(minerals, weights):", "funcdef": "def"}, "pydrex.minerals.Mineral": {"fullname": "pydrex.minerals.Mineral", "modulename": "pydrex.minerals", "qualname": "Mineral", "kind": "class", "doc": "

    Class for storing polycrystal texture for a single mineral phase.

    \n\n

    A Mineral stores texture data for an aggregate of grains*.\nAdditionally, mineral fabric type and deformation regime are also tracked.\nTo provide an initial texture for the mineral, use the constructor arguments\nfractions_init and orientations_init. By default,\na uniform volume distribution of random orientations is generated.

    \n\n

    The update_orientations method computes new orientations and grain volumes\nfor a given velocity gradient. These results are stored in the .orientations and\n.fractions attributes of the Mineral instance. The method also returns the\nupdated macroscopic deformation gradient based on the provided initial deformation\ngradient.

    \n\n

    *Note that the \"number of grains\" is a static integer value that\ndoes not track the actual number of physical grains in the deforming polycrystal.\nInstead, this number acts as a \"number of bins\" for the statistical resolution of\nthe crystallographic orientation distribution. The value is roughly equivalent to\n(a multiple of) the number of initial, un-recrystallised grains in the polycrystal.\nIt is assumed that recrystallised grains do not grow large enough to require\nrotation tracking.

    \n\n

    Examples:

    \n\n

    Mineral with isotropic initial texture:

    \n\n
    \n
    >>> import pydrex\n>>> pydrex.Mineral(\n>>>     phase=pydrex.MineralPhase.olivine,\n>>>     fabric=pydrex.MineralFabric.olivine_A,\n>>>     regime=pydrex.DeformationRegime.dislocation,\n>>>     n_grains=2000,\n>>> )\nMineral(phase=0, fabric=0, regime=1, n_grains=2000, fractions=<list of ndarray (2000,)>, orientations=<list of ndarray (2000, 3, 3)>)\n
    \n
    \n\n

    Mineral with specified initial texture and default phase, fabric and regime settings\nwhich are for an olivine A-type mineral in the dislocation creep regime.\nThe initial grain volume fractions should be normalised.

    \n\n
    \n
    >>> import numpy as np\n>>> from scipy.spatial.transform import Rotation\n>>> import pydrex\n>>> rng = np.random.default_rng()\n>>> n_grains = 2000\n>>> pydrex.Mineral(\n>>>     n_grains=n_grains,\n>>>     fractions_init=np.full(n_grains, 1 / n_grains),\n>>>     orientations_init=Rotation.from_euler(\n>>>         "zxz", [[x * np.pi / 2, np.pi / /2, np.pi / 2] for x in rng.random(n_grains)]\n>>>     ).inv().as_matrix(),\n>>> )\nMineral(phase=0, fabric=0, regime=1, n_grains=2000, fractions=<list of ndarray (2000,)>, orientations=<list of ndarray (2000, 3, 3)>)\n
    \n
    \n\n

    Attributes:

    \n\n\n"}, "pydrex.minerals.Mineral.__init__": {"fullname": "pydrex.minerals.Mineral.__init__", "modulename": "pydrex.minerals", "qualname": "Mineral.__init__", "kind": "function", "doc": "

    \n", "signature": "(\tphase: int = <MineralPhase.olivine: 0>,\tfabric: int = <MineralFabric.olivine_A: 0>,\tregime: int = <DeformationRegime.dislocation: 1>,\tn_grains: int = 1000,\tfractions_init: numpy.ndarray = None,\torientations_init: numpy.ndarray = None,\tfractions: list = <factory>,\torientations: list = <factory>,\tseed: int = None)"}, "pydrex.minerals.Mineral.phase": {"fullname": "pydrex.minerals.Mineral.phase", "modulename": "pydrex.minerals", "qualname": "Mineral.phase", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "<MineralPhase.olivine: 0>"}, "pydrex.minerals.Mineral.fabric": {"fullname": "pydrex.minerals.Mineral.fabric", "modulename": "pydrex.minerals", "qualname": "Mineral.fabric", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "<MineralFabric.olivine_A: 0>"}, "pydrex.minerals.Mineral.regime": {"fullname": "pydrex.minerals.Mineral.regime", "modulename": "pydrex.minerals", "qualname": "Mineral.regime", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "<DeformationRegime.dislocation: 1>"}, "pydrex.minerals.Mineral.n_grains": {"fullname": "pydrex.minerals.Mineral.n_grains", "modulename": "pydrex.minerals", "qualname": "Mineral.n_grains", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "1000"}, "pydrex.minerals.Mineral.fractions_init": {"fullname": "pydrex.minerals.Mineral.fractions_init", "modulename": "pydrex.minerals", "qualname": "Mineral.fractions_init", "kind": "variable", "doc": "

    \n", "annotation": ": numpy.ndarray", "default_value": "None"}, "pydrex.minerals.Mineral.orientations_init": {"fullname": "pydrex.minerals.Mineral.orientations_init", "modulename": "pydrex.minerals", "qualname": "Mineral.orientations_init", "kind": "variable", "doc": "

    \n", "annotation": ": numpy.ndarray", "default_value": "None"}, "pydrex.minerals.Mineral.fractions": {"fullname": "pydrex.minerals.Mineral.fractions", "modulename": "pydrex.minerals", "qualname": "Mineral.fractions", "kind": "variable", "doc": "

    \n", "annotation": ": list"}, "pydrex.minerals.Mineral.orientations": {"fullname": "pydrex.minerals.Mineral.orientations", "modulename": "pydrex.minerals", "qualname": "Mineral.orientations", "kind": "variable", "doc": "

    \n", "annotation": ": list"}, "pydrex.minerals.Mineral.seed": {"fullname": "pydrex.minerals.Mineral.seed", "modulename": "pydrex.minerals", "qualname": "Mineral.seed", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "None"}, "pydrex.minerals.Mineral.update_orientations": {"fullname": "pydrex.minerals.Mineral.update_orientations", "modulename": "pydrex.minerals", "qualname": "Mineral.update_orientations", "kind": "function", "doc": "

    Update orientations and volume distribution for the Mineral.

    \n\n

    Update crystalline orientations and grain volume distribution\nfor minerals undergoing plastic deformation.

    \n\n

    Args:

    \n\n\n\n

    Any additional (optional) keyword arguments are passed to\nscipy.integrate.LSODA.

    \n\n

    Array values must provide a NumPy-compatible interface:\nhttps://numpy.org/doc/stable/user/whatisnumpy.html

    \n", "signature": "(\tself,\tconfig,\tdeformation_gradient,\tget_velocity_gradient,\tpathline,\t**kwargs):", "funcdef": "def"}, "pydrex.minerals.Mineral.save": {"fullname": "pydrex.minerals.Mineral.save", "modulename": "pydrex.minerals", "qualname": "Mineral.save", "kind": "function", "doc": "

    Save CPO data for all stored timesteps to a numpy NPZ file.

    \n\n

    If postfix is not None, the data is appended to the NPZ file\nin fields ending with \"_postfix\".

    \n\n

    Raises a ValueError if the data shapes are not compatible.

    \n\n

    See also: numpy.savez, Mineral.load, Mineral.from_file.

    \n", "signature": "(self, filename, postfix=None):", "funcdef": "def"}, "pydrex.minerals.Mineral.load": {"fullname": "pydrex.minerals.Mineral.load", "modulename": "pydrex.minerals", "qualname": "Mineral.load", "kind": "function", "doc": "

    Load CPO data from a numpy NPZ file.

    \n\n

    If postfix is not None, data is read from fields ending with \"_postfix\".

    \n\n

    See also: Mineral.save, Mineral.from_file.

    \n", "signature": "(self, filename, postfix=None):", "funcdef": "def"}, "pydrex.minerals.Mineral.from_file": {"fullname": "pydrex.minerals.Mineral.from_file", "modulename": "pydrex.minerals", "qualname": "Mineral.from_file", "kind": "function", "doc": "

    Construct a Mineral instance using data from a numpy NPZ file.

    \n\n

    If postfix is not None, data is read from fields ending with \u201c_postfix\u201d.

    \n\n

    See also: Mineral.save, Mineral.load.

    \n", "signature": "(cls, filename, postfix=None):", "funcdef": "def"}, "pydrex.mock": {"fullname": "pydrex.mock", "modulename": "pydrex.mock", "kind": "module", "doc": "
    \n

    PyDRex: Mock objects for testing and reproducibility.

    \n
    \n"}, "pydrex.mock.PARAMS_FRATERS2021": {"fullname": "pydrex.mock.PARAMS_FRATERS2021", "modulename": "pydrex.mock", "qualname": "PARAMS_FRATERS2021", "kind": "variable", "doc": "

    Values used for tests 1, 2 and 4 in https://doi.org/10.1029/2021gc009846.

    \n", "default_value": "{'olivine_fraction': 0.7, 'enstatite_fraction': 0.3, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 125, 'gbs_threshold': 0.3, 'nucleation_efficiency': 5, 'number_of_grains': 500}"}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2001_FIG5_SOLID", "kind": "variable", "doc": "

    Values used for the M*=0 test in https://doi.org/10.1016/s0012-821x(01)00356-9.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 0, 'gbs_threshold': 0, 'nucleation_efficiency': 5, 'number_of_grains': 3375}"}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2001_FIG5_SHORTDASH", "kind": "variable", "doc": "

    Values used for the M*=50 test in https://doi.org/10.1016/s0012-821x(01)00356-9.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 50, 'gbs_threshold': 0, 'nucleation_efficiency': 5, 'number_of_grains': 3375}"}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2001_FIG5_LONGDASH", "kind": "variable", "doc": "

    Values used for the M*=200 test in https://doi.org/10.1016/s0012-821x(01)00356-9.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 200, 'gbs_threshold': 0, 'nucleation_efficiency': 5, 'number_of_grains': 3375}"}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2004_FIG4_TRIANGLES", "kind": "variable", "doc": "

    Values used for the \u03c7=0.4 test in https://doi.org/10.1111/j.1365-246x.2004.02308.x.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 125, 'gbs_threshold': 0.4, 'nucleation_efficiency': 5, 'number_of_grains': 4394}"}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2004_FIG4_SQUARES", "kind": "variable", "doc": "

    Values used for the \u03c7=0.2 test in https://doi.org/10.1111/j.1365-246x.2004.02308.x.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 125, 'gbs_threshold': 0.2, 'nucleation_efficiency': 5, 'number_of_grains': 4394}"}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2004_FIG4_CIRCLES", "kind": "variable", "doc": "

    Values used for the \u03c7=0 test in https://doi.org/10.1111/j.1365-246x.2004.02308.x.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 125, 'gbs_threshold': 0, 'nucleation_efficiency': 5, 'number_of_grains': 4394}"}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"fullname": "pydrex.mock.PARAMS_HEDJAZIAN2017", "modulename": "pydrex.mock", "qualname": "PARAMS_HEDJAZIAN2017", "kind": "variable", "doc": "

    Values used for the MOR model in https://doi.org/10.1016/j.epsl.2016.12.004.

    \n", "default_value": "{'olivine_fraction': 0.7, 'enstatite_fraction': 0.3, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 10, 'gbs_threshold': 0.2, 'nucleation_efficiency': 5, 'number_of_grains': 2197}"}, "pydrex.pathlines": {"fullname": "pydrex.pathlines", "modulename": "pydrex.pathlines", "kind": "module", "doc": "
    \n

    PyDRex: Functions for pathline construction.

    \n
    \n"}, "pydrex.pathlines.get_pathline": {"fullname": "pydrex.pathlines.get_pathline", "modulename": "pydrex.pathlines", "qualname": "get_pathline", "kind": "function", "doc": "

    Determine the pathline for a particle in a steady state flow.

    \n\n

    The pathline will intersect the given point and follow a curve determined by\nthe interpolated velocity gradient.

    \n\n

    Args:\n point (NumPy array) \u2014 coordinates of the point\n interp_velocity (interpolator) \u2014 returns velocity vector at a point\n interp_velocity_gradient (interpolator) \u2014 returns \u2207v (3x3 matrix) at a point\n min_coords (iterable) \u2014 lower bound coordinate of the interpolation grid\n max_coords (iterable) \u2014 upper bound coordinate of the interpolation grid

    \n\n

    Returns a tuple containing the time points and an interpolant that can be used\nto evaluate the pathline position (see scipy.integrate.OdeSolution).

    \n", "signature": "(\tpoint,\tinterp_velocity,\tinterp_velocity_gradient,\tmin_coords,\tmax_coords):", "funcdef": "def"}, "pydrex.stats": {"fullname": "pydrex.stats", "modulename": "pydrex.stats", "kind": "module", "doc": "
    \n

    PyDRex: Statistical methods for orientation and elasticity data.

    \n
    \n"}, "pydrex.stats.resample_orientations": {"fullname": "pydrex.stats.resample_orientations", "modulename": "pydrex.stats", "qualname": "resample_orientations", "kind": "function", "doc": "

    Generate new samples from orientations weighed by the volume distribution.

    \n\n

    If the optional number of samples n_samples is not specified,\nit will be set to the number of original \"grains\" (length of fractions).\nThe argument seed can be used to seed the random number generator.

    \n", "signature": "(orientations, fractions, n_samples=None, seed=None):", "funcdef": "def"}, "pydrex.stats.misorientations_random": {"fullname": "pydrex.stats.misorientations_random", "modulename": "pydrex.stats", "qualname": "misorientations_random", "kind": "function", "doc": "

    Get expected count of misorientation angles for an isotropic aggregate.

    \n\n

    Estimate the expected number of misorientation angles between grains\nthat would fall within $($low, high$)$ in degrees for an aggregate\nwith randomly oriented grains, where low $\u2208 [0, $high$)$,\nand high is bounded by the maximum theoretical misorientation angle\nfor the given symmetry system.

    \n\n

    The optional argument system accepts a tuple of integers (a, b)\nthat specifies the crystal symmetry system according to:

    \n\n
    system  triclinic  monoclinic  orthorhombic  rhombohedral tetragonal hexagonal\n------------------------------------------------------------------------------\na       1          2           2             3            4          6\nb       1          2           4             6            8          12\n\u03b8max    180\u00b0       180\u00b0        120\u00b0          120\u00b0         90\u00b0        90\u00b0\n
    \n\n

    This is identically Table 1 in Grimmer 1979.\nThe orthorhombic system (olivine) is selected by default.

    \n", "signature": "(low, high, system=(2, 4)):", "funcdef": "def"}, "pydrex.stats.point_density": {"fullname": "pydrex.stats.point_density", "modulename": "pydrex.stats", "qualname": "point_density", "kind": "function", "doc": "

    Estimate point density of orientation data on the unit sphere.

    \n\n

    Estimates the density of orientations on the unit sphere by counting the input data\nthat falls within small areas around a uniform grid of spherical counting locations.\nThe input data is expected in cartesian coordinates, and the contouring is performed\nusing kernel functions defined in Vollmer 1995.\nThe following optional parameters control the contouring method:

    \n\n\n\n

    Any other keyword arguments are passed to the kernel function calls.\nMost kernels accept a parameter \u03c3 to control the degree of smoothing.

    \n", "signature": "(\tx_data,\ty_data,\tz_data,\tgridsteps=101,\tweights=1,\tkernel='linear_inverse_kamb',\taxial=True,\t**kwargs):", "funcdef": "def"}, "pydrex.stats.exponential_kamb": {"fullname": "pydrex.stats.exponential_kamb", "modulename": "pydrex.stats", "qualname": "exponential_kamb", "kind": "function", "doc": "

    Kernel function from Vollmer 1995 for exponential smoothing.

    \n", "signature": "(cos_dist, \u03c3=10, axial=True):", "funcdef": "def"}, "pydrex.stats.linear_inverse_kamb": {"fullname": "pydrex.stats.linear_inverse_kamb", "modulename": "pydrex.stats", "qualname": "linear_inverse_kamb", "kind": "function", "doc": "

    Kernel function from Vollmer 1995 for linear smoothing.

    \n", "signature": "(cos_dist, \u03c3=10, axial=True):", "funcdef": "def"}, "pydrex.stats.square_inverse_kamb": {"fullname": "pydrex.stats.square_inverse_kamb", "modulename": "pydrex.stats", "qualname": "square_inverse_kamb", "kind": "function", "doc": "

    Kernel function from Vollmer 1995 for inverse square smoothing.

    \n", "signature": "(cos_dist, \u03c3=10, axial=True):", "funcdef": "def"}, "pydrex.stats.kamb_count": {"fullname": "pydrex.stats.kamb_count", "modulename": "pydrex.stats", "qualname": "kamb_count", "kind": "function", "doc": "

    Original Kamb 1959 kernel function (raw count within radius).

    \n", "signature": "(cos_dist, \u03c3=10, axial=True):", "funcdef": "def"}, "pydrex.stats.schmidt_count": {"fullname": "pydrex.stats.schmidt_count", "modulename": "pydrex.stats", "qualname": "schmidt_count", "kind": "function", "doc": "

    Schmidt (a.k.a. 1%) counting kernel function.

    \n", "signature": "(cos_dist, axial=None):", "funcdef": "def"}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"fullname": "pydrex.stats.SPHERICAL_COUNTING_KERNELS", "modulename": "pydrex.stats", "qualname": "SPHERICAL_COUNTING_KERNELS", "kind": "variable", "doc": "

    Kernel functions that return an un-summed distribution and a normalization factor.

    \n\n

    Supported kernel functions are based on the discussion in\nVollmer 1995.\nKamb methods accept the parameter \u03c3 (default: 10) to control the degree of smoothing.\nValues lower than 3 and higher than 20 are not recommended.

    \n", "default_value": "{'kamb_count': <function kamb_count>, 'schmidt_count': <function schmidt_count>, 'exponential_kamb': <function exponential_kamb>, 'linear_inverse_kamb': <function linear_inverse_kamb>, 'square_inverse_kamb': <function square_inverse_kamb>}"}, "pydrex.tensors": {"fullname": "pydrex.tensors", "modulename": "pydrex.tensors", "kind": "module", "doc": "
    \n

    PyDRex: Tensor operation functions and helpers.

    \n
    \n\n

    For Voigt notation, the symmetric 6x6 matrix representation is used,\nwhich assumes that the fourth order tensor being represented as such is also symmetric.\nThe vectorial notation uses 21 components which are the independent components of the\nsymmetric 6x6 matrix.

    \n"}, "pydrex.tensors.PERMUTATION_SYMBOL": {"fullname": "pydrex.tensors.PERMUTATION_SYMBOL", "modulename": "pydrex.tensors", "qualname": "PERMUTATION_SYMBOL", "kind": "variable", "doc": "

    \n", "default_value": "array([[[0.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 1.e+00],\n [0.e+00, -1.e+00, 0.e+00]],\n\n [[0.e+00, 0.e+00, -1.e+00],\n [0.e+00, 0.e+00, 0.e+00],\n [1.e+00, 0.e+00, 0.e+00]],\n\n [[0.e+00, 1.e+00, 0.e+00],\n [-1.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00]]])"}, "pydrex.tensors.voigt_decompose": {"fullname": "pydrex.tensors.voigt_decompose", "modulename": "pydrex.tensors", "qualname": "voigt_decompose", "kind": "function", "doc": "

    Decompose elastic tensor (as 6x6 Voigt matrix) into distinct contractions.

    \n\n

    Return the only two independent contractions of the elastic tensor, given as a 6x6\nVoigt matrix. For the equivalent 4-th order elastic tensor, the contractions are:

    \n\n\n\n

    See Equations 3.4 & 3.5 in Browaeys & Chevrot.

    \n", "signature": "(matrix):", "funcdef": "def"}, "pydrex.tensors.hex_projector": {"fullname": "pydrex.tensors.hex_projector", "modulename": "pydrex.tensors", "qualname": "hex_projector", "kind": "function", "doc": "

    Projector p\u2084 onto hexagonal (a.k.a. transverse isotropy) symmetry.

    \n\n

    See Browaeys & Chevrot.

    \n", "signature": "(x):", "funcdef": "def"}, "pydrex.tensors.upper_tri_to_symmetric": {"fullname": "pydrex.tensors.upper_tri_to_symmetric", "modulename": "pydrex.tensors", "qualname": "upper_tri_to_symmetric", "kind": "function", "doc": "

    Create symmetric array using upper triangle of input array.

    \n\n
    \n
    >>> import numpy as np\n>>> upper_tri_to_symmetric(np.array([\n>>>         [ 1.,  2.,  3.,  4.],\n>>>         [ 0.,  5.,  6.,  7.],\n>>>         [ 0.,  0.,  8.,  9.],\n>>>         [ 9.,  0.,  0., 10.]\n>>> ]))\narray([[ 1.,  2.,  3.,  4.],\n       [ 2.,  5.,  6.,  7.],\n       [ 3.,  6.,  8.,  9.],\n       [ 4.,  7.,  9., 10.]])\n
    \n
    \n", "signature": "(arr):", "funcdef": "def"}, "pydrex.tensors.voigt_to_elastic_tensor": {"fullname": "pydrex.tensors.voigt_to_elastic_tensor", "modulename": "pydrex.tensors", "qualname": "voigt_to_elastic_tensor", "kind": "function", "doc": "

    Create 4-th order elastic tensor from an equivalent Voigt matrix.

    \n\n

    See also: elastic_tensor_to_voigt.

    \n", "signature": "(matrix):", "funcdef": "def"}, "pydrex.tensors.elastic_tensor_to_voigt": {"fullname": "pydrex.tensors.elastic_tensor_to_voigt", "modulename": "pydrex.tensors", "qualname": "elastic_tensor_to_voigt", "kind": "function", "doc": "

    Create a 6x6 Voigt matrix from an equivalent 4-th order elastic tensor.

    \n", "signature": "(tensor):", "funcdef": "def"}, "pydrex.tensors.voigt_matrix_to_vector": {"fullname": "pydrex.tensors.voigt_matrix_to_vector", "modulename": "pydrex.tensors", "qualname": "voigt_matrix_to_vector", "kind": "function", "doc": "

    Create the 21-component Voigt vector equivalent to the 6x6 Voigt matrix.

    \n", "signature": "(matrix):", "funcdef": "def"}, "pydrex.tensors.voigt_vector_to_matrix": {"fullname": "pydrex.tensors.voigt_vector_to_matrix", "modulename": "pydrex.tensors", "qualname": "voigt_vector_to_matrix", "kind": "function", "doc": "

    Create the 6x6 matrix representation of the 21-component Voigt vector.

    \n\n

    See also: voigt_matrix_to_vector.

    \n", "signature": "(vector):", "funcdef": "def"}, "pydrex.tensors.rotate": {"fullname": "pydrex.tensors.rotate", "modulename": "pydrex.tensors", "qualname": "rotate", "kind": "function", "doc": "

    Rotate 4-th order tensor using a 3x3 rotation matrix.

    \n", "signature": "(tensor, rotation):", "funcdef": "def"}, "pydrex.utils": {"fullname": "pydrex.utils", "modulename": "pydrex.utils", "kind": "module", "doc": "
    \n

    PyDRex: Miscellaneous utility methods.

    \n
    \n"}, "pydrex.utils.remove_nans": {"fullname": "pydrex.utils.remove_nans", "modulename": "pydrex.utils", "qualname": "remove_nans", "kind": "function", "doc": "

    Remove NaN values from array.

    \n", "signature": "(a):", "funcdef": "def"}, "pydrex.utils.readable_timestamp": {"fullname": "pydrex.utils.readable_timestamp", "modulename": "pydrex.utils", "qualname": "readable_timestamp", "kind": "function", "doc": "

    Convert timestamp in fractional seconds to human readable format.

    \n", "signature": "(timestamp, tformat='%H:%M:%S'):", "funcdef": "def"}, "pydrex.utils.angle_fse_simpleshear": {"fullname": "pydrex.utils.angle_fse_simpleshear", "modulename": "pydrex.utils", "qualname": "angle_fse_simpleshear", "kind": "function", "doc": "

    Get angle of FSE long axis anticlockwise from the X axis in simple shear.

    \n", "signature": "(strain):", "funcdef": "def"}, "pydrex.velocity_gradients": {"fullname": "pydrex.velocity_gradients", "modulename": "pydrex.velocity_gradients", "kind": "module", "doc": "
    \n

    PyDRex: Steady-state solutions of velocity gradients for various flows.

    \n
    \n"}, "pydrex.velocity_gradients.simple_shear_2d": {"fullname": "pydrex.velocity_gradients.simple_shear_2d", "modulename": "pydrex.velocity_gradients", "qualname": "simple_shear_2d", "kind": "function", "doc": "

    Return simple shear velocity gradient callable f(x) for the given parameters.

    \n", "signature": "(direction, deformation_plane, strain_rate):", "funcdef": "def"}, "pydrex.visualisation": {"fullname": "pydrex.visualisation", "modulename": "pydrex.visualisation", "kind": "module", "doc": "
    \n

    PyDRex: Visualisation functions for test outputs and examples.

    \n
    \n"}, "pydrex.visualisation.polefigures": {"fullname": "pydrex.visualisation.polefigures", "modulename": "pydrex.visualisation", "qualname": "polefigures", "kind": "function", "doc": "

    Plot pole figures of a series of (Nx3x3) orientation matrix stacks.

    \n\n

    Produces [100], [010] and [001] pole figures for (resampled) orientations.\nFor the argument specification, check the output of pydrex-polefigures --help\non the command line.

    \n", "signature": "(\torientations,\tref_axes,\ti_range,\tdensity=False,\tsavefile='polefigures.png',\tstrains=None,\t**kwargs):", "funcdef": "def"}, "pydrex.visualisation.simple_shear_stationary_2d": {"fullname": "pydrex.visualisation.simple_shear_stationary_2d", "modulename": "pydrex.visualisation", "qualname": "simple_shear_stationary_2d", "kind": "function", "doc": "

    Plot diagnostics for stationary A-type olivine 2D simple shear box tests.

    \n", "signature": "(\tstrains,\tangles,\tpoint100_symmetry,\ttarget_angles=None,\tangles_err=None,\tsavefile='pydrex_simple_shear_stationary_2d.png',\tmarkers='.',\t\u03b8_fse=None,\tlabels=None,\ta_type=True):", "funcdef": "def"}, "pydrex.visualisation.corner_flow_2d": {"fullname": "pydrex.visualisation.corner_flow_2d", "modulename": "pydrex.visualisation", "qualname": "corner_flow_2d", "kind": "function", "doc": "

    Plot diagnostics for prescribed path 2D corner flow tests.

    \n", "signature": "(\tx_paths,\tz_paths,\tangles,\tindices,\tdirections,\ttimestamps,\txlabel,\tsavefile='pydrex_corner_2d.png',\tmarkers='.',\tlabels=None,\txlims=None,\tzlims=None,\tcpo_threshold=0.33,\t\u03a0_levels=(0.1, 0.5, 1, 2, 3),\ttick_formatter=<function <lambda>>):", "funcdef": "def"}, "pydrex.visualisation.single_olivineA_simple_shear": {"fullname": "pydrex.visualisation.single_olivineA_simple_shear", "modulename": "pydrex.visualisation", "qualname": "single_olivineA_simple_shear", "kind": "function", "doc": "

    \n", "signature": "(\tinitial_angles,\trotation_rates,\ttarget_rotation_rates,\tsavefile='single_olivineA_simple_shear.png'):", "funcdef": "def"}, "pydrex.vtk_helpers": {"fullname": "pydrex.vtk_helpers", "modulename": "pydrex.vtk_helpers", "kind": "module", "doc": "
    \n

    PyDRex: VTK wrappers and helper functions.

    \n
    \n"}, "pydrex.vtk_helpers.get_output": {"fullname": "pydrex.vtk_helpers.get_output", "modulename": "pydrex.vtk_helpers", "qualname": "get_output", "kind": "function", "doc": "

    Get a reference to an unstructured (XML) VTK grid stored in filename.

    \n\n

    Only supports modern vtk formats, i.e. .vtu and .pvtu files.

    \n", "signature": "(filename):", "funcdef": "def"}, "pydrex.vtk_helpers.read_tuple_array": {"fullname": "pydrex.vtk_helpers.read_tuple_array", "modulename": "pydrex.vtk_helpers", "qualname": "read_tuple_array", "kind": "function", "doc": "

    Read tuples from VTK points into a numpy array.

    \n\n

    Create a numpy array from tuples extracted from a vtkPointData object.\nThe returned array has a shape of either (N, d) for vector data,\nor (N, d, d) for matrix data, where N is the number of VTK nodes\nand d is the dimension (3 by default, or 2 if skip3 is True).

    \n\n

    If skip3 is True, the domain is assumed to be two-dimensional,\nand any values corresponding to a third dimension are skipped.

    \n\n

    Throws a LookupError if the fieldname string does not match any data.

    \n", "signature": "(points, fieldname, skip3=False):", "funcdef": "def"}, "pydrex.vtk_helpers.read_coord_array": {"fullname": "pydrex.vtk_helpers.read_coord_array", "modulename": "pydrex.vtk_helpers", "qualname": "read_coord_array", "kind": "function", "doc": "

    Read coordinates from vtkgrid into a numpy array.

    \n\n

    Create a numpy array with coordinates extracted from a vtk{Uns,S}tructuredGrid\nobject.

    \n\n

    If skip_empty is True (default), columns full of zeros are skipped.\nThese are often present in VTK output files from 2D simulations.

    \n\n

    If depth_conversion is True (default), the last nonzero column is assumed\nto contain height values which are converted to depth values by subtraction\nfrom the maximum value.

    \n", "signature": "(vtkgrid, skip_empty=True, convert_depth=True):", "funcdef": "def"}, "pydrex.vtk_helpers.get_steps": {"fullname": "pydrex.vtk_helpers.get_steps", "modulename": "pydrex.vtk_helpers", "qualname": "get_steps", "kind": "function", "doc": "

    Get forward difference of 2D array a, with repeated last elements.

    \n\n

    The repeated last elements ensure that output and input arrays have equal shape.

    \n\n

    Examples:

    \n\n
    \n
    >>> _get_steps(np.array([1, 2, 3, 4, 5]))\narray([[1, 1, 1, 1, 1]])\n
    \n
    \n\n
    \n
    >>> _get_steps(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10]]))\narray([[1, 1, 1, 1, 1],\n       [2, 3, 3, 1, 1]])\n
    \n
    \n\n
    \n
    >>> _get_steps(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10], [1, 0, 0, 0, np.inf]]))\narray([[ 1.,  1.,  1.,  1.,  1.],\n       [ 2.,  3.,  3.,  1.,  1.],\n       [-1.,  0.,  0., inf, nan]])\n
    \n
    \n", "signature": "(a):", "funcdef": "def"}, "tests": {"fullname": "tests", "modulename": "tests", "kind": "module", "doc": "

    PyDRex tests

    \n\n

    Running the tests requires pytest.\nFrom the root of the source tree, run pytest.\nTo print more verbose information (including INFO level logging),\nuse the flag pytest -v.\nThe custom optional flag --outdir=\"OUT\" can be used\nto produce output figures, data dumps and logs and save them in the directory \"OUT\".\nThe value \".\" can be used to save these in the current directory.\nLong tests/examples are disabled by default to prevent clogging up the CI,\nthey can be enabled with --runslow.\nTo mark a test as slow,\nadd the @pytest.mark.slow decorator above its method definition.

    \n\n

    Tests should not produce persistent output by default.\nIf a test method can produce such output for debugging, it should accept the outdir\npositional argument, and check if its value is not None.\nIf outdir is None then no persistent output should be produced.\nIf outdir is a directory path (string):

    \n\n\n"}, "tests.conftest": {"fullname": "tests.conftest", "modulename": "tests.conftest", "kind": "module", "doc": "
    \n

    Configuration and fixtures for PyDRex tests.

    \n
    \n"}, "tests.conftest.pytest_addoption": {"fullname": "tests.conftest.pytest_addoption", "modulename": "tests.conftest", "qualname": "pytest_addoption", "kind": "function", "doc": "

    \n", "signature": "(parser):", "funcdef": "def"}, "tests.conftest.PytestConsoleLogger": {"fullname": "tests.conftest.PytestConsoleLogger", "modulename": "tests.conftest", "qualname": "PytestConsoleLogger", "kind": "class", "doc": "

    Pytest plugin that allows linking up a custom console logger.

    \n", "bases": "_pytest.logging.LoggingPlugin"}, "tests.conftest.PytestConsoleLogger.__init__": {"fullname": "tests.conftest.PytestConsoleLogger.__init__", "modulename": "tests.conftest", "qualname": "PytestConsoleLogger.__init__", "kind": "function", "doc": "

    Create a new plugin to capture log messages.

    \n\n

    The formatter can be safely shared across all handlers so\ncreate a single one for the entire test session here.

    \n", "signature": "(config, *args, **kwargs)"}, "tests.conftest.PytestConsoleLogger.name": {"fullname": "tests.conftest.PytestConsoleLogger.name", "modulename": "tests.conftest", "qualname": "PytestConsoleLogger.name", "kind": "variable", "doc": "

    \n", "default_value": "'pytest-console-logger'"}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"fullname": "tests.conftest.PytestConsoleLogger.log_cli_handler", "modulename": "tests.conftest", "qualname": "PytestConsoleLogger.log_cli_handler", "kind": "variable", "doc": "

    \n"}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"fullname": "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown", "modulename": "tests.conftest", "qualname": "PytestConsoleLogger.pytest_runtest_teardown", "kind": "function", "doc": "

    \n", "signature": "(self, item):", "funcdef": "def"}, "tests.conftest.pytest_configure": {"fullname": "tests.conftest.pytest_configure", "modulename": "tests.conftest", "qualname": "pytest_configure", "kind": "function", "doc": "

    \n", "signature": "(config):", "funcdef": "def"}, "tests.conftest.pytest_collection_modifyitems": {"fullname": "tests.conftest.pytest_collection_modifyitems", "modulename": "tests.conftest", "qualname": "pytest_collection_modifyitems", "kind": "function", "doc": "

    \n", "signature": "(config, items):", "funcdef": "def"}, "tests.conftest.outdir": {"fullname": "tests.conftest.outdir", "modulename": "tests.conftest", "qualname": "outdir", "kind": "function", "doc": "

    \n", "signature": "(request):", "funcdef": "def"}, "tests.conftest.ncpus": {"fullname": "tests.conftest.ncpus", "modulename": "tests.conftest", "qualname": "ncpus", "kind": "function", "doc": "

    \n", "signature": "(request):", "funcdef": "def"}, "tests.conftest.console_handler": {"fullname": "tests.conftest.console_handler", "modulename": "tests.conftest", "qualname": "console_handler", "kind": "function", "doc": "

    \n", "signature": "(request):", "funcdef": "def"}, "tests.conftest.params_Fraters2021": {"fullname": "tests.conftest.params_Fraters2021", "modulename": "tests.conftest", "qualname": "params_Fraters2021", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2001_fig5_solid": {"fullname": "tests.conftest.params_Kaminski2001_fig5_solid", "modulename": "tests.conftest", "qualname": "params_Kaminski2001_fig5_solid", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"fullname": "tests.conftest.params_Kaminski2001_fig5_shortdash", "modulename": "tests.conftest", "qualname": "params_Kaminski2001_fig5_shortdash", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"fullname": "tests.conftest.params_Kaminski2001_fig5_longdash", "modulename": "tests.conftest", "qualname": "params_Kaminski2001_fig5_longdash", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"fullname": "tests.conftest.params_Kaminski2004_fig4_triangles", "modulename": "tests.conftest", "qualname": "params_Kaminski2004_fig4_triangles", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2004_fig4_squares": {"fullname": "tests.conftest.params_Kaminski2004_fig4_squares", "modulename": "tests.conftest", "qualname": "params_Kaminski2004_fig4_squares", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2004_fig4_circles": {"fullname": "tests.conftest.params_Kaminski2004_fig4_circles", "modulename": "tests.conftest", "qualname": "params_Kaminski2004_fig4_circles", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Hedjazian2017": {"fullname": "tests.conftest.params_Hedjazian2017", "modulename": "tests.conftest", "qualname": "params_Hedjazian2017", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.hkl": {"fullname": "tests.conftest.hkl", "modulename": "tests.conftest", "qualname": "hkl", "kind": "function", "doc": "

    \n", "signature": "(request):", "funcdef": "def"}, "tests.conftest.ref_axes": {"fullname": "tests.conftest.ref_axes", "modulename": "tests.conftest", "qualname": "ref_axes", "kind": "function", "doc": "

    \n", "signature": "(request):", "funcdef": "def"}, "tests.conftest.seeds": {"fullname": "tests.conftest.seeds", "modulename": "tests.conftest", "qualname": "seeds", "kind": "function", "doc": "

    1000 unique seeds for ensemble runs that need an RNG seed.

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.seed": {"fullname": "tests.conftest.seed", "modulename": "tests.conftest", "qualname": "seed", "kind": "function", "doc": "

    Default seed for test RNG.

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.seeds_nearX45": {"fullname": "tests.conftest.seeds_nearX45", "modulename": "tests.conftest", "qualname": "seeds_nearX45", "kind": "function", "doc": "

    41 seeds which have the initial hexagonal symmetry axis near 45\u00b0 from X.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_config": {"fullname": "tests.test_config", "modulename": "tests.test_config", "kind": "module", "doc": "
    \n

    PyDRex: tests for configuration file format.

    \n
    \n"}, "tests.test_config.test_specfile": {"fullname": "tests.test_config.test_specfile", "modulename": "tests.test_config", "qualname": "test_specfile", "kind": "function", "doc": "

    Test TOML spec file parsing.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_core": {"fullname": "tests.test_core", "modulename": "tests.test_core", "kind": "module", "doc": "
    \n

    PyDRex: tests for core D-Rex routines.

    \n
    \n"}, "tests.test_core.SUBDIR": {"fullname": "tests.test_core.SUBDIR", "modulename": "tests.test_core", "qualname": "SUBDIR", "kind": "variable", "doc": "

    \n", "default_value": "'core'"}, "tests.test_core.TestSimpleShearOPX": {"fullname": "tests.test_core.TestSimpleShearOPX", "modulename": "tests.test_core", "qualname": "TestSimpleShearOPX", "kind": "class", "doc": "

    Single-grain orthopyroxene crystallographic rotation rate tests.

    \n"}, "tests.test_core.TestSimpleShearOPX.class_id": {"fullname": "tests.test_core.TestSimpleShearOPX.class_id", "modulename": "tests.test_core", "qualname": "TestSimpleShearOPX.class_id", "kind": "variable", "doc": "

    \n", "default_value": "'simple_shear_OPX'"}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"fullname": "tests.test_core.TestSimpleShearOPX.test_shear_dudz", "modulename": "tests.test_core", "qualname": "TestSimpleShearOPX.test_shear_dudz", "kind": "function", "doc": "

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"fullname": "tests.test_core.TestSimpleShearOPX.test_shear_dvdx", "modulename": "tests.test_core", "qualname": "TestSimpleShearOPX.test_shear_dvdx", "kind": "function", "doc": "

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_core.TestSimpleShearOlivineA": {"fullname": "tests.test_core.TestSimpleShearOlivineA", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA", "kind": "class", "doc": "

    Single-grain A-type olivine analytical rotation rate tests.

    \n"}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"fullname": "tests.test_core.TestSimpleShearOlivineA.class_id", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA.class_id", "kind": "variable", "doc": "

    \n", "default_value": "'simple_shear_Ol'"}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"fullname": "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100", "kind": "function", "doc": "

    Single grain of olivine A-type, simple shear on (010)[100].

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 0 \\cr 2 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}$$

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"fullname": "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA.test_shear_dudz_slip_001_100", "kind": "function", "doc": "

    Single grain of olivine A-type, simple shear on (001)[100].

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 2 \\cr 0 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}$$

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"fullname": "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100", "kind": "function", "doc": "

    Single grain of olivine A-type, simple shear on (001)[100].

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 0 \\cr 0 & 0 & 0 \\cr 2 & 0 & 0 \\end{bmatrix}$$

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"fullname": "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001", "kind": "function", "doc": "

    Single grain of olivine A-type, simple shear on (010)[001].

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 0 \\cr 0 & 0 & 2 \\cr 0 & 0 & 0 \\end{bmatrix}$$

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_corner_flow_2d": {"fullname": "tests.test_corner_flow_2d", "modulename": "tests.test_corner_flow_2d", "kind": "module", "doc": "
    \n

    PyDRex: 2D corner flow tests

    \n
    \n\n

    The flow field is defined by:\n$$\n\\bm{u} = \\frac{dr}{dt} \\bm{\\hat{r}} + r \\frac{d\u03b8}{dt} \\bm{\\hat{\u03b8}}\n= \\frac{2 U}{\u03c0}(\u03b8\\sin\u03b8 - \\cos\u03b8) \u22c5 \\bm{\\hat{r}} + \\frac{2 U}{\u03c0}\u03b8\\cos\u03b8 \u22c5 \\bm{\\hat{\u03b8}}\n$$\nwhere $\u03b8 = 0$ points vertically downwards along the ridge axis\nand $\u03b8 = \u03c0/2$ points along the surface. $U$ is the half spreading velocity.\nStreamlines for the flow obey:\n$$\n\u03c8 = \\frac{2 U r}{\u03c0}\u03b8\\cos\u03b8\n$$\nand are related to the velocity through:\n$$\n\\bm{u} = -\\frac{1}{r} \u22c5 \\frac{d\u03c8}{d\u03b8} \u22c5 \\bm{\\hat{r}} + \\frac{d\u03c8}{dr}\\bm{\\hat{\u03b8}}\n$$\nConversion to Cartesian ($x,y,z$) coordinates yields:\n$$\n\\bm{u} = \\frac{2U}{\u03c0} \\left[\n\\tan^{-1}\\left(\\frac{x}{-z}\\right) + \\frac{xz}{x^{2} + z^{2}} \\right] \\bm{\\hat{x}} +\n\\frac{2U}{\u03c0} \\frac{z^{2}}{x^{2} + z^{2}} \\bm{\\hat{z}}\n$$\nwhere\n\\begin{align*}\nx &= r \\sin\u03b8 \\cr\nz &= -r \\cos\u03b8\n\\end{align*}\nand the velocity gradient is:\n$$\nL = \\frac{4 U}{\u03c0{(x^{2}+z^{2})}^{2}} \u22c5\n\\begin{bmatrix}\n -x^{2}z & 0 & x^{3} \\cr\n 0 & 0 & 0 \\cr\n -xz^{2} & 0 & x^{2}z\n\\end{bmatrix}\n$$

    \n\n

    See also Fig. 5 in Kaminski & Ribe, 2002.

    \n"}, "tests.test_corner_flow_2d.get_velocity": {"fullname": "tests.test_corner_flow_2d.get_velocity", "modulename": "tests.test_corner_flow_2d", "qualname": "get_velocity", "kind": "function", "doc": "

    Return velocity in a corner flow (Cartesian coordinate basis).

    \n", "signature": "(x, z, plate_velocity):", "funcdef": "def"}, "tests.test_corner_flow_2d.get_velocity_gradient": {"fullname": "tests.test_corner_flow_2d.get_velocity_gradient", "modulename": "tests.test_corner_flow_2d", "qualname": "get_velocity_gradient", "kind": "function", "doc": "

    Return velocity gradient in a corner flow (Cartesian coordinate basis).

    \n", "signature": "(x, z, plate_velocity):", "funcdef": "def"}, "tests.test_corner_flow_2d.TestOlivineA": {"fullname": "tests.test_corner_flow_2d.TestOlivineA", "modulename": "tests.test_corner_flow_2d", "qualname": "TestOlivineA", "kind": "class", "doc": "

    Tests for pure A-type olivine polycrystals in 2D corner flows.

    \n"}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"fullname": "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic", "modulename": "tests.test_corner_flow_2d", "qualname": "TestOlivineA.test_corner_prescribed_init_isotropic", "kind": "function", "doc": "

    Test CPO evolution in prescribed 2D corner flow.

    \n\n

    Initial condition: random orientations and uniform volumes in all Minerals.

    \n\n

    Plate velocity: 2 cm/yr

    \n", "signature": "(self, params_Kaminski2001_fig5_shortdash, seed, outdir):", "funcdef": "def"}, "tests.test_diagnostics": {"fullname": "tests.test_diagnostics", "modulename": "tests.test_diagnostics", "kind": "module", "doc": "
    \n

    PyDRex: tests for texture diagnostics.

    \n
    \n"}, "tests.test_diagnostics.TestSymmetryPGR": {"fullname": "tests.test_diagnostics.TestSymmetryPGR", "modulename": "tests.test_diagnostics", "qualname": "TestSymmetryPGR", "kind": "class", "doc": "

    Test Point-Girdle-Random (eigenvalue) symmetry diagnostics.

    \n"}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"fullname": "tests.test_diagnostics.TestSymmetryPGR.test_pointX", "modulename": "tests.test_diagnostics", "qualname": "TestSymmetryPGR.test_pointX", "kind": "function", "doc": "

    Test diagnostics of point symmetry aligned to the X axis.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"fullname": "tests.test_diagnostics.TestSymmetryPGR.test_random", "modulename": "tests.test_diagnostics", "qualname": "TestSymmetryPGR.test_random", "kind": "function", "doc": "

    Test diagnostics of random grain orientations.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"fullname": "tests.test_diagnostics.TestSymmetryPGR.test_girdle", "modulename": "tests.test_diagnostics", "qualname": "TestSymmetryPGR.test_girdle", "kind": "function", "doc": "

    Test diagnostics of girdled orientations.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestVolumeWeighting": {"fullname": "tests.test_diagnostics.TestVolumeWeighting", "modulename": "tests.test_diagnostics", "qualname": "TestVolumeWeighting", "kind": "class", "doc": "

    Tests for volumetric resampling of orientation data.

    \n"}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"fullname": "tests.test_diagnostics.TestVolumeWeighting.test_upsample", "modulename": "tests.test_diagnostics", "qualname": "TestVolumeWeighting.test_upsample", "kind": "function", "doc": "

    Test upsampling of the raw orientation data.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"fullname": "tests.test_diagnostics.TestVolumeWeighting.test_downsample", "modulename": "tests.test_diagnostics", "qualname": "TestVolumeWeighting.test_downsample", "kind": "function", "doc": "

    Test downsampling of orientation data.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestBinghamStats": {"fullname": "tests.test_diagnostics.TestBinghamStats", "modulename": "tests.test_diagnostics", "qualname": "TestBinghamStats", "kind": "class", "doc": "

    Tests for antipodally symmetric (bingham) statistics.

    \n"}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"fullname": "tests.test_diagnostics.TestBinghamStats.test_average_0", "modulename": "tests.test_diagnostics", "qualname": "TestBinghamStats.test_average_0", "kind": "function", "doc": "

    Test bingham average of vectors aligned to the reference frame.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"fullname": "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z", "modulename": "tests.test_diagnostics", "qualname": "TestBinghamStats.test_average_twopoles90Z", "kind": "function", "doc": "

    Test bingham average of vectors rotated by \u00b190\u00b0 around Z.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"fullname": "tests.test_diagnostics.TestBinghamStats.test_average_spread10X", "modulename": "tests.test_diagnostics", "qualname": "TestBinghamStats.test_average_spread10X", "kind": "function", "doc": "

    Test bingham average of vectors spread within 10\u00b0 of the \u00b1X-axis.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestMIndex": {"fullname": "tests.test_diagnostics.TestMIndex", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex", "kind": "class", "doc": "

    Tests for the M-index texture strength diagnostic.

    \n"}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"fullname": "tests.test_diagnostics.TestMIndex.test_texture_uniform", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_texture_uniform", "kind": "function", "doc": "

    Test M-index for random (uniform distribution) grain orientations.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"fullname": "tests.test_diagnostics.TestMIndex.test_texture_spread10X", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_texture_spread10X", "kind": "function", "doc": "

    Test M-index for grains spread within 10\u00b0 of the \u00b1X axis.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"fullname": "tests.test_diagnostics.TestMIndex.test_texture_spread30X", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_texture_spread30X", "kind": "function", "doc": "

    Test M-index for grains spread within 45\u00b0 of the \u00b1X axis.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"fullname": "tests.test_diagnostics.TestMIndex.test_textures_increasing", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_textures_increasing", "kind": "function", "doc": "

    Test M-index for textures of increasing strength.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"fullname": "tests.test_diagnostics.TestMIndex.test_texture_girdle", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_texture_girdle", "kind": "function", "doc": "

    Test M-index for girdled texture.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_doctests": {"fullname": "tests.test_doctests", "modulename": "tests.test_doctests", "kind": "module", "doc": "
    \n

    PyDRex: Run doctests for applicable modules.

    \n
    \n"}, "tests.test_doctests.test_doctests": {"fullname": "tests.test_doctests.test_doctests", "modulename": "tests.test_doctests", "qualname": "test_doctests", "kind": "function", "doc": "

    Run doctests as well.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_geometry": {"fullname": "tests.test_geometry", "modulename": "tests.test_geometry", "kind": "module", "doc": "
    \n

    PyDRex: Tests for geometric conversions and projections.

    \n
    \n"}, "tests.test_geometry.test_poles_example": {"fullname": "tests.test_geometry.test_poles_example", "modulename": "tests.test_geometry", "qualname": "test_poles_example", "kind": "function", "doc": "

    Test poles (directions of crystallographic axes) of example data.

    \n", "signature": "(hkl, ref_axes):", "funcdef": "def"}, "tests.test_geometry.test_lambert_equal_area": {"fullname": "tests.test_geometry.test_lambert_equal_area", "modulename": "tests.test_geometry", "qualname": "test_lambert_equal_area", "kind": "function", "doc": "

    Test Lambert equal area projection.

    \n", "signature": "(seed):", "funcdef": "def"}, "tests.test_scsv": {"fullname": "tests.test_scsv", "modulename": "tests.test_scsv", "kind": "module", "doc": "
    \n

    PyDRex: tests for the SCSV plain text file format.

    \n
    \n"}, "tests.test_scsv.test_validate_schema": {"fullname": "tests.test_scsv.test_validate_schema", "modulename": "tests.test_scsv", "qualname": "test_validate_schema", "kind": "function", "doc": "

    Test SCSV schema validation.

    \n", "signature": "(console_handler):", "funcdef": "def"}, "tests.test_scsv.test_read_specfile": {"fullname": "tests.test_scsv.test_read_specfile", "modulename": "tests.test_scsv", "qualname": "test_read_specfile", "kind": "function", "doc": "

    Test SCSV spec file parsing.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_scsv.test_save_specfile": {"fullname": "tests.test_scsv.test_save_specfile", "modulename": "tests.test_scsv", "qualname": "test_save_specfile", "kind": "function", "doc": "

    Test SCSV spec file reproduction.

    \n", "signature": "(outdir):", "funcdef": "def"}, "tests.test_scsv.test_read_Kaminski2002": {"fullname": "tests.test_scsv.test_read_Kaminski2002", "modulename": "tests.test_scsv", "qualname": "test_read_Kaminski2002", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.test_scsv.test_read_Kaminski2004": {"fullname": "tests.test_scsv.test_read_Kaminski2004", "modulename": "tests.test_scsv", "qualname": "test_read_Kaminski2004", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.test_scsv.test_read_Skemer2016": {"fullname": "tests.test_scsv.test_read_Skemer2016", "modulename": "tests.test_scsv", "qualname": "test_read_Skemer2016", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.test_simple_shear_2d": {"fullname": "tests.test_simple_shear_2d", "modulename": "tests.test_simple_shear_2d", "kind": "module", "doc": "
    \n

    PyDRex: 2D simple shear tests.

    \n
    \n"}, "tests.test_simple_shear_2d.SUBDIR": {"fullname": "tests.test_simple_shear_2d.SUBDIR", "modulename": "tests.test_simple_shear_2d", "qualname": "SUBDIR", "kind": "variable", "doc": "

    \n", "default_value": "'2d_simple_shear'"}, "tests.test_simple_shear_2d.TestOlivineA": {"fullname": "tests.test_simple_shear_2d.TestOlivineA", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA", "kind": "class", "doc": "

    Tests for A-type olivine polycrystals in 2D simple shear.

    \n"}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.class_id", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.class_id", "kind": "variable", "doc": "

    \n", "default_value": "'olivineA'"}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.get_position", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.get_position", "kind": "function", "doc": "

    \n", "signature": "(cls, t):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.run": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.run", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.run", "kind": "function", "doc": "

    Reusable logic for 2D olivine simple shear tests.

    \n\n

    Always returns a tuple with 4 elements\n(mineral, mean_angles, texture_symmetry, \u03b8_fse),\nbut if return_fse is None then the last tuple element is also None.

    \n", "signature": "(\tcls,\tparams,\ttimestamps,\tstrain_rate,\tget_velocity_gradient,\tshear_direction,\tseed=None,\tlog_param=None,\tuse_bingham_average=False,\treturn_fse=True):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.postprocess", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.postprocess", "kind": "function", "doc": "

    Reusable postprocessing routine for olivine 2D simple shear simulations.

    \n", "signature": "(\tcls,\tstrains,\tangles,\tpoint100_symmetry,\t\u03b8_fse,\tlabels,\tmarkers,\toutdir,\tout_basepath,\ttarget_interpolator=None):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.interp_GBM_Kaminski2001", "kind": "function", "doc": "

    Interpolate Kaminski & Ribe, 2001 data to get target angles at strains.

    \n", "signature": "(cls, strains):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.interp_GBS_Kaminski2004", "kind": "function", "doc": "

    Interpolate Kaminski & Ribe, 2001 data to get target angles at strains.

    \n", "signature": "(cls, strains):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_dvdx_GBM_ensemble", "kind": "function", "doc": "

    Test a-axis alignment to shear in Y direction (init. SCCS near 45\u00b0 from X).

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 0 \\cr 2 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}$$

    \n\n

    Tests the effect of grain boundary migration, similar to Fig. 5 in\nKaminski 2001.

    \n", "signature": "(\tself,\tparams_Kaminski2001_fig5_solid,\tparams_Kaminski2001_fig5_shortdash,\tparams_Kaminski2001_fig5_longdash,\tseeds_nearX45,\toutdir,\tncpus):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_dudz_GBS_ensemble", "kind": "function", "doc": "

    Test a-axis alignment to shear in X direction (init. SCCS near 45\u00b0 from X).

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 2 \\cr 0 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}$$

    \n", "signature": "(\tself,\tparams_Kaminski2004_fig4_circles,\tparams_Kaminski2004_fig4_squares,\tparams_Kaminski2004_fig4_triangles,\tseeds_nearX45,\toutdir,\tncpus):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_boundary_mobility", "kind": "function", "doc": "

    Test that the grain boundary mobility parameter has an effect.

    \n", "signature": "(self, seed, outdir):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_boudary_sliding", "kind": "function", "doc": "

    Test that the grain boundary sliding parameter has an effect.

    \n", "signature": "(self, seed, outdir):", "funcdef": "def"}, "tests.test_tensors": {"fullname": "tests.test_tensors", "modulename": "tests.test_tensors", "kind": "module", "doc": "
    \n

    PyDRex: Tests for tensor operations.

    \n
    \n"}, "tests.test_tensors.test_voigt_decompose": {"fullname": "tests.test_tensors.test_voigt_decompose", "modulename": "tests.test_tensors", "qualname": "test_voigt_decompose", "kind": "function", "doc": "

    Test decomposition of Voigt 6x6 matrix into distinct contractions.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_tensors.test_voigt_tensor": {"fullname": "tests.test_tensors.test_voigt_tensor", "modulename": "tests.test_tensors", "qualname": "test_voigt_tensor", "kind": "function", "doc": "

    Test elasticity tensor <-> 6x6 Voigt matrix conversions.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_tensors.test_voigt_to_vector": {"fullname": "tests.test_tensors.test_voigt_to_vector", "modulename": "tests.test_tensors", "qualname": "test_voigt_to_vector", "kind": "function", "doc": "

    Test Voigt vector construction.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_vtk_helpers": {"fullname": "tests.test_vtk_helpers", "modulename": "tests.test_vtk_helpers", "kind": "module", "doc": "
    \n

    PyDRex: Tests for VTK readers and helpers.

    \n
    \n"}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"fullname": "tests.test_vtk_helpers.test_vtk_2d_array_shapes", "modulename": "tests.test_vtk_helpers", "qualname": "test_vtk_2d_array_shapes", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}}, "docInfo": {"pydrex": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 1384}, "pydrex.axes": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "pydrex.axes.PoleFigureAxes": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 54}, "pydrex.axes.PoleFigureAxes.name": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "pydrex.axes.PoleFigureAxes.polefigure": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 92, "bases": 0, "doc": 148}, "pydrex.axes.PoleFigureAxes.set": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 833, "bases": 0, "doc": 251}, "pydrex.cli": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "pydrex.cli.PoleFigureVisualiser": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 48}, "pydrex.cli.CLI_HANDLERS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 81}, "pydrex.core.PERMUTATION_SYMBOL": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 57, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralPhase": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 6}, "pydrex.core.MineralPhase.olivine": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralPhase.enstatite": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.DeformationRegime": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 6}, "pydrex.core.DeformationRegime.diffusion": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.DeformationRegime.dislocation": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.DeformationRegime.byerlee": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.DeformationRegime.max_viscosity": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 49}, "pydrex.core.MineralFabric.olivine_A": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric.olivine_B": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric.olivine_C": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric.olivine_D": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric.olivine_E": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric.enstatite_AB": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.get_crss": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 55}, "pydrex.core.derivatives": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 86, "bases": 0, "doc": 221}, "pydrex.diagnostics": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 104}, "pydrex.diagnostics.anisotropy": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 89}, "pydrex.diagnostics.bingham_average": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 62}, "pydrex.diagnostics.finite_strain": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 43}, "pydrex.diagnostics.symmetry": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 93}, "pydrex.diagnostics.misorientation_index": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 68}, "pydrex.diagnostics.coaxial_index": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 88}, "pydrex.diagnostics.misorientation_angles": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 82}, "pydrex.diagnostics.smallest_angle": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 33}, "pydrex.exceptions": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 16}, "pydrex.exceptions.Error": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 9}, "pydrex.exceptions.ConfigError": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 1, "doc": 20}, "pydrex.exceptions.ConfigError.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "pydrex.exceptions.ConfigError.message": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.exceptions.MeshError": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 1, "doc": 20}, "pydrex.exceptions.MeshError.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "pydrex.exceptions.MeshError.message": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.exceptions.IterationError": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 1, "doc": 20}, "pydrex.exceptions.IterationError.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "pydrex.exceptions.IterationError.message": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.exceptions.SCSVError": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 1, "doc": 26}, "pydrex.exceptions.SCSVError.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "pydrex.exceptions.SCSVError.message": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 15}, "pydrex.geometry.to_cartesian": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 69}, "pydrex.geometry.to_spherical": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 56}, "pydrex.geometry.poles": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 52, "bases": 0, "doc": 115}, "pydrex.geometry.lambert_equal_area": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 76}, "pydrex.geometry.shirley_concentric_squaredisk": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 751}, "pydrex.interpolations": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "pydrex.interpolations.default_interpolators": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 101}, "pydrex.interpolations.create_interpolators": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 123}, "pydrex.interpolations.get_velocity": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 10}, "pydrex.interpolations.get_velocity_gradient": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 13}, "pydrex.interpolations.get_deformation_mechanism": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 13}, "pydrex.io": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 144}, "pydrex.io.DEFAULT_PARAMS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 66, "signature": 0, "bases": 0, "doc": 6}, "pydrex.io.SCSV_TYPEMAP": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 52, "signature": 0, "bases": 0, "doc": 13}, "pydrex.io.read_scsv": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 23}, "pydrex.io.write_scsv_header": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 88}, "pydrex.io.save_scsv": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 78}, "pydrex.io.parse_config": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 10}, "pydrex.io.read_mesh": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 14}, "pydrex.io.resolve_path": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 49}, "pydrex.io.stringify": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "pydrex.io.data": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 11}, "pydrex.logger": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 758}, "pydrex.logger.ConsoleFormatter": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 10}, "pydrex.logger.ConsoleFormatter.colorfmt": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "pydrex.logger.ConsoleFormatter.format": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 92}, "pydrex.logger.LOGGER": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.logger.LOGGER_CONSOLE": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "pydrex.logger.handler_level": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 64}, "pydrex.logger.logfile_enable": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 17}, "pydrex.logger.critical": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 9}, "pydrex.logger.error": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 9}, "pydrex.logger.warning": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 9}, "pydrex.logger.info": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 9}, "pydrex.logger.debug": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 9}, "pydrex.logger.exception": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 26}, "pydrex.logger.quiet_aliens": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 16}, "pydrex.minerals": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "pydrex.minerals.OLIVINE_STIFFNESS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 74, "signature": 0, "bases": 0, "doc": 43}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 74, "signature": 0, "bases": 0, "doc": 43}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 52, "signature": 0, "bases": 0, "doc": 15}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 26, "signature": 0, "bases": 0, "doc": 44}, "pydrex.minerals.voigt_averages": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 100}, "pydrex.minerals.Mineral": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 964}, "pydrex.minerals.Mineral.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 250, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.phase": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.fabric": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.regime": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.n_grains": {"qualname": 3, "fullname": 5, "annotation": 2, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.fractions_init": {"qualname": 3, "fullname": 5, "annotation": 3, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.orientations_init": {"qualname": 3, "fullname": 5, "annotation": 3, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.fractions": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.orientations": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.seed": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.update_orientations": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 47, "bases": 0, "doc": 179}, "pydrex.minerals.Mineral.save": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 78}, "pydrex.minerals.Mineral.load": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 50}, "pydrex.minerals.Mineral.from_file": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 54}, "pydrex.mock": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "pydrex.mock.PARAMS_FRATERS2021": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 67, "signature": 0, "bases": 0, "doc": 17}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 64, "signature": 0, "bases": 0, "doc": 20}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 64, "signature": 0, "bases": 0, "doc": 20}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 64, "signature": 0, "bases": 0, "doc": 20}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 65, "signature": 0, "bases": 0, "doc": 22}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 65, "signature": 0, "bases": 0, "doc": 22}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 64, "signature": 0, "bases": 0, "doc": 21}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 67, "signature": 0, "bases": 0, "doc": 19}, "pydrex.pathlines": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "pydrex.pathlines.get_pathline": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 129}, "pydrex.stats": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 15}, "pydrex.stats.resample_orientations": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 37, "bases": 0, "doc": 60}, "pydrex.stats.misorientations_random": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 150}, "pydrex.stats.point_density": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 85, "bases": 0, "doc": 189}, "pydrex.stats.exponential_kamb": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 11}, "pydrex.stats.linear_inverse_kamb": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 11}, "pydrex.stats.square_inverse_kamb": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 12}, "pydrex.stats.kamb_count": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 12}, "pydrex.stats.schmidt_count": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 11}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 56, "signature": 0, "bases": 0, "doc": 58}, "pydrex.tensors": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 56}, "pydrex.tensors.PERMUTATION_SYMBOL": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 57, "signature": 0, "bases": 0, "doc": 3}, "pydrex.tensors.voigt_decompose": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 80}, "pydrex.tensors.hex_projector": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 22}, "pydrex.tensors.upper_tri_to_symmetric": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 267}, "pydrex.tensors.voigt_to_elastic_tensor": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 25}, "pydrex.tensors.elastic_tensor_to_voigt": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 16}, "pydrex.tensors.voigt_matrix_to_vector": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "pydrex.tensors.voigt_vector_to_matrix": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 25}, "pydrex.tensors.rotate": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 13}, "pydrex.utils": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 11}, "pydrex.utils.remove_nans": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "pydrex.utils.readable_timestamp": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 12}, "pydrex.utils.angle_fse_simpleshear": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 17}, "pydrex.velocity_gradients": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 17}, "pydrex.velocity_gradients.simple_shear_2d": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 23, "bases": 0, "doc": 15}, "pydrex.visualisation": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 15}, "pydrex.visualisation.polefigures": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 72, "bases": 0, "doc": 44}, "pydrex.visualisation.simple_shear_stationary_2d": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 118, "bases": 0, "doc": 15}, "pydrex.visualisation.corner_flow_2d": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 197, "bases": 0, "doc": 12}, "pydrex.visualisation.single_olivineA_simple_shear": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 47, "bases": 0, "doc": 3}, "pydrex.vtk_helpers": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "pydrex.vtk_helpers.get_output": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 31}, "pydrex.vtk_helpers.read_tuple_array": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 116}, "pydrex.vtk_helpers.read_coord_array": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 89}, "pydrex.vtk_helpers.get_steps": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 387}, "tests": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 329}, "tests.conftest": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "tests.conftest.pytest_addoption": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.PytestConsoleLogger": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 13}, "tests.conftest.PytestConsoleLogger.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 23, "bases": 0, "doc": 34}, "tests.conftest.PytestConsoleLogger.name": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.conftest.pytest_configure": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.pytest_collection_modifyitems": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.conftest.outdir": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.ncpus": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.console_handler": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.params_Fraters2021": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2001_fig5_solid": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2004_fig4_squares": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2004_fig4_circles": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Hedjazian2017": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.hkl": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.ref_axes": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.seeds": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 14}, "tests.conftest.seed": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 8}, "tests.conftest.seeds_nearX45": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 16}, "tests.test_config": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "tests.test_config.test_specfile": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 8}, "tests.test_core": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_core.SUBDIR": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestSimpleShearOPX": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "tests.test_core.TestSimpleShearOPX.class_id": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.test_core.TestSimpleShearOlivineA": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 38}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 38}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 38}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 38}, "tests.test_corner_flow_2d": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 177}, "tests.test_corner_flow_2d.get_velocity": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 12}, "tests.test_corner_flow_2d.get_velocity_gradient": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 13}, "tests.test_corner_flow_2d.TestOlivineA": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"qualname": 6, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 29, "bases": 0, "doc": 32}, "tests.test_diagnostics": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_diagnostics.TestSymmetryPGR": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 13}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 9}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "tests.test_diagnostics.TestVolumeWeighting": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 10}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "tests.test_diagnostics.TestBinghamStats": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 9}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 13}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 13}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "tests.test_diagnostics.TestMIndex": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 11}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 12}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 11}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 9}, "tests.test_doctests": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "tests.test_doctests.test_doctests": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 7}, "tests.test_geometry": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_geometry.test_poles_example": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 12}, "tests.test_geometry.test_lambert_equal_area": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "tests.test_scsv": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 16}, "tests.test_scsv.test_validate_schema": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 7}, "tests.test_scsv.test_read_specfile": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 8}, "tests.test_scsv.test_save_specfile": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "tests.test_scsv.test_read_Kaminski2002": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.test_scsv.test_read_Kaminski2004": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.test_scsv.test_read_Skemer2016": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.test_simple_shear_2d": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_simple_shear_2d.SUBDIR": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_simple_shear_2d.TestOlivineA": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.test_simple_shear_2d.TestOlivineA.run": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 94, "bases": 0, "doc": 44}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 75, "bases": 0, "doc": 12}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 17}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 17}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"qualname": 5, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 58, "bases": 0, "doc": 61}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"qualname": 5, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 58, "bases": 0, "doc": 42}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 13}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 13}, "tests.test_tensors": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_tensors.test_voigt_decompose": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 12}, "tests.test_tensors.test_voigt_tensor": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 12}, "tests.test_tensors.test_voigt_to_vector": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 7}, "tests.test_vtk_helpers": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"qualname": 5, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}}, "length": 251, "save": true}, "index": {"qualname": {"root": {"0": {"0": {"1": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "1": {"0": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 1}, "1": {"0": {"0": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 4}}, "docs": {"pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 6, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 4}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1, "x": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}}, "df": 2}}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}}, "df": 17}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.parse_config": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.hex_projector": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.phase": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.pytest_addoption": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}, "tests.conftest.pytest_configure": {"tf": 1}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 4, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}}}}}, "n": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.ncpus": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "x": {"4": {"5": {"docs": {"tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.seed": {"tf": 1}, "tests.conftest.seed": {"tf": 1}}, "df": 2, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}}, "df": 2}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.stringify": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}}, "df": 3}}}}}}}, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.schmidt_count": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_config.test_specfile": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 3}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"1": {"0": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}}, "df": 2}}, "docs": {}, "df": 0}, "3": {"0": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 9}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 3}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 5}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}}, "df": 2}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"2": {"0": {"1": {"6": {"docs": {"tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}, "c": {"docs": {"pydrex.core.MineralFabric.olivine_C": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}}, "df": 2}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}}, "df": 3}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.get_crss": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.critical": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.parse_config": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.ConfigError.message": {"tf": 1}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.pytest_configure": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.LOGGER_CONSOLE": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 2}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.handler_level": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"2": {"0": {"1": {"7": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}, "x": {"docs": {"pydrex.tensors.hex_projector": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "l": {"docs": {"tests.conftest.hkl": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 15, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}}, "df": 3}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}}, "df": 7}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.ConfigError.message": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}}, "df": 4}}}}, "h": {"docs": {"pydrex.io.read_mesh": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}}, "df": 3}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 9, "a": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 4}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.outdir": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.Error": {"tf": 1}, "pydrex.logger.error": {"tf": 1}}, "df": 2}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}}}, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.exception": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {"pydrex.core.MineralFabric.olivine_D": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.debug": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 2}}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.diffusion": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.dislocation": {"tf": 1}}, "df": 1}}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.io.data": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 3}}}, "v": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 3}, "z": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_doctests.test_doctests": {"tf": 1}}, "df": 1}}}}}}}}, "b": {"docs": {"pydrex.core.MineralFabric.olivine_B": {"tf": 1}}, "df": 1, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime.byerlee": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 4}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 3}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 9}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "k": {"docs": {"tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 1}}}, "a": {"docs": {"pydrex.core.MineralFabric.olivine_A": {"tf": 1}}, "df": 1, "b": {"docs": {"pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}}, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.ref_axes": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.pytest_addoption": {"tf": 1}}, "df": 1}}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 10}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 2}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 2}}}}}, "b": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 2}, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 1}}, "g": {"4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 6}, "5": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}}, "df": 6}, "docs": {}, "df": 0}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals.Mineral.fabric": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 9}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 2, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.logger.info": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}}, "df": 3}}}}}}}}}}}}}, "d": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}}, "df": 3}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 8}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_config.test_specfile": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 38, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}}, "df": 4}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}}, "df": 4}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 13}}}}}}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 4}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 6}}}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 4, "s": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"9": {"0": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}}}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {"tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1}}, "df": 2}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.load": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 8, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.regime": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"tests.conftest.ref_axes": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.rotate": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 1}}}}}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.warning": {"tf": 1}}, "df": 1}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"2": {"0": {"0": {"1": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}}, "df": 7}, "2": {"docs": {"tests.test_scsv.test_read_Kaminski2002": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 8}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "b": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}}}}, "fullname": {"root": {"0": {"0": {"1": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "1": {"0": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 1}, "1": {"0": {"0": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 22}}, "docs": {"pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 6, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.cli.CLI_HANDLERS": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.exceptions": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.ConfigError.message": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.mock": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.utils": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "pydrex.vtk_helpers": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 157}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.pytest_addoption": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}, "tests.conftest.pytest_configure": {"tf": 1}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 4, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 4}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1, "x": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}}, "df": 2}}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}}, "df": 17}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.parse_config": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.pathlines": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.hex_projector": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.phase": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pydrex.core.MineralFabric.olivine_A": {"tf": 1}}, "df": 1, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "tests.conftest.ref_axes": {"tf": 1}}, "df": 6}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 1}}}, "b": {"docs": {"pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.pytest_addoption": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.ncpus": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "x": {"4": {"5": {"docs": {"tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.seed": {"tf": 1}, "tests.conftest.seed": {"tf": 1}}, "df": 2, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}}, "df": 2}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.stringify": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 10}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 11, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}}, "df": 3}}}}}}}, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.schmidt_count": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_config.test_specfile": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 3}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"1": {"0": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}}, "df": 2}}, "docs": {}, "df": 0}, "3": {"0": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 22}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 3}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 5}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 16, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}}, "df": 2}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"2": {"0": {"1": {"6": {"docs": {"tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}, "c": {"docs": {"pydrex.core.MineralFabric.olivine_C": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.cli.CLI_HANDLERS": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}}, "df": 4}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}}, "df": 3}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_core.SUBDIR": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 31}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1.4142135623730951}}, "df": 6}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.parse_config": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.ConfigError.message": {"tf": 1}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.pytest_configure": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest": {"tf": 1}, "tests.conftest.pytest_addoption": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}, "tests.conftest.pytest_configure": {"tf": 1}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1}, "tests.conftest.outdir": {"tf": 1}, "tests.conftest.ncpus": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}, "tests.conftest.hkl": {"tf": 1}, "tests.conftest.ref_axes": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 25}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.LOGGER_CONSOLE": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.get_crss": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.critical": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 2}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.handler_level": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"2": {"0": {"1": {"7": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}, "x": {"docs": {"pydrex.tensors.hex_projector": {"tf": 1}}, "df": 1}, "l": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 7}}}}}}, "k": {"docs": {}, "df": 0, "l": {"docs": {"tests.conftest.hkl": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 15, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}}, "df": 3}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}}, "df": 7}}}}}}, "s": {"docs": {"pydrex.minerals": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 21}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.ConfigError.message": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}}, "df": 4}}}}, "h": {"docs": {"pydrex.io.read_mesh": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}}, "df": 3}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.mock": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 9, "a": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 4}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.outdir": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}}}}}, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.exception": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.exceptions": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.ConfigError.message": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}}, "df": 14}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.Error": {"tf": 1}, "pydrex.logger.error": {"tf": 1}}, "df": 2}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {"pydrex.core.MineralFabric.olivine_D": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.debug": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 2}}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.diffusion": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.dislocation": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 27}}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.io.data": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 3}}}, "v": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 3}, "z": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "b": {"docs": {"pydrex.core.MineralFabric.olivine_B": {"tf": 1}}, "df": 1, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime.byerlee": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 5}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 6}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 3}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 9}}}}, "t": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.vtk_helpers": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1.4142135623730951}}, "df": 7}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 10}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 9}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.velocity_gradients": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 2}}}}}, "b": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 2}, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 1}}, "g": {"4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 6}, "5": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}}, "df": 6}, "docs": {}, "df": 0}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals.Mineral.fabric": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 6}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 9}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 2, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 6}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.logger.info": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}}, "df": 3}}}}}}}}}}}}}, "o": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.io.data": {"tf": 1}}, "df": 11}, "d": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}}, "df": 3}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 8}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.tensors": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 14}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1.4142135623730951}, "tests.test_core": {"tf": 1}, "tests.test_core.SUBDIR": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1.4142135623730951}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1.4142135623730951}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1.4142135623730951}, "tests.test_geometry": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1.4142135623730951}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1.4142135623730951}, "tests.test_scsv": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1.4142135623730951}, "tests.test_scsv.test_read_specfile": {"tf": 1.4142135623730951}, "tests.test_scsv.test_save_specfile": {"tf": 1.4142135623730951}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1.4142135623730951}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1.4142135623730951}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1.4142135623730951}, "tests.test_tensors": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1.4142135623730951}, "tests.test_tensors.test_voigt_tensor": {"tf": 1.4142135623730951}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1.4142135623730951}, "tests.test_vtk_helpers": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1.4142135623730951}}, "df": 68, "s": {"docs": {"tests": {"tf": 1}, "tests.conftest": {"tf": 1}, "tests.conftest.pytest_addoption": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}, "tests.conftest.pytest_configure": {"tf": 1}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1}, "tests.conftest.outdir": {"tf": 1}, "tests.conftest.ncpus": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}, "tests.conftest.hkl": {"tf": 1}, "tests.conftest.ref_axes": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_core.SUBDIR": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 94, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}}, "df": 4}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}}, "df": 4}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 13}}}}}}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 4}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 6}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 1}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 4, "s": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"9": {"0": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}}}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {"tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.LOGGER": {"tf": 1.4142135623730951}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 15}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.load": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 8, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.regime": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"tests.conftest.ref_axes": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.rotate": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 1}}}}}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.warning": {"tf": 1}}, "df": 1}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 4}}}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"2": {"0": {"0": {"1": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}}, "df": 7}, "2": {"docs": {"tests.test_scsv.test_read_Kaminski2002": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 8}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "b": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}}}}, "annotation": {"root": {"docs": {"pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}}, "df": 9, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}}, "df": 5}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}}, "df": 2}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}}, "df": 2}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}}, "df": 2}}}}}}, "default_value": {"root": {"0": {"1": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 4.58257569495584}, "pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 2.23606797749979}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 4.898979485566356}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 4.898979485566356}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 4}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 2}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 2}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 2}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 4.58257569495584}}, "df": 20}, "1": {"0": {"0": {"0": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "2": {"2": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "5": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 5}, "docs": {}, "df": 0}, "docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 2.449489742783178}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 2.8284271247461903}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 2.449489742783178}}, "df": 19}, "2": {"0": {"0": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 1}, "7": {"1": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "1": {"9": {"7": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "5": {"0": {"0": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 7, "d": {"docs": {"tests.test_simple_shear_2d.SUBDIR": {"tf": 1}}, "df": 1}}, "3": {"0": {"4": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "3": {"7": {"5": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "4": {"3": {"2": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "6": {"9": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "7": {"7": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1.4142135623730951}}, "df": 13}, "4": {"3": {"9": {"4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "8": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}}, "df": 3}, "5": {"0": {"0": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}}, "df": 1}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}}, "df": 1}, "docs": {"pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.7320508075688772}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1.7320508075688772}}, "df": 11}, "6": {"8": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.7320508075688772}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 2}, "7": {"6": {"7": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 2.449489742783178}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 4}, "8": {"0": {"5": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "3": {"6": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "9": {"4": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "7": {"2": {"5": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "8": {"4": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1.4142135623730951}, "pydrex.cli.CLI_HANDLERS": {"tf": 1}, "pydrex.core.PERMUTATION_SYMBOL": {"tf": 1.4142135623730951}, "pydrex.core.MineralPhase.olivine": {"tf": 1.4142135623730951}, "pydrex.core.MineralPhase.enstatite": {"tf": 1.4142135623730951}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1.4142135623730951}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1.4142135623730951}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1.4142135623730951}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1.4142135623730951}, "pydrex.io.DEFAULT_PARAMS": {"tf": 3.3166247903554}, "pydrex.io.SCSV_TYPEMAP": {"tf": 2.6457513110645907}, "pydrex.logger.LOGGER": {"tf": 1.4142135623730951}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.6457513110645907}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.phase": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.fabric": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.regime": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 3.1622776601683795}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2.6457513110645907}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1.4142135623730951}, "tests.test_core.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1.4142135623730951}}, "df": 42, "x": {"2": {"7": {"docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1.4142135623730951}, "pydrex.io.DEFAULT_PARAMS": {"tf": 4.47213595499958}, "pydrex.io.SCSV_TYPEMAP": {"tf": 4.47213595499958}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 4.242640687119285}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 3.1622776601683795}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1.4142135623730951}, "tests.test_core.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1.4142135623730951}}, "df": 19}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "pydrex.logger.LOGGER": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.PytestConsoleLogger.name": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1}}, "df": 1, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {"pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1.7320508075688772}}, "df": 2, "l": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 2.23606797749979}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.PytestConsoleLogger.name": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.SUBDIR": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1.4142135623730951}}, "df": 9}}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1.4142135623730951}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2.23606797749979}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {"pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 12, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}}, "df": 4}}}}, "b": {"docs": {"pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}}, "df": 1}}, "e": {"docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 2, "+": {"0": {"0": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 5.196152422706632}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 4.898979485566356}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 4.898979485566356}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 5.196152422706632}}, "df": 4}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 11}}}}}}}}, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1.4142135623730951}}, "df": 9, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}}}}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 2.23606797749979}, "pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.23606797749979}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2.23606797749979}}, "df": 28}, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.LOGGER": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}}, "df": 2}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.minerals.Mineral.phase": {"tf": 1}}, "df": 3}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.23606797749979}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 16}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {"tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.23606797749979}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1.7320508075688772}}, "df": 18, "a": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}, "p": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 2.23606797749979}, "pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.23606797749979}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2.23606797749979}}, "df": 28}, "b": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}, "s": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}}, "d": {"docs": {"pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.LOGGER": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.diffusion": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}}, "df": 2}}}}}}}}}}}, "b": {"docs": {"pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 2, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime.byerlee": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.LOGGER_CONSOLE": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}}, "df": 3}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}}, "df": 3}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}, "t": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.logger.LOGGER_CONSOLE": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2.8284271247461903}}, "df": 1}}}}}}, "signature": {"root": {"0": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.7320508075688772}}, "df": 4}, "1": {"0": {"0": {"0": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "1": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}, "docs": {"pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 5}, "docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 6}, "2": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 3, "d": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 2}}, "3": {"3": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 2}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.logger.logfile_enable": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.utils.readable_timestamp": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 2}, "pydrex.visualisation.corner_flow_2d": {"tf": 2}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1.4142135623730951}}, "df": 13}, "docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 2}, "5": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 8.660254037844387}, "pydrex.axes.PoleFigureAxes.set": {"tf": 24.839484696748443}, "pydrex.core.get_crss": {"tf": 3.7416573867739413}, "pydrex.core.derivatives": {"tf": 8.12403840463596}, "pydrex.diagnostics.anisotropy": {"tf": 4.47213595499958}, "pydrex.diagnostics.bingham_average": {"tf": 4.47213595499958}, "pydrex.diagnostics.finite_strain": {"tf": 4}, "pydrex.diagnostics.symmetry": {"tf": 4.47213595499958}, "pydrex.diagnostics.misorientation_index": {"tf": 6.082762530298219}, "pydrex.diagnostics.coaxial_index": {"tf": 5.477225575051661}, "pydrex.diagnostics.misorientation_angles": {"tf": 3.1622776601683795}, "pydrex.diagnostics.smallest_angle": {"tf": 3.7416573867739413}, "pydrex.exceptions.ConfigError.__init__": {"tf": 2.8284271247461903}, "pydrex.exceptions.MeshError.__init__": {"tf": 2.8284271247461903}, "pydrex.exceptions.IterationError.__init__": {"tf": 2.8284271247461903}, "pydrex.exceptions.SCSVError.__init__": {"tf": 2.8284271247461903}, "pydrex.geometry.to_cartesian": {"tf": 4.898979485566356}, "pydrex.geometry.to_spherical": {"tf": 4.242640687119285}, "pydrex.geometry.poles": {"tf": 6.48074069840786}, "pydrex.geometry.lambert_equal_area": {"tf": 4.242640687119285}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 3.7416573867739413}, "pydrex.interpolations.default_interpolators": {"tf": 5.0990195135927845}, "pydrex.interpolations.create_interpolators": {"tf": 5.656854249492381}, "pydrex.interpolations.get_velocity": {"tf": 3.7416573867739413}, "pydrex.interpolations.get_velocity_gradient": {"tf": 3.7416573867739413}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 3.7416573867739413}, "pydrex.io.read_scsv": {"tf": 3.1622776601683795}, "pydrex.io.write_scsv_header": {"tf": 4.69041575982343}, "pydrex.io.save_scsv": {"tf": 4.898979485566356}, "pydrex.io.parse_config": {"tf": 3.1622776601683795}, "pydrex.io.read_mesh": {"tf": 4.69041575982343}, "pydrex.io.resolve_path": {"tf": 4.242640687119285}, "pydrex.io.stringify": {"tf": 3.1622776601683795}, "pydrex.io.data": {"tf": 3.1622776601683795}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 3.7416573867739413}, "pydrex.logger.ConsoleFormatter.format": {"tf": 3.7416573867739413}, "pydrex.logger.handler_level": {"tf": 5.385164807134504}, "pydrex.logger.logfile_enable": {"tf": 5.291502622129181}, "pydrex.logger.critical": {"tf": 4.69041575982343}, "pydrex.logger.error": {"tf": 4.69041575982343}, "pydrex.logger.warning": {"tf": 4.69041575982343}, "pydrex.logger.info": {"tf": 4.69041575982343}, "pydrex.logger.debug": {"tf": 4.69041575982343}, "pydrex.logger.exception": {"tf": 4.69041575982343}, "pydrex.logger.quiet_aliens": {"tf": 2.6457513110645907}, "pydrex.minerals.voigt_averages": {"tf": 3.7416573867739413}, "pydrex.minerals.Mineral.__init__": {"tf": 14.177446878757825}, "pydrex.minerals.Mineral.update_orientations": {"tf": 6.164414002968976}, "pydrex.minerals.Mineral.save": {"tf": 4.69041575982343}, "pydrex.minerals.Mineral.load": {"tf": 4.69041575982343}, "pydrex.minerals.Mineral.from_file": {"tf": 4.69041575982343}, "pydrex.pathlines.get_pathline": {"tf": 5.5677643628300215}, "pydrex.stats.resample_orientations": {"tf": 5.477225575051661}, "pydrex.stats.misorientations_random": {"tf": 5.744562646538029}, "pydrex.stats.point_density": {"tf": 8.12403840463596}, "pydrex.stats.exponential_kamb": {"tf": 5.196152422706632}, "pydrex.stats.linear_inverse_kamb": {"tf": 5.196152422706632}, "pydrex.stats.square_inverse_kamb": {"tf": 5.196152422706632}, "pydrex.stats.kamb_count": {"tf": 5.196152422706632}, "pydrex.stats.schmidt_count": {"tf": 4.242640687119285}, "pydrex.tensors.voigt_decompose": {"tf": 3.1622776601683795}, "pydrex.tensors.hex_projector": {"tf": 3.1622776601683795}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 3.1622776601683795}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 3.1622776601683795}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 3.1622776601683795}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 3.1622776601683795}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 3.1622776601683795}, "pydrex.tensors.rotate": {"tf": 3.7416573867739413}, "pydrex.utils.remove_nans": {"tf": 3.1622776601683795}, "pydrex.utils.readable_timestamp": {"tf": 4.47213595499958}, "pydrex.utils.angle_fse_simpleshear": {"tf": 3.1622776601683795}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 4.242640687119285}, "pydrex.visualisation.polefigures": {"tf": 7.54983443527075}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 9.433981132056603}, "pydrex.visualisation.corner_flow_2d": {"tf": 12.328828005937952}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 5.656854249492381}, "pydrex.vtk_helpers.get_output": {"tf": 3.1622776601683795}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 4.69041575982343}, "pydrex.vtk_helpers.read_coord_array": {"tf": 5.0990195135927845}, "pydrex.vtk_helpers.get_steps": {"tf": 3.1622776601683795}, "tests.conftest.pytest_addoption": {"tf": 3.1622776601683795}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 4.47213595499958}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 3.7416573867739413}, "tests.conftest.pytest_configure": {"tf": 3.1622776601683795}, "tests.conftest.pytest_collection_modifyitems": {"tf": 3.7416573867739413}, "tests.conftest.outdir": {"tf": 3.1622776601683795}, "tests.conftest.ncpus": {"tf": 3.1622776601683795}, "tests.conftest.console_handler": {"tf": 3.1622776601683795}, "tests.conftest.params_Fraters2021": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 2.6457513110645907}, "tests.conftest.params_Hedjazian2017": {"tf": 2.6457513110645907}, "tests.conftest.hkl": {"tf": 3.1622776601683795}, "tests.conftest.ref_axes": {"tf": 3.1622776601683795}, "tests.conftest.seeds": {"tf": 2.6457513110645907}, "tests.conftest.seed": {"tf": 2.6457513110645907}, "tests.conftest.seeds_nearX45": {"tf": 2.6457513110645907}, "tests.test_config.test_specfile": {"tf": 2.6457513110645907}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 3.7416573867739413}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 3.7416573867739413}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 3.7416573867739413}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 3.7416573867739413}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 3.7416573867739413}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 3.7416573867739413}, "tests.test_corner_flow_2d.get_velocity": {"tf": 4.242640687119285}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 4.242640687119285}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 4.69041575982343}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 3.1622776601683795}, "tests.test_doctests.test_doctests": {"tf": 2.6457513110645907}, "tests.test_geometry.test_poles_example": {"tf": 3.7416573867739413}, "tests.test_geometry.test_lambert_equal_area": {"tf": 3.1622776601683795}, "tests.test_scsv.test_validate_schema": {"tf": 3.1622776601683795}, "tests.test_scsv.test_read_specfile": {"tf": 2.6457513110645907}, "tests.test_scsv.test_save_specfile": {"tf": 3.1622776601683795}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 2.6457513110645907}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 2.6457513110645907}, "tests.test_scsv.test_read_Skemer2016": {"tf": 2.6457513110645907}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 8.48528137423857}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 7.810249675906654}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 6.4031242374328485}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 6.4031242374328485}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 4.242640687119285}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 4.242640687119285}, "tests.test_tensors.test_voigt_decompose": {"tf": 2.6457513110645907}, "tests.test_tensors.test_voigt_tensor": {"tf": 2.6457513110645907}, "tests.test_tensors.test_voigt_to_vector": {"tf": 2.6457513110645907}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 2.6457513110645907}}, "df": 146, "s": {"docs": {"pydrex.io.stringify": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 32}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 7, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "p": {"3": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}, "docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 5}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}}}}}}}}, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 4}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 2}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 4, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 5}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 4}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 3}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 4}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}}}}, "g": {"4": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.7320508075688772}}, "df": 1}, "5": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.7320508075688772}}, "df": 2}, "docs": {}, "df": 0}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 3}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.data": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "f": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 4, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.outdir": {"tf": 1}, "tests.conftest.ncpus": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}, "tests.conftest.hkl": {"tf": 1}, "tests.conftest.ref_axes": {"tf": 1}}, "df": 5}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1.4142135623730951}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.tensors.rotate": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "a": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 7, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 5}}, "i": {"docs": {}, "df": 0, "s": {"1": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "2": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 3, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 6}}}}, "d": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 4}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "y": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.read_mesh": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 8}}, "r": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}}}}}}, "x": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 6, "z": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 3}}, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.handler_level": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}, ":": {"docs": {}, "df": 0, "%": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "%": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 15}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"2": {"0": {"0": {"1": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.7320508075688772}}, "df": 2}, "4": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 3, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 2}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 17}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "x": {"4": {"5": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 7.0710678118654755}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 2.23606797749979}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 4}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}, "g": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 3}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 7.0710678118654755}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 7.0710678118654755}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 2.23606797749979}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 4}, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 5}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}}}, "b": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 2.23606797749979}}, "df": 1}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 9}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 13}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}}}}, "b": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}}, "df": 1}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}, "s": {"docs": {"pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 6}}, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.pytest_configure": {"tf": 1}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 5}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 3}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 5}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}}, "df": 4, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.7320508075688772}}, "df": 5}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.pytest_addoption": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 3}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"1": {"0": {"0": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "j": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 4}}, "y": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "t": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 2.23606797749979}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 2, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 3}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 1, "s": {"docs": {"tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}}, "df": 4}}}}, "x": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}}, "df": 4}}}}, "h": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.read_mesh": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 6}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}}}}, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}, "z": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 5, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}}}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 8}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}}, "df": 2}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 3}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 6}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}}}, "y": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 2}}}}}, "w": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2}}}}}}}}}, "bases": {"root": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}}}}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1.7320508075688772}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}}, "df": 3}}}, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.exceptions.Error": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}}, "df": 4}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}}, "df": 3}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.exceptions.Error": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 1}}}}}}}}, "doc": {"root": {"0": {"0": {"1": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 6}, "3": {"5": {"6": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "4": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "1": {"0": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 5}, "6": {"1": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 3}, "2": {"3": {"0": {"8": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "4": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}}, "df": 1}, "docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2.449489742783178}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 9.055385138137417}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2.23606797749979}, "pydrex.vtk_helpers.get_steps": {"tf": 2.23606797749979}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.8284271247461903}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.8284271247461903}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.8284271247461903}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.8284271247461903}, "tests.test_corner_flow_2d": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 2.8284271247461903}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 2.8284271247461903}}, "df": 23}, "1": {"0": {"0": {"0": {"docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1}, "7": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"1": {"0": {"8": {"5": {"1": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 6}, "1": {"6": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"0": {"0": {"1": {"2": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "j": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}}}, "docs": {}, "df": 0}, "2": {"9": {"docs": {}, "df": 0, "/": {"2": {"0": {"2": {"1": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "c": {"0": {"0": {"9": {"8": {"4": {"6": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}}, "df": 5}, "1": {"1": {"1": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "j": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"0": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 1}, "5": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 2}, "3": {"6": {"5": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "4": {"1": {"5": {"9": {"2": {"6": {"5": {"3": {"5": {"8": {"9": {"7": {"9": {"3": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "6": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 4}}, "df": 1}, "8": {"0": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "9": {"5": {"9": {"docs": {"pydrex.stats.kamb_count": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"6": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "7": {"9": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"0": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}, "5": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 5}, "7": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 6.324555320336759}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 5.0990195135927845}}, "df": 16, "/": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "x": {"4": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}, "2": {"0": {"0": {"0": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.8284271247461903}}, "df": 1}, "1": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 4}, "2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}, "5": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}}, "df": 1}, "8": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 1}, "1": {"5": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "6": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "2": {"1": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}, "1": {"docs": {"pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 3}, "4": {"6": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}}, "docs": {}, "df": 0}, "5": {"0": {"0": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2}, "docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 2}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 2.23606797749979}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 21, "d": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 14}}, "3": {"6": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 4.898979485566356}}, "df": 1}, "docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 2}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 3}}, "df": 12, "x": {"3": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}}, "df": 5}, "docs": {}, "df": 0}, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 4}}, "4": {"1": {"docs": {"tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 1}, "2": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}, "5": {"docs": {"tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 4}, "docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 10}, "5": {"0": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}}, "df": 1}, "docs": {"pydrex": {"tf": 2}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 8}, "6": {"4": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 5.656854249492381}}, "df": 1}, "docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}}, "df": 4, "x": {"6": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 8}, "docs": {}, "df": 0}}, "7": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}}, "df": 1}, "8": {"2": {"1": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 3}}, "docs": {}, "df": 0}, "8": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}, "docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}}, "df": 2}, "9": {"0": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 2, "k": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "8": {"4": {"5": {"1": {"3": {"0": {"2": {"0": {"9": {"1": {"0": {"1": {"4": {"6": {"7": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2}, "pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}}, "df": 5}, "docs": {"pydrex": {"tf": 19.390719429665317}, "pydrex.axes": {"tf": 2.6457513110645907}, "pydrex.axes.PoleFigureAxes": {"tf": 4.358898943540674}, "pydrex.axes.PoleFigureAxes.name": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 7}, "pydrex.axes.PoleFigureAxes.set": {"tf": 5.196152422706632}, "pydrex.cli": {"tf": 2.6457513110645907}, "pydrex.cli.PoleFigureVisualiser": {"tf": 2.6457513110645907}, "pydrex.cli.CLI_HANDLERS": {"tf": 1.7320508075688772}, "pydrex.core": {"tf": 4.69041575982343}, "pydrex.core.PERMUTATION_SYMBOL": {"tf": 1.7320508075688772}, "pydrex.core.MineralPhase": {"tf": 1.7320508075688772}, "pydrex.core.MineralPhase.olivine": {"tf": 1.7320508075688772}, "pydrex.core.MineralPhase.enstatite": {"tf": 1.7320508075688772}, "pydrex.core.DeformationRegime": {"tf": 1.7320508075688772}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1.7320508075688772}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1.7320508075688772}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1.7320508075688772}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric": {"tf": 4.358898943540674}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1.7320508075688772}, "pydrex.core.get_crss": {"tf": 3.4641016151377544}, "pydrex.core.derivatives": {"tf": 9.486832980505138}, "pydrex.diagnostics": {"tf": 4.47213595499958}, "pydrex.diagnostics.anisotropy": {"tf": 4.795831523312719}, "pydrex.diagnostics.bingham_average": {"tf": 3.872983346207417}, "pydrex.diagnostics.finite_strain": {"tf": 2.449489742783178}, "pydrex.diagnostics.symmetry": {"tf": 5.0990195135927845}, "pydrex.diagnostics.misorientation_index": {"tf": 4.358898943540674}, "pydrex.diagnostics.coaxial_index": {"tf": 3.3166247903554}, "pydrex.diagnostics.misorientation_angles": {"tf": 5.196152422706632}, "pydrex.diagnostics.smallest_angle": {"tf": 3.1622776601683795}, "pydrex.exceptions": {"tf": 3}, "pydrex.exceptions.Error": {"tf": 1.7320508075688772}, "pydrex.exceptions.ConfigError": {"tf": 2.449489742783178}, "pydrex.exceptions.ConfigError.__init__": {"tf": 1.7320508075688772}, "pydrex.exceptions.ConfigError.message": {"tf": 1.7320508075688772}, "pydrex.exceptions.MeshError": {"tf": 2.449489742783178}, "pydrex.exceptions.MeshError.__init__": {"tf": 1.7320508075688772}, "pydrex.exceptions.MeshError.message": {"tf": 1.7320508075688772}, "pydrex.exceptions.IterationError": {"tf": 2.449489742783178}, "pydrex.exceptions.IterationError.__init__": {"tf": 1.7320508075688772}, "pydrex.exceptions.IterationError.message": {"tf": 1.7320508075688772}, "pydrex.exceptions.SCSVError": {"tf": 3.4641016151377544}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1.7320508075688772}, "pydrex.exceptions.SCSVError.message": {"tf": 1.7320508075688772}, "pydrex.geometry": {"tf": 2.6457513110645907}, "pydrex.geometry.to_cartesian": {"tf": 5.0990195135927845}, "pydrex.geometry.to_spherical": {"tf": 5.0990195135927845}, "pydrex.geometry.poles": {"tf": 3.7416573867739413}, "pydrex.geometry.lambert_equal_area": {"tf": 3}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 19.467922333931785}, "pydrex.interpolations": {"tf": 2.6457513110645907}, "pydrex.interpolations.default_interpolators": {"tf": 6}, "pydrex.interpolations.create_interpolators": {"tf": 6.48074069840786}, "pydrex.interpolations.get_velocity": {"tf": 1.7320508075688772}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1.7320508075688772}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1.7320508075688772}, "pydrex.io": {"tf": 5.477225575051661}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.7320508075688772}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1.7320508075688772}, "pydrex.io.read_scsv": {"tf": 3.1622776601683795}, "pydrex.io.write_scsv_header": {"tf": 5.656854249492381}, "pydrex.io.save_scsv": {"tf": 5.5677643628300215}, "pydrex.io.parse_config": {"tf": 1.7320508075688772}, "pydrex.io.read_mesh": {"tf": 2.6457513110645907}, "pydrex.io.resolve_path": {"tf": 2.8284271247461903}, "pydrex.io.stringify": {"tf": 1.7320508075688772}, "pydrex.io.data": {"tf": 1.7320508075688772}, "pydrex.logger": {"tf": 20.049937655763422}, "pydrex.logger.ConsoleFormatter": {"tf": 1.7320508075688772}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1.7320508075688772}, "pydrex.logger.ConsoleFormatter.format": {"tf": 2.449489742783178}, "pydrex.logger.LOGGER": {"tf": 1.7320508075688772}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 5}, "pydrex.logger.logfile_enable": {"tf": 2.6457513110645907}, "pydrex.logger.critical": {"tf": 1.7320508075688772}, "pydrex.logger.error": {"tf": 1.7320508075688772}, "pydrex.logger.warning": {"tf": 1.7320508075688772}, "pydrex.logger.info": {"tf": 1.7320508075688772}, "pydrex.logger.debug": {"tf": 1.7320508075688772}, "pydrex.logger.exception": {"tf": 2.449489742783178}, "pydrex.logger.quiet_aliens": {"tf": 2}, "pydrex.minerals": {"tf": 2.6457513110645907}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 2.6457513110645907}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 2.6457513110645907}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.23606797749979}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 2.8284271247461903}, "pydrex.minerals.voigt_averages": {"tf": 5.291502622129181}, "pydrex.minerals.Mineral": {"tf": 21.587033144922902}, "pydrex.minerals.Mineral.__init__": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.phase": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.fabric": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.regime": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.n_grains": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.fractions": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.orientations": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.seed": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 7.54983443527075}, "pydrex.minerals.Mineral.save": {"tf": 5.385164807134504}, "pydrex.minerals.Mineral.load": {"tf": 4.69041575982343}, "pydrex.minerals.Mineral.from_file": {"tf": 4.898979485566356}, "pydrex.mock": {"tf": 2.6457513110645907}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 2.23606797749979}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 2.23606797749979}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 2.23606797749979}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 2.23606797749979}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 2.449489742783178}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 2.449489742783178}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 2.449489742783178}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 2.23606797749979}, "pydrex.pathlines": {"tf": 2.6457513110645907}, "pydrex.pathlines.get_pathline": {"tf": 5.477225575051661}, "pydrex.stats": {"tf": 2.6457513110645907}, "pydrex.stats.resample_orientations": {"tf": 3.7416573867739413}, "pydrex.stats.misorientations_random": {"tf": 5.830951894845301}, "pydrex.stats.point_density": {"tf": 6.48074069840786}, "pydrex.stats.exponential_kamb": {"tf": 1.7320508075688772}, "pydrex.stats.linear_inverse_kamb": {"tf": 1.7320508075688772}, "pydrex.stats.square_inverse_kamb": {"tf": 1.7320508075688772}, "pydrex.stats.kamb_count": {"tf": 1.7320508075688772}, "pydrex.stats.schmidt_count": {"tf": 1.7320508075688772}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 3.3166247903554}, "pydrex.tensors": {"tf": 3.1622776601683795}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1.7320508075688772}, "pydrex.tensors.voigt_decompose": {"tf": 4.58257569495584}, "pydrex.tensors.hex_projector": {"tf": 2.8284271247461903}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 13.92838827718412}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 2.8284271247461903}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1.7320508075688772}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1.7320508075688772}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 2.8284271247461903}, "pydrex.tensors.rotate": {"tf": 1.7320508075688772}, "pydrex.utils": {"tf": 2.6457513110645907}, "pydrex.utils.remove_nans": {"tf": 1.7320508075688772}, "pydrex.utils.readable_timestamp": {"tf": 1.7320508075688772}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1.7320508075688772}, "pydrex.velocity_gradients": {"tf": 2.6457513110645907}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation": {"tf": 2.6457513110645907}, "pydrex.visualisation.polefigures": {"tf": 2.8284271247461903}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers": {"tf": 2.6457513110645907}, "pydrex.vtk_helpers.get_output": {"tf": 2.8284271247461903}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 4.47213595499958}, "pydrex.vtk_helpers.read_coord_array": {"tf": 4.242640687119285}, "pydrex.vtk_helpers.get_steps": {"tf": 16.64331697709324}, "tests": {"tf": 8.48528137423857}, "tests.conftest": {"tf": 2.6457513110645907}, "tests.conftest.pytest_addoption": {"tf": 1.7320508075688772}, "tests.conftest.PytestConsoleLogger": {"tf": 1.7320508075688772}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 2.449489742783178}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1.7320508075688772}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1.7320508075688772}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1.7320508075688772}, "tests.conftest.pytest_configure": {"tf": 1.7320508075688772}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1.7320508075688772}, "tests.conftest.outdir": {"tf": 1.7320508075688772}, "tests.conftest.ncpus": {"tf": 1.7320508075688772}, "tests.conftest.console_handler": {"tf": 1.7320508075688772}, "tests.conftest.params_Fraters2021": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1.7320508075688772}, "tests.conftest.params_Hedjazian2017": {"tf": 1.7320508075688772}, "tests.conftest.hkl": {"tf": 1.7320508075688772}, "tests.conftest.ref_axes": {"tf": 1.7320508075688772}, "tests.conftest.seeds": {"tf": 1.7320508075688772}, "tests.conftest.seed": {"tf": 1.7320508075688772}, "tests.conftest.seeds_nearX45": {"tf": 1.7320508075688772}, "tests.test_config": {"tf": 2.6457513110645907}, "tests.test_config.test_specfile": {"tf": 1.7320508075688772}, "tests.test_core": {"tf": 2.6457513110645907}, "tests.test_core.SUBDIR": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOPX": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.23606797749979}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.23606797749979}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.23606797749979}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.23606797749979}, "tests.test_corner_flow_2d": {"tf": 6.164414002968976}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 3}, "tests.test_diagnostics": {"tf": 2.6457513110645907}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1.7320508075688772}, "tests.test_doctests": {"tf": 2.6457513110645907}, "tests.test_doctests.test_doctests": {"tf": 1.7320508075688772}, "tests.test_geometry": {"tf": 2.6457513110645907}, "tests.test_geometry.test_poles_example": {"tf": 1.7320508075688772}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1.7320508075688772}, "tests.test_scsv": {"tf": 2.6457513110645907}, "tests.test_scsv.test_validate_schema": {"tf": 1.7320508075688772}, "tests.test_scsv.test_read_specfile": {"tf": 1.7320508075688772}, "tests.test_scsv.test_save_specfile": {"tf": 1.7320508075688772}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1.7320508075688772}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1.7320508075688772}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d": {"tf": 2.6457513110645907}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 3}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 3.1622776601683795}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1.7320508075688772}, "tests.test_tensors": {"tf": 2.6457513110645907}, "tests.test_tensors.test_voigt_decompose": {"tf": 1.7320508075688772}, "tests.test_tensors.test_voigt_tensor": {"tf": 2}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1.7320508075688772}, "tests.test_vtk_helpers": {"tf": 2.6457513110645907}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1.7320508075688772}}, "df": 251, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.logger": {"tf": 2.449489742783178}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "tests": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 8, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 3}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "e": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 11}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "n": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1, "\u03c6": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}, "\u03b8": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 8}}}}}, "o": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 3, "f": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.core": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity_gradients": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats": {"tf": 1}}, "df": 3}}, "s": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}}, "df": 3}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}}, "df": 4}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1.7320508075688772}}, "df": 3}}}, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 2.23606797749979}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.core": {"tf": 1.7320508075688772}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 4, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 2}}, "^": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1.7320508075688772}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.7320508075688772}}, "df": 4, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests": {"tf": 1}}, "df": 10}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 5}, "s": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}, "y": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 3}}}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 9, "z": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 1}, "d": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 2}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes": {"tf": 1}, "pydrex.exceptions": {"tf": 1}}, "df": 2}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 2, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 6}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 26, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}}, "df": 4, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 7, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 2}}, "df": 9}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 18}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core": {"tf": 2}, "pydrex.core.get_crss": {"tf": 2}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 2}}, "df": 6}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.tensors.hex_projector": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 11}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.tensors": {"tf": 1.7320508075688772}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}}, "df": 4}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.core": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 2.23606797749979}}, "df": 5, "s": {"docs": {"pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2}, "pydrex.io": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 6}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "c": {"docs": {"pydrex.io": {"tf": 1.4142135623730951}, "tests.test_config.test_specfile": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 6}, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}, "c": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}}, "df": 3}}}}, "e": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 3, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 3}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.exceptions.IterationError": {"tf": 1}}, "df": 1}}, "a": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1.7320508075688772}, "pydrex.io.save_scsv": {"tf": 1.4142135623730951}, "tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 3}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.schmidt_count": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.io": {"tf": 2.23606797749979}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1.7320508075688772}, "pydrex.io.write_scsv_header": {"tf": 2}, "pydrex.io.save_scsv": {"tf": 2}, "tests.test_scsv": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 10}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3}}}}, "w": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "p": {"3": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "}": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}}, "df": 3, "r": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.4142135623730951}}, "df": 9, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 10}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}}, "df": 11, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.logger": {"tf": 2}, "pydrex.logger.critical": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 5}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}}, "df": 4, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 2}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes": {"tf": 1}, "pydrex.exceptions": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 7}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.stringify": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "tests.test_core": {"tf": 1}}, "df": 5}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 7}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 2}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.tensors": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 2}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "/": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "/": {"9": {"0": {"0": {"8": {"1": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "/": {"1": {"0": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.io.read_mesh": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 3, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests.conftest": {"tf": 1}, "tests.test_config": {"tf": 1}}, "df": 8}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 6}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1.7320508075688772}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 2}}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 3, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.geometry": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 4}}}}}, "t": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 2, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": null}, "pydrex.minerals.Mineral": {"tf": null}}, "df": 2}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 2}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 3.4641016151377544}, "pydrex.logger.handler_level": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.io.save_scsv": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}, "\u03c6": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "\u03b8": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "\u03d5": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "\u03d5": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 9}}}}}}, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.stats.point_density": {"tf": 2}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 2}}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests": {"tf": 2.6457513110645907}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 10}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 3}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 3, "[": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 6}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 8}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 2}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 6}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "u": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.io": {"tf": 1.4142135623730951}}, "df": 1}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}, "i": {"docs": {"tests": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 4, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 2}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "j": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "tests.test_geometry": {"tf": 1}}, "df": 3}}}}, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 1}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.hex_projector": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {"tests": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 2.449489742783178}}, "df": 1}}, "f": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}}, "df": 3}}}}}}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1.7320508075688772}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}}, "df": 5, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {"tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 2}}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "l": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 2.23606797749979}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}}, "df": 10, "s": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 7}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 6}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.parse_config": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_config.test_specfile": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 6}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 6, "s": {"docs": {"pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "tests": {"tf": 1}}, "df": 2}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}}, "df": 3}}, "b": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "i": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "tests": {"tf": 2}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 3}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.exceptions": {"tf": 1.4142135623730951}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.interpolations": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.logger": {"tf": 2.23606797749979}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.mock": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.stats": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.utils": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.vtk_helpers": {"tf": 1}, "tests": {"tf": 2}, "tests.conftest": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 48}}}}}, "i": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.7320508075688772}}, "df": 1, "p": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}}, "df": 2}}}, "h": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 2.6457513110645907}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}}, "df": 3}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 7}}, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 3.7416573867739413}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}}, "df": 10, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 14, "s": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 15}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 2}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 5}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.7320508075688772}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}}, "df": 6, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.core.get_crss": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestSimpleShearOPX": {"tf": 1}}, "df": 1}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "/": {"1": {"0": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 8}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "n": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.axes.PoleFigureAxes.set": {"tf": 2.23606797749979}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 16, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 7}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 3}, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 3}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}}, "df": 2}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 3, "s": {"docs": {"tests.test_tensors": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 11, "y": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}}, "df": 2}, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 3, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 2.449489742783178}}, "df": 2}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 2.23606797749979}}, "df": 7, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.visualisation": {"tf": 1}}, "df": 2}}}}}}, "f": {"docs": {"pydrex": {"tf": 6.164414002968976}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 2}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 2.449489742783178}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.exceptions": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 2}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1.7320508075688772}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 2.6457513110645907}, "pydrex.minerals.Mineral": {"tf": 4.358898943540674}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.stats.resample_orientations": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 3}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 77, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 4, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 3}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 22}}}}}, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.mock": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "tests": {"tf": 1}}, "df": 16, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}}, "df": 8}}}, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 4}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 2, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3}}, "s": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}}, "df": 4}}}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}}, "df": 2, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.exception": {"tf": 1.4142135623730951}}, "df": 6, "s": {"docs": {"pydrex.exceptions": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}}, "df": 2}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 2}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 2}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core": {"tf": 1}}, "df": 1}}}, "d": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}}, "df": 1, "{": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 8}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.logfile_enable": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "d": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 4}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}}}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 5}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}}, "df": 5}}}}}}}}}, "t": {"docs": {"pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 3, "c": {"docs": {"pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.7320508075688772}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1.7320508075688772}, "pydrex.minerals": {"tf": 1}, "pydrex.stats": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 4}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.logger": {"tf": 2.449489742783178}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 9, "s": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 5}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}}}}, "i": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 9, "n": {"docs": {"pydrex": {"tf": 3.872983346207417}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests": {"tf": 2}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 55, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 9}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 2}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3, "o": {"docs": {"pydrex": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 5}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 2, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.interpolations": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 5}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.interpolations.get_velocity": {"tf": 1}}, "df": 1}, "d": {"docs": {"pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}}, "df": 1}}}, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}, "v": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 7, "/": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "t": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.6457513110645907}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 6, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}}, "df": 1, "o": {"docs": {"pydrex.logger": {"tf": 2.8284271247461903}, "pydrex.logger.info": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}}}}}}}}}, "s": {"docs": {"pydrex": {"tf": 3.872983346207417}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1.7320508075688772}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.ConsoleFormatter.format": {"tf": 2.23606797749979}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 2.23606797749979}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.7320508075688772}, "tests": {"tf": 2.23606797749979}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 28, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 2}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}, "s": {"docs": {"pydrex.core": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 4, "s": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 4}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.exceptions.IterationError": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "f": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "tests": {"tf": 2}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 15}, "/": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.exceptions.SCSVError": {"tf": 1}}, "df": 1}}, "o": {"docs": {"tests": {"tf": 1}}, "df": 1, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "/": {"2": {"0": {"1": {"7": {"docs": {}, "df": 0, "/": {"0": {"1": {"docs": {}, "df": 0, "/": {"0": {"8": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}, "d": {"docs": {"pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}}, "p": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}, "j": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}}, "df": 1, "k": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}, "j": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2.449489742783178}}, "df": 2, "h": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}}, "df": 5, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.logger": {"tf": 2.8284271247461903}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}}, "df": 9}, "n": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 3}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 3}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 19}, "n": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 4, "k": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"pydrex": {"tf": 9.055385138137417}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core": {"tf": 2.23606797749979}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 2.23606797749979}, "pydrex.diagnostics": {"tf": 2.449489742783178}, "pydrex.diagnostics.anisotropy": {"tf": 3}, "pydrex.diagnostics.bingham_average": {"tf": 1.7320508075688772}, "pydrex.diagnostics.finite_strain": {"tf": 2.449489742783178}, "pydrex.diagnostics.symmetry": {"tf": 2}, "pydrex.diagnostics.misorientation_index": {"tf": 2.23606797749979}, "pydrex.diagnostics.coaxial_index": {"tf": 2.23606797749979}, "pydrex.diagnostics.misorientation_angles": {"tf": 2}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1.4142135623730951}, "pydrex.exceptions.MeshError": {"tf": 1.4142135623730951}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1.7320508075688772}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 3.4641016151377544}, "pydrex.geometry.lambert_equal_area": {"tf": 2}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.interpolations.default_interpolators": {"tf": 1.7320508075688772}, "pydrex.interpolations.create_interpolators": {"tf": 2.23606797749979}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 2.23606797749979}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1.7320508075688772}, "pydrex.logger": {"tf": 3.872983346207417}, "pydrex.logger.ConsoleFormatter.format": {"tf": 3.3166247903554}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.7320508075688772}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.7320508075688772}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 4.898979485566356}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2.6457513110645907}, "pydrex.minerals.Mineral.save": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 3}, "pydrex.stats.resample_orientations": {"tf": 2.23606797749979}, "pydrex.stats.misorientations_random": {"tf": 2.449489742783178}, "pydrex.stats.point_density": {"tf": 3.872983346207417}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.7320508075688772}, "pydrex.tensors": {"tf": 2.23606797749979}, "pydrex.tensors.voigt_decompose": {"tf": 2}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 2.23606797749979}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 3.872983346207417}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 2.6457513110645907}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 85, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2}}}}}}, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 4}, "i": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {"tests": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}}, "df": 3}}}}}, "e": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 39, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests": {"tf": 1.7320508075688772}, "tests.conftest": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 24, "/": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.mock": {"tf": 1}}, "df": 1}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 3, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.6457513110645907}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 12, "s": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1.7320508075688772}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 2}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 14, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {"pydrex": {"tf": 3.872983346207417}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1.7320508075688772}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}, "pydrex.io.save_scsv": {"tf": 1.7320508075688772}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.logger": {"tf": 3.605551275463989}, "pydrex.logger.ConsoleFormatter.format": {"tf": 2}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "tests": {"tf": 2.8284271247461903}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 56, "d": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "p": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 2}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "o": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io.parse_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}}, "df": 2}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 6, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "r": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 2}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}, "n": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 9, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}}, "df": 4}}, "i": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 3, "p": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 4, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}}, "df": 12, "s": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1.4142135623730951}}, "df": 3}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 2}, "tests.test_core": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}}, "df": 7, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "tests": {"tf": 1.7320508075688772}, "tests.conftest.seed": {"tf": 1}}, "df": 18}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2.449489742783178}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 4}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}}, "df": 3}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "tests": {"tf": 1}}, "df": 4, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}}, "df": 1}}}}, "o": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}}}}}}, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 3}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 3.7416573867739413}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 7}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 3}}}}}, "k": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 2}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}}, "df": 2}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 7}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}}, "df": 1, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 3}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}, "y": {"docs": {"pydrex.io.resolve_path": {"tf": 1.7320508075688772}, "tests": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_diagnostics.TestMIndex": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}}, "df": 11}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 1}}}}}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 2}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 2}, "pydrex.io.data": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.point_density": {"tf": 2.23606797749979}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.7320508075688772}, "tests": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 24, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "m": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 13, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "tests.test_doctests": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2, "l": {"docs": {"pydrex": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}}, "df": 3}}}}}}, "r": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1, "e": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.mock": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 3}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 3}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 6, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.utils": {"tf": 1}, "tests": {"tf": 1}}, "df": 7}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}}, "df": 2}}}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}}, "df": 4, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.logger": {"tf": 2.8284271247461903}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 12, "s": {"docs": {"pydrex.logger": {"tf": 2.23606797749979}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}}}, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 2}, "pydrex.minerals.Mineral": {"tf": 3.605551275463989}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1.7320508075688772}, "tests": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 17, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 5}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "tests": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 5}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 7}}}, "x": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 16}}}, "h": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1}}}}}, "x": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 4}}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}, "k": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}, "y": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 2}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 3}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2, "r": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 2}, "pydrex.logger.exception": {"tf": 1}}, "df": 3, "s": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 3}, "l": {"docs": {}, "df": 0, "f": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}}, "x": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 4}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.vtk_helpers": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.interpolations": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 3}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2}}}}}}}}}, "k": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.io.read_mesh": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 8}}}}}}}, ":": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}}}}, "m": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pydrex": {"tf": 3.605551275463989}, "pydrex.axes.PoleFigureAxes.set": {"tf": 2}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 2.23606797749979}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.io.stringify": {"tf": 1.4142135623730951}, "pydrex.io.data": {"tf": 1}, "pydrex.logger": {"tf": 2}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 3}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2.449489742783178}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}, "pydrex.stats.schmidt_count": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 2.449489742783178}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 2.449489742783178}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 69, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 3.3166247903554}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.7320508075688772}, "tests": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 27, "a": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 11}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 6}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 2}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 2.6457513110645907}}, "df": 18, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 7}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 3}}}}}, "n": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 20, "y": {"docs": {"pydrex": {"tf": 2}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}}, "df": 5, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {"pydrex": {"tf": 4.123105625617661}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 2}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.interpolations": {"tf": 1}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 2}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.mock": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.vtk_helpers": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 2.449489742783178}, "tests.conftest": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 52}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 6}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 1}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"tests.test_core.TestSimpleShearOlivineA": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 2.449489742783178}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.hex_projector": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.449489742783178}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.449489742783178}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.449489742783178}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.449489742783178}, "tests.test_corner_flow_2d": {"tf": 3}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 2.449489742783178}}, "df": 16}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 3}}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.get_crss": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}}}}}}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 5, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 2}, "s": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 2}}}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_doctests": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {"pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 2}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 17}}, "l": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 6, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 3}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}}}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "tests": {"tf": 2}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 15, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 4}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "y": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}}}, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 2.449489742783178}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 8}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1.7320508075688772}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 16, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 3}}}}, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 10, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 5}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"2": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 4}}}}}}}}, "[": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 4, "e": {"docs": {"pydrex": {"tf": 3.3166247903554}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger": {"tf": 3}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests": {"tf": 2.6457513110645907}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 19, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 8}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 2.23606797749979}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.Error": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 2}}}}, "y": {"docs": {"pydrex": {"tf": 3.872983346207417}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests": {"tf": 2}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 18}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 5}}}}, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 6}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 2, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.derivatives": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 5}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 3.4641016151377544}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3}}, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 2}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 2}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 2}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "l": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 6}, "u": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.7320508075688772}}, "df": 1}, "\\": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1, "{": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.7320508075688772}}, "df": 1}, "x": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "z": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}}, "df": 6, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}, "tests.test_core": {"tf": 1}}, "df": 2}}}}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.tensors.rotate": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}}, "df": 8, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {"pydrex.tensors.rotate": {"tf": 1}}, "df": 1, "d": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "f": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 6}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex.core": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 3}}}}}}, "x": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.core": {"tf": 1.4142135623730951}, "tests.test_core": {"tf": 1}}, "df": 3}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 3}}}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 5}}}}}, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.mock": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 9, "/": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_vtk_helpers": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "tests": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "d": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.io.data": {"tf": 1}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 9, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 14}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 3}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.exception": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.8284271247461903}}, "df": 1, "s": {"docs": {"pydrex.core.DeformationRegime": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 4}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"tests": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 3, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 8, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 2}}}, "w": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}}, "df": 3}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}}, "df": 4}, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 2}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 3}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}}, "df": 3}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}}}, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "\u03c0": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "\u03b8": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}}, "k": {"docs": {"pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 5}}}}}, "b": {"docs": {"pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 4}}}}, "s": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 3}}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.point_density": {"tf": 2.23606797749979}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 7, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}}}}, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 3.605551275463989}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests": {"tf": 1.7320508075688772}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 15}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 8}}, "n": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 2.8284271247461903}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 25, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}}, "df": 7}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.logger": {"tf": 2.6457513110645907}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 8}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"tests": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "tests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 4}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 2}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.vtk_helpers": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.warning": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 2.23606797749979}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_coord_array": {"tf": 2}, "tests": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 33}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}}, "df": 3, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 4}}, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 3}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 4}}}}}, "{": {"1": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}, "2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.7320508075688772}}, "df": 1, "u": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1}}, "4": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "\u03c3": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "\u03bc": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "\u03b8": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "\u03c8": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "x": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1, "z": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}}}, "z": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}}}, "docs": {}, "df": 0}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 5}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}, "/": {"docs": {}, "df": 0, "~": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 2}, "pydrex.io": {"tf": 1}, "pydrex.io.data": {"tf": 1}}, "df": 3}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3}}}}}}}, "r": {"docs": {"pydrex": {"tf": 4.242640687119285}, "pydrex.axes.PoleFigureAxes": {"tf": 1.4142135623730951}, "pydrex.cli": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1.7320508075688772}, "pydrex.diagnostics.bingham_average": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 2}, "pydrex.io": {"tf": 2}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.mock": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "tests": {"tf": 1}, "tests.conftest": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 84, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.utils.readable_timestamp": {"tf": 1}, "tests": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 6, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}}, "df": 2}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2}, "t": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}}, "df": 1}}, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 4.123105625617661}, "pydrex.core.derivatives": {"tf": 2.23606797749979}}, "df": 2}}, "w": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 2, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}, "tests": {"tf": 1.4142135623730951}}, "df": 7}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}, "d": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1.7320508075688772}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 16, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 3}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 4}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.io.stringify": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 5}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.6457513110645907}}, "df": 6, "s": {"docs": {"pydrex.core.MineralFabric": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}}, "df": 1}}, "l": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 11, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.vtk_helpers": {"tf": 1}}, "df": 9}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 2}}}, "l": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 4, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.449489742783178}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 2.23606797749979}, "pydrex.logger.handler_level": {"tf": 1.7320508075688772}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 6}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 4}}, "n": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 4}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 3}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pydrex.logger": {"tf": 4.47213595499958}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 9, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger": {"tf": 3.3166247903554}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 2.23606797749979}, "pydrex.logger.handler_level": {"tf": 2}, "pydrex.logger.logfile_enable": {"tf": 1}, "tests": {"tf": 2}}, "df": 4}}}}, "s": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "tests": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 3}}, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 3}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry": {"tf": 2}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.7320508075688772}}, "df": 8, "o": {"docs": {"pydrex.io": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "t": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 12, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.tensors": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "w": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 2.449489742783178}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 7}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 3}}}, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}}, "df": 2}}}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.stats.resample_orientations": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 8}}, "a": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}}, "df": 12}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "w": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 6}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 3}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "d": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "n": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 2}}, "/": {"docs": {}, "df": 0, "a": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "x": {"3": {"docs": {}, "df": 0, "x": {"3": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral": {"tf": 2}}, "df": 1}}}}}}, "p": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 2}}, "df": 3, "z": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}}, "u": {"docs": {"tests.test_corner_flow_2d": {"tf": 2}}, "df": 1, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "tests": {"tf": 1}}, "df": 13}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 2}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}}, "df": 9, "d": {"docs": {"pydrex": {"tf": 2}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 24}, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 5, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 5, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}}, "df": 3}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}}, "df": 4, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2, "k": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 3.605551275463989}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 5}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils": {"tf": 1}}, "df": 1}}}}}}, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "\u03c0": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "\u03b8": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}}, "y": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 3}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2}}}}}}, "v": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 11, "s": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 6}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 18}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}}}}}}}, "a": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 3.4641016151377544}, "pydrex.core.derivatives": {"tf": 2.6457513110645907}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 5}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 6}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1.7320508075688772}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 13}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.logger": {"tf": 3.3166247903554}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 7, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}}, "df": 17}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity_gradients": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 6, "{": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.7320508075688772}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "tests": {"tf": 1}}, "df": 8, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 3}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.diagnostics": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 17, "s": {"docs": {"pydrex": {"tf": 4.58257569495584}, "pydrex.core.derivatives": {"tf": 2}, "pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 4}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}}, "df": 8}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 15, "s": {"docs": {"pydrex.velocity_gradients": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}}, "df": 2, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 15}, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}}, "df": 3, "d": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry": {"tf": 1}, "tests.test_geometry": {"tf": 1}}, "df": 2}}}}}}}, "t": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 2}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 12, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 2}}}}}}}}, "b": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 6}, "pydrex.minerals.Mineral": {"tf": 7.810249675906654}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 4.58257569495584}, "pydrex.vtk_helpers.get_steps": {"tf": 3}}, "df": 5}, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}, "z": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}, "j": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}}, "df": 2, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2}}, "p": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}, "z": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 3, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "x": {"docs": {}, "df": 0, "z": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}, "x": {"3": {"docs": {}, "df": 0, "x": {"3": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 3.605551275463989}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.4142135623730951}}, "df": 18, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "z": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "y": {"docs": {}, "df": 0, "z": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "+": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}, "z": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "3": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 5.656854249492381}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; + /** pdoc search index */const docs = {"version": "0.9.5", "fields": ["qualname", "fullname", "annotation", "default_value", "signature", "bases", "doc"], "ref": "fullname", "documentStore": {"docs": {"pydrex": {"fullname": "pydrex", "modulename": "pydrex", "kind": "module", "doc": "

    Simulate crystallographic preferred orientation evolution in polycrystals

    \n\n
    \n\n
    \n\n

    This software is currently in early development.\nOnly modules that have tests are anywhere close to being stable.

    \n\n
    \n\n

    About

    \n\n

    The core routines are based on the original implementation by \u00c9douard Kaminski,\nwhich can be downloaded from this link (~90KB).\nThe reference paper is Kaminski & Ribe 2001,\nand an open-access paper which discusses the model is Fraters & Billen 2021. [TODO: Add our paper]

    \n\n

    The package is currently not available on PyPi,\nand must be installed by cloning the source code.\nand using pip install . (with the dot) in the top-level folder.\nMultiprocessing is not yet available in the packaged version.\nRunning the tests requires pytest,\nand the custom pytest flag --outdir=\"OUT\" can be used to save output figures\nto the folder called OUT (or the current folder, using \".\").

    \n\n

    The submodule sidebar on the left can be used\nto discover the public API of this package.\nSome of the tests are also documented and can serve as usage examples.\nThey can be viewed in the module index (modules starting with test_).

    \n\n

    The D-Rex kinematic CPO model

    \n\n

    The D-Rex model is used to compute crystallographic preferred orientation (CPO)\nfor polycrystals deforming by dislocation creep and dynamic recrystallization.\nPolycrystals are discretized into \"grains\" which represent fractional volumes\nof the total crystal that are characterised by a particular crystal lattice\norientation. For numerical efficiency, the number of grains in the model does\nnot change, and should only be interpreted as an approximation of the number\nof physical grains. Dynamic recrystallization is modelled using statistical\nexpressions which approximate the interaction of each grain with an effective\nmedium based on the averaged dislocation energy of all other grains.\nNote that the model is not suited to situations where static recrystallization\nprocesses are significant.

    \n\n

    The primary microphysical mechanism for plastic deformation of the polycrystal\nis dislocation creep, which involves dislocation glide (\"slip\") along symmetry\nplanes of the mineral and dislocation climb, which allows for dislocations to\nannihilate each other so that the number of dislocations reaches a steady-state.\nThe D-Rex model does not simulate dislocation climb, but implicitly assumes that\nthe dislocations are in steady-state so that the dislocation density of the\ncrystal can be described by

    \n\n

    $$\n\u03c1 \u221d b^{-2} \\left(\\frac{\u03c3}{\u03bc}\\right)^{p}\n$$

    \n\n

    where $b$ is the length of the Burgers' vector, $\u03c3$ is the stress\nand $\u03bc$ is the shear modulus. The value of the exponent $p$ is given by the\nstress_exponent input parameter. For an overview of available parameters,\nsee [the tests/conftest.py source code, for now...]

    \n\n

    The effects of dynamic recrystallization are twofold. Grains with a higher than\naverage dislocation density may be affected by either grain nucleation, which is\nthe formation of initially small, strain-free sub-grains, or grain boundary\nmigration, by which process other grains of lower strain energy annex a portion\nof its volume. Nucleation occurs mostly in grains oriented favourably for\ndislocation glide, and the new grains also grow by grain boundary migration.\nIf nucleation is too inefficient, the dislocation density in deformation-aligned\ngrains will remain high and these grains will therefore shrink in volume. On the\nother hand, if grain boundaries are too immobile, then nucleated grains will take\nlonger to grow, reducing the speed of CPO development and re-orientation.\nBecause nucleated grains are assumed to inherit the orientation of the parent,\nthey do not affect the model except by reducing the average dislocation density.\nA grain boundary mobility parameter of $M^{\u2217} = 0$ will therefore disable any\nrecrystallization effects. Finally, the process of grain boundary sliding can\nalso be included, which simply disallows rotation of grains with very small volume.\nThis only affects CPO evolution by introducing a latency for the onset of grain\nboundary migration in nucleated grains. It also manifests as an upper bound on\ntexture strength.

    \n\n

    Parameter reference

    \n\n

    Model parameters will eventually be provided in an .ini file.\n[For now just pass a dictionary to config in the Mineral.update_orientations method]\nThe file must contain section headers enclosed by square braces\nand key-value assignments, for example:

    \n\n
    [Output]\nolivine = volume_distribution, orientations\n\n[D-Rex]\nolivine_fraction = 1\nstress_exponent = 1.5\n...\n
    \n\n

    The following reference describes the available sections and their parameters.

    \n\n

    Geometry

    \n\n

    This section allows for specifying the geometry of the model domain,\nincluding any interpolation meshes.

    \n\n\n\n\n \n \n\n\n\n\n \n \n\n\n
    ParameterDescription
    meshfile[not implemented]
    \n\n

    Output

    \n\n

    Parameters in the output section control which variables are stored to files,\nas well as any options for automatic postprocessing.

    \n\n\n\n\n \n \n \n\n\n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n
    ParameterDescriptionDefault
    simulation_namea short name (without spaces) used for the output folder and metadatapydrex_example
    olivinethe choice of olivine mineral outputs, from {volume_distribution, orientations} with multiple choices separated by a commavolume_distribution,orientations
    enstatitethe choice of enstatite mineral outputs, from {volume_distribution, orientations} with multiple choices separated by a commavolume_distribution,orientations
    \n\n

    D-Rex

    \n\n

    Parameters in the D-Rex section specify the runtime configuration for the D-Rex model.\nRead the D-Rex introduction section for more details.

    \n\n\n\n\n \n \n \n\n\n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n \n \n \n\n\n
    ParameterDescriptionDefault
    stress_exponentthe stress exponent $p$ that characterises the relationship between dislocation density and stress1.5
    deformation_exponentthe exponent $n$ that characterises the relationship between stress and rate of deformation3.5
    gbm_mobilitythe dimensionless grain boundary mobility $M^{\u2217}$ which controls the chance for growth of grains with lower than average dislocation energy125
    gbs_thresholda threshold ratio of current to original volume below which small grains move by sliding rather than rotation0.3
    nucleation_efficiencythe dimensionless nucleation efficiency which controls the chance for new, small, strain-free sub-grains to be created inside high dislocation energy grains5
    number_of_grainsthe number of initial grains per crystal2500
    olivine_fabric[not implemented]A
    mineralsa tuple of mineral phase names that specify the composition of the polycrystal(\"olivine\",)
    olivine_fractionthe volume fraction of olivine compared to other phases (1 for pure olivine)1
    <phase>_fractionthe volume fraction of any other phases (sum of all volume fractions must sum to 1)N/A
    \n"}, "pydrex.axes": {"fullname": "pydrex.axes", "modulename": "pydrex.axes", "kind": "module", "doc": "
    \n

    PyDRex: Custom Matplotlib Axes subclasses.

    \n
    \n"}, "pydrex.axes.PoleFigureAxes": {"fullname": "pydrex.axes.PoleFigureAxes", "modulename": "pydrex.axes", "qualname": "PoleFigureAxes", "kind": "class", "doc": "

    Axes class designed for crystallographic pole figures.

    \n\n

    Thin matplotlib Axes wrapper for crystallographic pole figures.

    \n\n
    \n\n

    Projections are not performed automatically using default methods like\nscatter or plot. To actually plot the pole figures, use polefigure.

    \n\n
    \n", "bases": "matplotlib.axes._axes.Axes"}, "pydrex.axes.PoleFigureAxes.name": {"fullname": "pydrex.axes.PoleFigureAxes.name", "modulename": "pydrex.axes", "qualname": "PoleFigureAxes.name", "kind": "variable", "doc": "

    \n", "default_value": "'pydrex.polefigure'"}, "pydrex.axes.PoleFigureAxes.polefigure": {"fullname": "pydrex.axes.PoleFigureAxes.polefigure", "modulename": "pydrex.axes", "qualname": "PoleFigureAxes.polefigure", "kind": "function", "doc": "

    Plot pole figure of crystallographic texture.

    \n\n

    Args:

    \n\n\n\n

    Any additional keyword arguments are passed to either tripcolor if\ndensity=True or scatter if density=False

    \n", "signature": "(\tself,\tdata,\tdensity=False,\tref_axes='xz',\thkl=[1, 0, 0],\tdensity_kwargs=None,\t**kwargs):", "funcdef": "def"}, "pydrex.axes.PoleFigureAxes.set": {"fullname": "pydrex.axes.PoleFigureAxes.set", "modulename": "pydrex.axes", "qualname": "PoleFigureAxes.set", "kind": "function", "doc": "

    Set multiple properties at once.

    \n\n

    Supported properties are

    \n\n

    Properties:\n adjustable: {'box', 'datalim'}\n agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image\n alpha: scalar or None\n anchor: (float, float) or {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}\n animated: bool\n aspect: {'auto', 'equal'} or float\n autoscale_on: bool\n autoscalex_on: unknown\n autoscaley_on: unknown\n axes_locator: Callable[[Axes, Renderer], Bbox]\n axisbelow: bool or 'line'\n box_aspect: float or None\n clip_box: .Bbox\n clip_on: bool\n clip_path: Patch or (Path, Transform) or None\n facecolor or fc: color\n figure: .Figure\n frame_on: bool\n gid: str\n in_layout: bool\n label: object\n mouseover: bool\n navigate: bool\n navigate_mode: unknown\n path_effects: .AbstractPathEffect\n picker: None or bool or float or callable\n position: [left, bottom, width, height] or ~matplotlib.transforms.Bbox\n prop_cycle: unknown\n rasterization_zorder: float or None\n rasterized: bool\n sketch_params: (scale: float, length: float, randomness: float)\n snap: bool or None\n subplotspec: unknown\n title: str\n transform: .Transform\n url: str\n visible: bool\n xbound: unknown\n xlabel: str\n xlim: (bottom: float, top: float)\n xmargin: float greater than -0.5\n xscale: unknown\n xticklabels: unknown\n xticks: unknown\n ybound: unknown\n ylabel: str\n ylim: (bottom: float, top: float)\n ymargin: float greater than -0.5\n yscale: unknown\n yticklabels: unknown\n yticks: unknown\n zorder: float

    \n", "signature": "(\tself,\t*,\tadjustable=<UNSET>,\tagg_filter=<UNSET>,\talpha=<UNSET>,\tanchor=<UNSET>,\tanimated=<UNSET>,\taspect=<UNSET>,\tautoscale_on=<UNSET>,\tautoscalex_on=<UNSET>,\tautoscaley_on=<UNSET>,\taxes_locator=<UNSET>,\taxisbelow=<UNSET>,\tbox_aspect=<UNSET>,\tclip_box=<UNSET>,\tclip_on=<UNSET>,\tclip_path=<UNSET>,\tfacecolor=<UNSET>,\tframe_on=<UNSET>,\tgid=<UNSET>,\tin_layout=<UNSET>,\tlabel=<UNSET>,\tmouseover=<UNSET>,\tnavigate=<UNSET>,\tpath_effects=<UNSET>,\tpicker=<UNSET>,\tposition=<UNSET>,\tprop_cycle=<UNSET>,\trasterization_zorder=<UNSET>,\trasterized=<UNSET>,\tsketch_params=<UNSET>,\tsnap=<UNSET>,\tsubplotspec=<UNSET>,\ttitle=<UNSET>,\ttransform=<UNSET>,\turl=<UNSET>,\tvisible=<UNSET>,\txbound=<UNSET>,\txlabel=<UNSET>,\txlim=<UNSET>,\txmargin=<UNSET>,\txscale=<UNSET>,\txticklabels=<UNSET>,\txticks=<UNSET>,\tybound=<UNSET>,\tylabel=<UNSET>,\tylim=<UNSET>,\tymargin=<UNSET>,\tyscale=<UNSET>,\tyticklabels=<UNSET>,\tyticks=<UNSET>,\tzorder=<UNSET>):", "funcdef": "def"}, "pydrex.cli": {"fullname": "pydrex.cli", "modulename": "pydrex.cli", "kind": "module", "doc": "
    \n

    PyDRex: Entry points for command line tools.

    \n
    \n"}, "pydrex.cli.PoleFigureVisualiser": {"fullname": "pydrex.cli.PoleFigureVisualiser", "modulename": "pydrex.cli", "qualname": "PoleFigureVisualiser", "kind": "class", "doc": "

    PyDRex script to plot pole figures of serialized CPO data.

    \n\n

    Produces [100], [010] and [001] pole figures for serialized pydrex.Minerals.\nIf the range of indices is not specified,\na maximum of 25 of each pole figure will be produced.

    \n"}, "pydrex.cli.CLI_HANDLERS": {"fullname": "pydrex.cli.CLI_HANDLERS", "modulename": "pydrex.cli", "qualname": "CLI_HANDLERS", "kind": "variable", "doc": "

    \n", "default_value": "CLI_HANDLERS(pole_figure_visualiser=PoleFigureVisualiser())"}, "pydrex.core": {"fullname": "pydrex.core", "modulename": "pydrex.core", "kind": "module", "doc": "
    \n

    PyDRex: Core D-Rex functions and enums.

    \n
    \n\n

    The function derivatives implements the core D-Rex solver, which computes the\ncrystallographic rotation rate and changes in fractional grain volumes.

    \n\n

    Acronyms:

    \n\n\n"}, "pydrex.core.PERMUTATION_SYMBOL": {"fullname": "pydrex.core.PERMUTATION_SYMBOL", "modulename": "pydrex.core", "qualname": "PERMUTATION_SYMBOL", "kind": "variable", "doc": "

    \n", "default_value": "array([[[0.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 1.e+00],\n [0.e+00, -1.e+00, 0.e+00]],\n\n [[0.e+00, 0.e+00, -1.e+00],\n [0.e+00, 0.e+00, 0.e+00],\n [1.e+00, 0.e+00, 0.e+00]],\n\n [[0.e+00, 1.e+00, 0.e+00],\n [-1.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00]]])"}, "pydrex.core.MineralPhase": {"fullname": "pydrex.core.MineralPhase", "modulename": "pydrex.core", "qualname": "MineralPhase", "kind": "class", "doc": "

    Supported mineral phases.

    \n", "bases": "enum.IntEnum"}, "pydrex.core.MineralPhase.olivine": {"fullname": "pydrex.core.MineralPhase.olivine", "modulename": "pydrex.core", "qualname": "MineralPhase.olivine", "kind": "variable", "doc": "

    \n", "default_value": "<MineralPhase.olivine: 0>"}, "pydrex.core.MineralPhase.enstatite": {"fullname": "pydrex.core.MineralPhase.enstatite", "modulename": "pydrex.core", "qualname": "MineralPhase.enstatite", "kind": "variable", "doc": "

    \n", "default_value": "<MineralPhase.enstatite: 1>"}, "pydrex.core.DeformationRegime": {"fullname": "pydrex.core.DeformationRegime", "modulename": "pydrex.core", "qualname": "DeformationRegime", "kind": "class", "doc": "

    Deformation mechanism regimes.

    \n", "bases": "enum.IntEnum"}, "pydrex.core.DeformationRegime.diffusion": {"fullname": "pydrex.core.DeformationRegime.diffusion", "modulename": "pydrex.core", "qualname": "DeformationRegime.diffusion", "kind": "variable", "doc": "

    \n", "default_value": "<DeformationRegime.diffusion: 0>"}, "pydrex.core.DeformationRegime.dislocation": {"fullname": "pydrex.core.DeformationRegime.dislocation", "modulename": "pydrex.core", "qualname": "DeformationRegime.dislocation", "kind": "variable", "doc": "

    \n", "default_value": "<DeformationRegime.dislocation: 1>"}, "pydrex.core.DeformationRegime.byerlee": {"fullname": "pydrex.core.DeformationRegime.byerlee", "modulename": "pydrex.core", "qualname": "DeformationRegime.byerlee", "kind": "variable", "doc": "

    \n", "default_value": "<DeformationRegime.byerlee: 2>"}, "pydrex.core.DeformationRegime.max_viscosity": {"fullname": "pydrex.core.DeformationRegime.max_viscosity", "modulename": "pydrex.core", "qualname": "DeformationRegime.max_viscosity", "kind": "variable", "doc": "

    \n", "default_value": "<DeformationRegime.max_viscosity: 3>"}, "pydrex.core.MineralFabric": {"fullname": "pydrex.core.MineralFabric", "modulename": "pydrex.core", "qualname": "MineralFabric", "kind": "class", "doc": "

    Supported mineral fabrics.

    \n\n

    The following fabric types are supported:

    \n\n\n", "bases": "enum.IntEnum"}, "pydrex.core.MineralFabric.olivine_A": {"fullname": "pydrex.core.MineralFabric.olivine_A", "modulename": "pydrex.core", "qualname": "MineralFabric.olivine_A", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.olivine_A: 0>"}, "pydrex.core.MineralFabric.olivine_B": {"fullname": "pydrex.core.MineralFabric.olivine_B", "modulename": "pydrex.core", "qualname": "MineralFabric.olivine_B", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.olivine_B: 1>"}, "pydrex.core.MineralFabric.olivine_C": {"fullname": "pydrex.core.MineralFabric.olivine_C", "modulename": "pydrex.core", "qualname": "MineralFabric.olivine_C", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.olivine_C: 2>"}, "pydrex.core.MineralFabric.olivine_D": {"fullname": "pydrex.core.MineralFabric.olivine_D", "modulename": "pydrex.core", "qualname": "MineralFabric.olivine_D", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.olivine_D: 3>"}, "pydrex.core.MineralFabric.olivine_E": {"fullname": "pydrex.core.MineralFabric.olivine_E", "modulename": "pydrex.core", "qualname": "MineralFabric.olivine_E", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.olivine_E: 4>"}, "pydrex.core.MineralFabric.enstatite_AB": {"fullname": "pydrex.core.MineralFabric.enstatite_AB", "modulename": "pydrex.core", "qualname": "MineralFabric.enstatite_AB", "kind": "variable", "doc": "

    \n", "default_value": "<MineralFabric.enstatite_AB: 5>"}, "pydrex.core.get_crss": {"fullname": "pydrex.core.get_crss", "modulename": "pydrex.core", "qualname": "get_crss", "kind": "function", "doc": "

    Get Critical Resolved Shear Stress for the mineral phase and fabric.

    \n\n

    Returns an array of the normalised threshold stresses required to activate slip on\neach slip system. Olivine slip systems are ordered according to the convention used\nfor pydrex.minerals.OLIVINE_SLIP_SYSTEMS.

    \n", "signature": "(phase, fabric):", "funcdef": "def"}, "pydrex.core.derivatives": {"fullname": "pydrex.core.derivatives", "modulename": "pydrex.core", "qualname": "derivatives", "kind": "function", "doc": "

    Get derivatives of orientation and volume distribution.

    \n\n

    Args:

    \n\n\n\n

    Returns a tuple with the rotation rates and grain volume fraction changes.

    \n", "signature": "(\tphase,\tfabric,\tn_grains,\torientations,\tfractions,\tstrain_rate,\tvelocity_gradient,\tstress_exponent,\tdeformation_exponent,\tnucleation_efficiency,\tgbm_mobility,\tvolume_fraction):", "funcdef": "def"}, "pydrex.diagnostics": {"fullname": "pydrex.diagnostics", "modulename": "pydrex.diagnostics", "kind": "module", "doc": "
    \n

    PyDRex: Methods to calculate texture and strain diagnostics.

    \n
    \n\n
    \n\n

    Calculations expect orientation matrices $a$ to represent passive\n(i.e. alias) rotations, which are defined in terms of the extrinsic ZXZ\neuler angles $\u03d5, \u03b8, \u03c6$ as\n$$\na = \\begin{bmatrix}\n \\cos\u03c6\\cos\u03d5 - \\cos\u03b8\\sin\u03d5\\sin\u03c6 & \\cos\u03b8\\cos\u03d5\\sin\u03c6 + \\cos\u03c6\\sin\u03d5 & \\sin\u03c6\\sin\u03b8 \\cr\n -\\sin\u03c6\\cos\u03d5 - \\cos\u03b8\\sin\u03d5\\cos\u03c6 & \\cos\u03b8\\cos\u03d5\\cos\u03c6 - \\sin\u03c6\\sin\u03d5 & \\cos\u03c6\\sin\u03b8 \\cr\n \\sin\u03b8\\sin\u03d5 & -\\sin\u03b8\\cos\u03d5 & \\cos\u03b8\n \\end{bmatrix}\n$$\nsuch that a[i, j] gives the direction cosine of the angle between the i-th\ngrain axis and the j-th external axis (in the global Eulerian frame).

    \n\n
    \n"}, "pydrex.diagnostics.anisotropy": {"fullname": "pydrex.diagnostics.anisotropy", "modulename": "pydrex.diagnostics", "qualname": "anisotropy", "kind": "function", "doc": "

    Calculate anisotropy diagnostics for the given elasticity tensor.

    \n\n

    Args:

    \n\n\n\n

    Returns the percent anisotropy, a matrix containing the axes of the Symmetry\nCartesian Coordinate System (rows), and the elasticity tensor in the SCCS frame\n(Voigt vector representation).

    \n", "signature": "(voigt_matrix, proj='hex'):", "funcdef": "def"}, "pydrex.diagnostics.bingham_average": {"fullname": "pydrex.diagnostics.bingham_average", "modulename": "pydrex.diagnostics", "qualname": "bingham_average", "kind": "function", "doc": "

    Compute Bingham averages from olivine orientation matrices.

    \n\n

    Returns the antipodally symmetric average orientation\nof the given crystallographic axis, or the a-axis by default.\nValid axis specifiers are \"a\" for [100], \"b\" for [010] and \"c\" for [001].

    \n\n

    See also: Watson 1966,\nMardia & Jupp, \u201cDirectional Statistics\u201d.

    \n", "signature": "(orientations, axis='a'):", "funcdef": "def"}, "pydrex.diagnostics.finite_strain": {"fullname": "pydrex.diagnostics.finite_strain", "modulename": "pydrex.diagnostics", "qualname": "finite_strain", "kind": "function", "doc": "

    Extract measures of finite strain from the deformation gradient.

    \n\n

    Extracts the vector defining the axis of maximum extension (longest semiaxis of the\nfinite strain ellipsoid) and the largest principal strain value from the 3x3\ndeformation gradient tensor.

    \n", "signature": "(deformation_gradient, **kwargs):", "funcdef": "def"}, "pydrex.diagnostics.symmetry": {"fullname": "pydrex.diagnostics.symmetry", "modulename": "pydrex.diagnostics", "qualname": "symmetry", "kind": "function", "doc": "

    Compute texture symmetry eigenvalue diagnostics from olivine orientation matrices.

    \n\n

    Compute Point, Girdle and Random symmetry diagnostics\nfor ternary texture classification.\nReturns the tuple (P, G, R) where\n$$\n\\begin{align*}\nP &= (\u03bb_{1} - \u03bb_{2}) / N \\cr\nG &= 2 (\u03bb_{2} - \u03bb_{3}) / N \\cr\nR &= 3 \u03bb_{3} / N\n\\end{align*}\n$$\nwith $N$ the sum of the eigenvalues $\u03bb_{1} \u2265 \u03bb_{2} \u2265 \u03bb_{3}$\nof the scatter (inertia) matrix.

    \n\n

    See e.g. Vollmer 1990.

    \n", "signature": "(orientations, axis='a'):", "funcdef": "def"}, "pydrex.diagnostics.misorientation_index": {"fullname": "pydrex.diagnostics.misorientation_index", "modulename": "pydrex.diagnostics", "qualname": "misorientation_index", "kind": "function", "doc": "

    Calculate M-index for polycrystal orientations.

    \n\n

    The bins argument is passed to numpy.histogram.\nIf left as None, 1\u00b0 bins will be used as recommended by the reference paper.\nThe symmetry system can be specified using the system argument.\nThe default system is orthorhombic.

    \n\n

    See Skemer et al. 2005.

    \n", "signature": "(orientations, bins=None, system=(2, 4)):", "funcdef": "def"}, "pydrex.diagnostics.coaxial_index": {"fullname": "pydrex.diagnostics.coaxial_index", "modulename": "pydrex.diagnostics", "qualname": "coaxial_index", "kind": "function", "doc": "

    Calculate coaxial \u201cBA\u201d index for a combination of two crystal axes.

    \n\n

    The BA index of Mainprice et al. 2015\nis derived from the eigenvalue symmetry diagnostics and measures point vs girdle\nsymmetry in the aggregate. $BA \u2208 [0, 1]$ where $BA = 0$ corresponds to a perfect\naxial girdle texture and $BA = 1$ represents a point symmetry texture assuming that\nthe random component $R$ is negligible. May be less susceptible to random\nfluctuations compared to the raw eigenvalue diagnostics.

    \n", "signature": "(orientations, axis1='b', axis2='a'):", "funcdef": "def"}, "pydrex.diagnostics.misorientation_angles": {"fullname": "pydrex.diagnostics.misorientation_angles", "modulename": "pydrex.diagnostics", "qualname": "misorientation_angles", "kind": "function", "doc": "

    Calculate the misorientation angles for pairs of rotation quaternions.

    \n\n

    Calculate the angular distance between the rotations combinations[:, 0]\nand combinations[:, 1], which are expected to be 1x4 passive (alias)\nrotation quaternions.

    \n\n

    Uses ~25% less memory than the same operation with rotation matrices.

    \n\n

    See also:

    \n\n\n", "signature": "(combinations):", "funcdef": "def"}, "pydrex.diagnostics.smallest_angle": {"fullname": "pydrex.diagnostics.smallest_angle", "modulename": "pydrex.diagnostics", "qualname": "smallest_angle", "kind": "function", "doc": "

    Get smallest angle between a unit vector and a bidirectional axis.

    \n\n

    The axis is specified using either of its two parallel unit vectors.

    \n", "signature": "(vector, axis):", "funcdef": "def"}, "pydrex.exceptions": {"fullname": "pydrex.exceptions", "modulename": "pydrex.exceptions", "kind": "module", "doc": "
    \n

    PyDRex: Custom exceptions (subclasses of pydrex.Error).

    \n
    \n"}, "pydrex.exceptions.Error": {"fullname": "pydrex.exceptions.Error", "modulename": "pydrex.exceptions", "qualname": "Error", "kind": "class", "doc": "

    Base class for exceptions in PyDRex.

    \n", "bases": "builtins.Exception"}, "pydrex.exceptions.ConfigError": {"fullname": "pydrex.exceptions.ConfigError", "modulename": "pydrex.exceptions", "qualname": "ConfigError", "kind": "class", "doc": "

    Exception raised for errors in the input configuration.

    \n\n

    Attributes:\n message \u2014 explanation of the error

    \n", "bases": "Error"}, "pydrex.exceptions.ConfigError.__init__": {"fullname": "pydrex.exceptions.ConfigError.__init__", "modulename": "pydrex.exceptions", "qualname": "ConfigError.__init__", "kind": "function", "doc": "

    \n", "signature": "(message)"}, "pydrex.exceptions.ConfigError.message": {"fullname": "pydrex.exceptions.ConfigError.message", "modulename": "pydrex.exceptions", "qualname": "ConfigError.message", "kind": "variable", "doc": "

    \n"}, "pydrex.exceptions.MeshError": {"fullname": "pydrex.exceptions.MeshError", "modulename": "pydrex.exceptions", "qualname": "MeshError", "kind": "class", "doc": "

    Exception raised for errors in the input mesh.

    \n\n

    Attributes:\n message \u2014 explanation of the error

    \n", "bases": "Error"}, "pydrex.exceptions.MeshError.__init__": {"fullname": "pydrex.exceptions.MeshError.__init__", "modulename": "pydrex.exceptions", "qualname": "MeshError.__init__", "kind": "function", "doc": "

    \n", "signature": "(message)"}, "pydrex.exceptions.MeshError.message": {"fullname": "pydrex.exceptions.MeshError.message", "modulename": "pydrex.exceptions", "qualname": "MeshError.message", "kind": "variable", "doc": "

    \n"}, "pydrex.exceptions.IterationError": {"fullname": "pydrex.exceptions.IterationError", "modulename": "pydrex.exceptions", "qualname": "IterationError", "kind": "class", "doc": "

    Exception raised for errors in numerical iteration schemes.

    \n\n

    Attributes:\n message \u2014 explanation of the error

    \n", "bases": "Error"}, "pydrex.exceptions.IterationError.__init__": {"fullname": "pydrex.exceptions.IterationError.__init__", "modulename": "pydrex.exceptions", "qualname": "IterationError.__init__", "kind": "function", "doc": "

    \n", "signature": "(message)"}, "pydrex.exceptions.IterationError.message": {"fullname": "pydrex.exceptions.IterationError.message", "modulename": "pydrex.exceptions", "qualname": "IterationError.message", "kind": "variable", "doc": "

    \n"}, "pydrex.exceptions.SCSVError": {"fullname": "pydrex.exceptions.SCSVError", "modulename": "pydrex.exceptions", "qualname": "SCSVError", "kind": "class", "doc": "

    Exception raised for errors in SCSV file I/O.

    \n\n

    Attributes:

    \n\n\n", "bases": "Error"}, "pydrex.exceptions.SCSVError.__init__": {"fullname": "pydrex.exceptions.SCSVError.__init__", "modulename": "pydrex.exceptions", "qualname": "SCSVError.__init__", "kind": "function", "doc": "

    \n", "signature": "(message)"}, "pydrex.exceptions.SCSVError.message": {"fullname": "pydrex.exceptions.SCSVError.message", "modulename": "pydrex.exceptions", "qualname": "SCSVError.message", "kind": "variable", "doc": "

    \n"}, "pydrex.geometry": {"fullname": "pydrex.geometry", "modulename": "pydrex.geometry", "kind": "module", "doc": "
    \n

    PyDRex: Functions for geometric coordinate conversions and projections.

    \n
    \n"}, "pydrex.geometry.to_cartesian": {"fullname": "pydrex.geometry.to_cartesian", "modulename": "pydrex.geometry", "qualname": "to_cartesian", "kind": "function", "doc": "

    Convert spherical to cartesian coordinates in \u211d\u00b3.

    \n\n

    Spherical coordinate convention:

    \n\n\n\n

    By default, a radius of r = 1 is used for the sphere.\nReturns a tuple containing arrays of x, y, and z values.

    \n", "signature": "(\u03c6, \u03b8, r=1):", "funcdef": "def"}, "pydrex.geometry.to_spherical": {"fullname": "pydrex.geometry.to_spherical", "modulename": "pydrex.geometry", "qualname": "to_spherical", "kind": "function", "doc": "

    Convert cartesian coordinates in \u211d\u00b3 to spherical coordinates.

    \n\n

    Spherical coordinate convention:

    \n\n\n\n

    Returns a tuple containing arrays of r, \u03d5 and \u03b8 values.

    \n", "signature": "(x, y, z):", "funcdef": "def"}, "pydrex.geometry.poles": {"fullname": "pydrex.geometry.poles", "modulename": "pydrex.geometry", "qualname": "poles", "kind": "function", "doc": "

    Extract 3D vectors of crystallographic directions from orientation matrices.

    \n\n

    Expects orientations to be an array with shape (N, 3, 3).\nThe optional arguments ref_axes and hkl can be used to change\nthe global reference axes and the crystallographic direction respectively.\nThe reference axes should be given as a string of two letters,\ne.g. \"xz\" (default), which specify the second and third axes\nof the global right-handed reference frame. The third letter in the set \"xyz\"\ndetermines the first axis. The ref_axes will therefore become the\nhorizontal and vertical axes of pole figures used to plot the directions.

    \n", "signature": "(orientations, ref_axes='xz', hkl=[1, 0, 0]):", "funcdef": "def"}, "pydrex.geometry.lambert_equal_area": {"fullname": "pydrex.geometry.lambert_equal_area", "modulename": "pydrex.geometry", "qualname": "lambert_equal_area", "kind": "function", "doc": "

    Project axial data from a 3D sphere onto a 2D disk.

    \n\n

    Project points from a 3D sphere of radius 1, given in Cartesian coordinates,\nto points on a 2D disk using a Lambert equal area azimuthal projection.\nReturns arrays of the X and Y coordinates in the unit disk.

    \n\n

    This implementation first maps all points onto the same hemisphere,\nand then projects that hemisphere onto the disk.

    \n", "signature": "(xvals, yvals, zvals):", "funcdef": "def"}, "pydrex.geometry.shirley_concentric_squaredisk": {"fullname": "pydrex.geometry.shirley_concentric_squaredisk", "modulename": "pydrex.geometry", "qualname": "shirley_concentric_squaredisk", "kind": "function", "doc": "

    Project points from a square onto a disk using the concentric Shirley method.

    \n\n

    The concentric method of Shirley & Chiu 1997 is optimised to preserve area.\nSee also: http://marc-b-reynolds.github.io/math/2017/01/08/SquareDisc.html.

    \n\n

    This can be used to set up uniform grids on a disk, e.g.

    \n\n
    \n
    >>> a = [x / 5.0 for x in range(-5, 6)]\n>>> x = [[x] * len(a) for x in a]\n>>> y = [a for _ in a]\n>>> x_flat = [j for i in x for j in i]\n>>> y_flat = [j for i in y for j in i]\n>>> x_disk, y_disk = shirley_concentric_squaredisk(x_flat, y_flat)\n>>> r = x_disk**2 + y_disk**2\n>>> r\narray([1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  ,\n       1.  , 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.16, 0.04, 0.04, 0.04, 0.16, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.16, 0.04, 0.  , 0.04, 0.16, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.16, 0.04, 0.04, 0.04, 0.16, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.16, 0.16, 0.16, 0.16, 0.16, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.36, 0.64, 1.  ,\n       1.  , 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 1.  ,\n       1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  , 1.  ])\n>>> from math import atan2\n>>> \u03b8 = [atan2(y, x) for y, x in zip(y_disk, x_disk)]\n>>> max(\u03b8)\n3.141592653589793\n>>> min(\u03b8)\n-2.9845130209101467\n
    \n
    \n", "signature": "(xvals, yvals):", "funcdef": "def"}, "pydrex.interpolations": {"fullname": "pydrex.interpolations", "modulename": "pydrex.interpolations", "kind": "module", "doc": "
    \n

    PyDRex: Interpolation callbacks and helpers.

    \n
    \n"}, "pydrex.interpolations.default_interpolators": {"fullname": "pydrex.interpolations.default_interpolators", "modulename": "pydrex.interpolations", "qualname": "default_interpolators", "kind": "function", "doc": "

    Create a dictionary of default interpolator callbacks for PyDRex input.

    \n\n

    Args:

    \n\n\n\n

    Optionaly pass a string to mpl_interp to use\nmatplotlib.tri.CubicTriInterpolator with the chosen smoothing algorithm.\nOnly valid for 2D data with pre-existing triangulations.

    \n\n

    See also create_interpolators.

    \n", "signature": "(config, coords, vtk_output, mpl_interp=None):", "funcdef": "def"}, "pydrex.interpolations.create_interpolators": {"fullname": "pydrex.interpolations.create_interpolators", "modulename": "pydrex.interpolations", "qualname": "create_interpolators", "kind": "function", "doc": "

    Create interpolator callbacks for data arrays.

    \n\n

    Args:

    \n\n\n\n

    Optional kwargs will be passed to the interpolation constructor.

    \n\n

    Returns a list of interpolator callbacks, one for each data vector component.

    \n\n

    The triangles arg is required only for matplotlib.tri.CubicTriInterpolator.\nSee the documentation of that constructor for details.

    \n", "signature": "(interpolator, coords, data, triangles=None, **kwargs):", "funcdef": "def"}, "pydrex.interpolations.get_velocity": {"fullname": "pydrex.interpolations.get_velocity", "modulename": "pydrex.interpolations", "qualname": "get_velocity", "kind": "function", "doc": "

    Interpolates the velocity at a given point.

    \n", "signature": "(point, interpolators):", "funcdef": "def"}, "pydrex.interpolations.get_velocity_gradient": {"fullname": "pydrex.interpolations.get_velocity_gradient", "modulename": "pydrex.interpolations", "qualname": "get_velocity_gradient", "kind": "function", "doc": "

    Return the interpolated velocity gradient tensor at a given point.

    \n", "signature": "(point, interpolators):", "funcdef": "def"}, "pydrex.interpolations.get_deformation_mechanism": {"fullname": "pydrex.interpolations.get_deformation_mechanism", "modulename": "pydrex.interpolations", "qualname": "get_deformation_mechanism", "kind": "function", "doc": "

    Return the interpolated deformation mechanism ID at the given point.

    \n", "signature": "(point, interpolators):", "funcdef": "def"}, "pydrex.io": {"fullname": "pydrex.io", "modulename": "pydrex.io", "kind": "module", "doc": "
    \n

    PyDRex: Mesh, configuration and supporting data Input/Output functions.

    \n
    \n\n

    PyDRex can read/write three kinds of plain text files:

    \n\n\n\n

    SCSV files are our custom CSV files with a YAML header. The header is used for data\nattribution and metadata, as well as a column type spec. There is no official spec for\nSCSV files at the moment but they should follow the format of existing SCSV files in\nthe data/ folder of the source repository. For supported cell types, see\nSCSV_TYPEMAP.

    \n"}, "pydrex.io.DEFAULT_PARAMS": {"fullname": "pydrex.io.DEFAULT_PARAMS", "modulename": "pydrex.io", "qualname": "DEFAULT_PARAMS", "kind": "variable", "doc": "

    Default simulation parameters.

    \n", "default_value": "{'olivine_fraction': 1.0, 'enstatite_fraction': 0.0, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 125, 'gbs_threshold': 0.3, 'nucleation_efficiency': 5.0, 'number_of_grains': 2500, 'initial_olivine_fabric': 'A'}"}, "pydrex.io.SCSV_TYPEMAP": {"fullname": "pydrex.io.SCSV_TYPEMAP", "modulename": "pydrex.io", "qualname": "SCSV_TYPEMAP", "kind": "variable", "doc": "

    Mapping of supported SCSV field types to corresponding Python types.

    \n", "default_value": "{'string': <class 'str'>, 'integer': <class 'int'>, 'float': <class 'float'>, 'boolean': <class 'bool'>, 'complex': <class 'complex'>}"}, "pydrex.io.read_scsv": {"fullname": "pydrex.io.read_scsv", "modulename": "pydrex.io", "qualname": "read_scsv", "kind": "function", "doc": "

    Read data from an SCSV file.

    \n\n

    See also save_scsv, read_scsv_header.

    \n", "signature": "(file):", "funcdef": "def"}, "pydrex.io.write_scsv_header": {"fullname": "pydrex.io.write_scsv_header", "modulename": "pydrex.io", "qualname": "write_scsv_header", "kind": "function", "doc": "

    Write YAML header to an SCSV stream.

    \n\n

    Args:

    \n\n\n\n

    See also read_scsv, save_scsv.

    \n", "signature": "(stream, schema, comments=None):", "funcdef": "def"}, "pydrex.io.save_scsv": {"fullname": "pydrex.io.save_scsv", "modulename": "pydrex.io", "qualname": "save_scsv", "kind": "function", "doc": "

    Save data to SCSV file.

    \n\n

    Args:

    \n\n\n\n

    Optional keyword arguments are passed to write_scsv_header. See also read_scsv.

    \n", "signature": "(file, schema, data, **kwargs):", "funcdef": "def"}, "pydrex.io.parse_config": {"fullname": "pydrex.io.parse_config", "modulename": "pydrex.io", "qualname": "parse_config", "kind": "function", "doc": "

    Parse a TOML file containing PyDRex configuration.

    \n", "signature": "(path):", "funcdef": "def"}, "pydrex.io.read_mesh": {"fullname": "pydrex.io.read_mesh", "modulename": "pydrex.io", "qualname": "read_mesh", "kind": "function", "doc": "

    Wrapper of meshio.read, see https://github.com/nschloe/meshio.

    \n", "signature": "(meshfile, *args, **kwargs):", "funcdef": "def"}, "pydrex.io.resolve_path": {"fullname": "pydrex.io.resolve_path", "modulename": "pydrex.io", "qualname": "resolve_path", "kind": "function", "doc": "

    Resolve relative paths and create parent directories if necessary.

    \n\n

    Relative paths are interpreted with respect to the current working directory,\ni.e. the directory from whith the current Python process was executed,\nunless a specific reference directory is provided with refdir.

    \n", "signature": "(path, refdir=None):", "funcdef": "def"}, "pydrex.io.stringify": {"fullname": "pydrex.io.stringify", "modulename": "pydrex.io", "qualname": "stringify", "kind": "function", "doc": "

    Return a cleaned version of a string for use in filenames, etc.

    \n", "signature": "(s):", "funcdef": "def"}, "pydrex.io.data": {"fullname": "pydrex.io.data", "modulename": "pydrex.io", "qualname": "data", "kind": "function", "doc": "

    Get resolved path to a pydrex data folder.

    \n", "signature": "(folder):", "funcdef": "def"}, "pydrex.logger": {"fullname": "pydrex.logger", "modulename": "pydrex.logger", "kind": "module", "doc": "
    \n

    PyDRex: logger settings and boilerplate.

    \n
    \n\n

    Python's logging module is weird and its methods don't allow us to specify\nwhich logger to use, so just using logging.debug for example always uses\nthe \"root\" logger, which spams a bunch of messages from other imports/modules.\nInstead, the methods in this module are thin wrappers that use custom\nlogging objects (pydrex.logger.LOGGER and pydrex.logger.CONSOLE_LOGGER).\nThe method quiet_aliens can be invoked to suppress most messages\nfrom third-party modules, except critical errors and warnings from Numba.

    \n\n

    By default, PyDRex emits INFO level messages to the console.\nThis can be changed globally by setting the new level with CONSOLE_LOGGER.setLevel:

    \n\n
    \n
    from pydrex import logger as _log\n_log.info("this message will be printed to the console")\n\n_log.CONSOLE_LOGGER.setLevel("ERROR")\n_log.info("this message will NOT be printed to the console")\n_log.error("this message will be printed to the console")\n
    \n
    \n\n

    To change the console logging level for a particular local context,\nuse the handler_level context manager:

    \n\n
    \n
    _log.CONSOLE_LOGGER.setLevel("INFO")\n_log.info("this message will be printed to the console")\n\nwith handler_level("ERROR"):\n    _log.info("this message will NOT be printed to the console")\n\n_log.info("this message will be printed to the console")\n
    \n
    \n\n

    To save debug logs to a file, the logfile_enable context manager is recommended.\nAlways use the old printf style formatting for log messages, not fstrings,\notherwise compute time will be wasted on string conversions when logging is disabled:

    \n\n
    \n
    _log.quiet_aliens()  # Suppress third-party log messages except CRITICAL from Numba.\nwith _log.logfile_enable("my_log_file.log"):  # Overwrite existing file unless mode="a".\n    value = 42\n    _log.critical("critical error with value: %s", value)\n    _log.error("runtime error with value: %s", value)\n    _log.warning("warning with value: %s", value)\n    _log.info("information message with value: %s", value)\n    _log.debug("verbose debugging message with value: %s", value)\n    ... # Construct Minerals, update orientations, etc.\n
    \n
    \n"}, "pydrex.logger.ConsoleFormatter": {"fullname": "pydrex.logger.ConsoleFormatter", "modulename": "pydrex.logger", "qualname": "ConsoleFormatter", "kind": "class", "doc": "

    Log formatter that uses terminal color codes.

    \n", "bases": "logging.Formatter"}, "pydrex.logger.ConsoleFormatter.colorfmt": {"fullname": "pydrex.logger.ConsoleFormatter.colorfmt", "modulename": "pydrex.logger", "qualname": "ConsoleFormatter.colorfmt", "kind": "function", "doc": "

    \n", "signature": "(self, code):", "funcdef": "def"}, "pydrex.logger.ConsoleFormatter.format": {"fullname": "pydrex.logger.ConsoleFormatter.format", "modulename": "pydrex.logger", "qualname": "ConsoleFormatter.format", "kind": "function", "doc": "

    Format the specified record as text.

    \n\n

    The record's attribute dictionary is used as the operand to a\nstring formatting operation which yields the returned string.\nBefore formatting the dictionary, a couple of preparatory steps\nare carried out. The message attribute of the record is computed\nusing LogRecord.getMessage(). If the formatting string uses the\ntime (as determined by a call to usesTime(), formatTime() is\ncalled to format the event time. If there is exception information,\nit is formatted using formatException() and appended to the message.

    \n", "signature": "(self, record):", "funcdef": "def"}, "pydrex.logger.LOGGER": {"fullname": "pydrex.logger.LOGGER", "modulename": "pydrex.logger", "qualname": "LOGGER", "kind": "variable", "doc": "

    \n", "default_value": "<Logger pydrex (DEBUG)>"}, "pydrex.logger.LOGGER_CONSOLE": {"fullname": "pydrex.logger.LOGGER_CONSOLE", "modulename": "pydrex.logger", "qualname": "LOGGER_CONSOLE", "kind": "variable", "doc": "

    \n", "default_value": "<StreamHandler (INFO)>"}, "pydrex.logger.handler_level": {"fullname": "pydrex.logger.handler_level", "modulename": "pydrex.logger", "qualname": "handler_level", "kind": "function", "doc": "

    Set logging handler level for current context.

    \n\n

    Args:

    \n\n\n", "signature": "(level, handler=<StreamHandler (INFO)>):", "funcdef": "def"}, "pydrex.logger.logfile_enable": {"fullname": "pydrex.logger.logfile_enable", "modulename": "pydrex.logger", "qualname": "logfile_enable", "kind": "function", "doc": "

    Enable logging to a file at path with given level.

    \n", "signature": "(path, level=10, mode='w'):", "funcdef": "def"}, "pydrex.logger.critical": {"fullname": "pydrex.logger.critical", "modulename": "pydrex.logger", "qualname": "critical", "kind": "function", "doc": "

    Log a CRITICAL message in PyDRex.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.error": {"fullname": "pydrex.logger.error", "modulename": "pydrex.logger", "qualname": "error", "kind": "function", "doc": "

    Log an ERROR message in PyDRex.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.warning": {"fullname": "pydrex.logger.warning", "modulename": "pydrex.logger", "qualname": "warning", "kind": "function", "doc": "

    Log a WARNING message in PyDRex.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.info": {"fullname": "pydrex.logger.info", "modulename": "pydrex.logger", "qualname": "info", "kind": "function", "doc": "

    Log an INFO message in PyDRex.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.debug": {"fullname": "pydrex.logger.debug", "modulename": "pydrex.logger", "qualname": "debug", "kind": "function", "doc": "

    Log a DEBUG message in PyDRex.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.exception": {"fullname": "pydrex.logger.exception", "modulename": "pydrex.logger", "qualname": "exception", "kind": "function", "doc": "

    Log a message with level ERROR but retain exception information.

    \n\n

    This function should only be called from an exception handler.

    \n", "signature": "(msg, *args, **kwargs):", "funcdef": "def"}, "pydrex.logger.quiet_aliens": {"fullname": "pydrex.logger.quiet_aliens", "modulename": "pydrex.logger", "qualname": "quiet_aliens", "kind": "function", "doc": "

    Restrict alien loggers \ud83d\udc7d because I'm trying to find MY bugs, thanks.

    \n", "signature": "():", "funcdef": "def"}, "pydrex.minerals": {"fullname": "pydrex.minerals", "modulename": "pydrex.minerals", "kind": "module", "doc": "
    \n

    PyDRex: Computations of mineral texture and elasticity.

    \n
    \n"}, "pydrex.minerals.OLIVINE_STIFFNESS": {"fullname": "pydrex.minerals.OLIVINE_STIFFNESS", "modulename": "pydrex.minerals", "qualname": "OLIVINE_STIFFNESS", "kind": "variable", "doc": "

    Stiffness tensor for olivine (Voigt representation), with units of GPa.

    \n\n

    The source of the values used here is unknown, but they are copied\nfrom the original DRex code: http://www.ipgp.fr/~kaminski/web_doudoud/DRex.tar.gz [88K download]

    \n", "default_value": "array([[3.2071e+02, 6.984e+01, 7.122e+01, 0.e+00, 0.e+00, 0.e+00],\n [6.984e+01, 1.9725e+02, 7.48e+01, 0.e+00, 0.e+00, 0.e+00],\n [7.122e+01, 7.48e+01, 2.3432e+02, 0.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 6.377e+01, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 0.e+00, 7.767e+01, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 0.e+00, 0.e+00, 7.836e+01]])"}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"fullname": "pydrex.minerals.ENSTATITE_STIFFNESS", "modulename": "pydrex.minerals", "qualname": "ENSTATITE_STIFFNESS", "kind": "variable", "doc": "

    Stiffness tensor for enstatite (Voigt representation), with units of GPa.

    \n\n

    The source of the values used here is unknown, but they are copied\nfrom the original DRex code: http://www.ipgp.fr/~kaminski/web_doudoud/DRex.tar.gz [88K download]

    \n", "default_value": "array([[2.369e+02, 7.96e+01, 6.32e+01, 0.e+00, 0.e+00, 0.e+00],\n [7.96e+01, 1.805e+02, 5.68e+01, 0.e+00, 0.e+00, 0.e+00],\n [6.32e+01, 5.68e+01, 2.304e+02, 0.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 8.43e+01, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 0.e+00, 7.94e+01, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00, 0.e+00, 0.e+00, 8.01e+01]])"}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"fullname": "pydrex.minerals.OLIVINE_PRIMARY_AXIS", "modulename": "pydrex.minerals", "qualname": "OLIVINE_PRIMARY_AXIS", "kind": "variable", "doc": "

    Primary slip axis name for for the given olivine fabric.

    \n", "default_value": "{<MineralFabric.olivine_A: 0>: 'a', <MineralFabric.olivine_B: 1>: 'c', <MineralFabric.olivine_C: 2>: 'c', <MineralFabric.olivine_D: 3>: 'a', <MineralFabric.olivine_E: 4>: 'a'}"}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"fullname": "pydrex.minerals.OLIVINE_SLIP_SYSTEMS", "modulename": "pydrex.minerals", "qualname": "OLIVINE_SLIP_SYSTEMS", "kind": "variable", "doc": "

    Slip systems for olivine in conventional order.

    \n\n

    Tuples contain the slip plane normal and slip direction vectors.\nThe order of slip systems returned matches the order of critical shear stresses\nreturned by pydrex.core.get_crss.

    \n", "default_value": "(([0, 1, 0], [1, 0, 0]), ([0, 0, 1], [1, 0, 0]), ([0, 1, 0], [0, 0, 1]), ([1, 0, 0], [0, 0, 1]))"}, "pydrex.minerals.voigt_averages": {"fullname": "pydrex.minerals.voigt_averages", "modulename": "pydrex.minerals", "qualname": "voigt_averages", "kind": "function", "doc": "

    Calculate elastic tensors as the Voigt averages of a collection of minerals.

    \n\n

    Args:

    \n\n\n\n

    Raises a ValueError if the minerals contain an unequal number of grains or stored\ntexture results.

    \n", "signature": "(minerals, weights):", "funcdef": "def"}, "pydrex.minerals.Mineral": {"fullname": "pydrex.minerals.Mineral", "modulename": "pydrex.minerals", "qualname": "Mineral", "kind": "class", "doc": "

    Class for storing polycrystal texture for a single mineral phase.

    \n\n

    A Mineral stores texture data for an aggregate of grains*.\nAdditionally, mineral fabric type and deformation regime are also tracked.\nTo provide an initial texture for the mineral, use the constructor arguments\nfractions_init and orientations_init. By default,\na uniform volume distribution of random orientations is generated.

    \n\n

    The update_orientations method computes new orientations and grain volumes\nfor a given velocity gradient. These results are stored in the .orientations and\n.fractions attributes of the Mineral instance. The method also returns the\nupdated macroscopic deformation gradient based on the provided initial deformation\ngradient.

    \n\n

    *Note that the \"number of grains\" is a static integer value that\ndoes not track the actual number of physical grains in the deforming polycrystal.\nInstead, this number acts as a \"number of bins\" for the statistical resolution of\nthe crystallographic orientation distribution. The value is roughly equivalent to\n(a multiple of) the number of initial, un-recrystallised grains in the polycrystal.\nIt is assumed that recrystallised grains do not grow large enough to require\nrotation tracking.

    \n\n

    Examples:

    \n\n

    Mineral with isotropic initial texture:

    \n\n
    \n
    >>> import pydrex\n>>> pydrex.Mineral(\n>>>     phase=pydrex.MineralPhase.olivine,\n>>>     fabric=pydrex.MineralFabric.olivine_A,\n>>>     regime=pydrex.DeformationRegime.dislocation,\n>>>     n_grains=2000,\n>>> )\nMineral(phase=0, fabric=0, regime=1, n_grains=2000, fractions=<list of ndarray (2000,)>, orientations=<list of ndarray (2000, 3, 3)>)\n
    \n
    \n\n

    Mineral with specified initial texture and default phase, fabric and regime settings\nwhich are for an olivine A-type mineral in the dislocation creep regime.\nThe initial grain volume fractions should be normalised.

    \n\n
    \n
    >>> import numpy as np\n>>> from scipy.spatial.transform import Rotation\n>>> import pydrex\n>>> rng = np.random.default_rng()\n>>> n_grains = 2000\n>>> pydrex.Mineral(\n>>>     n_grains=n_grains,\n>>>     fractions_init=np.full(n_grains, 1 / n_grains),\n>>>     orientations_init=Rotation.from_euler(\n>>>         "zxz", [[x * np.pi / 2, np.pi / /2, np.pi / 2] for x in rng.random(n_grains)]\n>>>     ).inv().as_matrix(),\n>>> )\nMineral(phase=0, fabric=0, regime=1, n_grains=2000, fractions=<list of ndarray (2000,)>, orientations=<list of ndarray (2000, 3, 3)>)\n
    \n
    \n\n

    Attributes:

    \n\n\n"}, "pydrex.minerals.Mineral.__init__": {"fullname": "pydrex.minerals.Mineral.__init__", "modulename": "pydrex.minerals", "qualname": "Mineral.__init__", "kind": "function", "doc": "

    \n", "signature": "(\tphase: int = <MineralPhase.olivine: 0>,\tfabric: int = <MineralFabric.olivine_A: 0>,\tregime: int = <DeformationRegime.dislocation: 1>,\tn_grains: int = 1000,\tfractions_init: numpy.ndarray = None,\torientations_init: numpy.ndarray = None,\tfractions: list = <factory>,\torientations: list = <factory>,\tseed: int = None,\tlband: int = None,\tuband: int = None)"}, "pydrex.minerals.Mineral.phase": {"fullname": "pydrex.minerals.Mineral.phase", "modulename": "pydrex.minerals", "qualname": "Mineral.phase", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "<MineralPhase.olivine: 0>"}, "pydrex.minerals.Mineral.fabric": {"fullname": "pydrex.minerals.Mineral.fabric", "modulename": "pydrex.minerals", "qualname": "Mineral.fabric", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "<MineralFabric.olivine_A: 0>"}, "pydrex.minerals.Mineral.regime": {"fullname": "pydrex.minerals.Mineral.regime", "modulename": "pydrex.minerals", "qualname": "Mineral.regime", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "<DeformationRegime.dislocation: 1>"}, "pydrex.minerals.Mineral.n_grains": {"fullname": "pydrex.minerals.Mineral.n_grains", "modulename": "pydrex.minerals", "qualname": "Mineral.n_grains", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "1000"}, "pydrex.minerals.Mineral.fractions_init": {"fullname": "pydrex.minerals.Mineral.fractions_init", "modulename": "pydrex.minerals", "qualname": "Mineral.fractions_init", "kind": "variable", "doc": "

    \n", "annotation": ": numpy.ndarray", "default_value": "None"}, "pydrex.minerals.Mineral.orientations_init": {"fullname": "pydrex.minerals.Mineral.orientations_init", "modulename": "pydrex.minerals", "qualname": "Mineral.orientations_init", "kind": "variable", "doc": "

    \n", "annotation": ": numpy.ndarray", "default_value": "None"}, "pydrex.minerals.Mineral.fractions": {"fullname": "pydrex.minerals.Mineral.fractions", "modulename": "pydrex.minerals", "qualname": "Mineral.fractions", "kind": "variable", "doc": "

    \n", "annotation": ": list"}, "pydrex.minerals.Mineral.orientations": {"fullname": "pydrex.minerals.Mineral.orientations", "modulename": "pydrex.minerals", "qualname": "Mineral.orientations", "kind": "variable", "doc": "

    \n", "annotation": ": list"}, "pydrex.minerals.Mineral.seed": {"fullname": "pydrex.minerals.Mineral.seed", "modulename": "pydrex.minerals", "qualname": "Mineral.seed", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "None"}, "pydrex.minerals.Mineral.lband": {"fullname": "pydrex.minerals.Mineral.lband", "modulename": "pydrex.minerals", "qualname": "Mineral.lband", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "None"}, "pydrex.minerals.Mineral.uband": {"fullname": "pydrex.minerals.Mineral.uband", "modulename": "pydrex.minerals", "qualname": "Mineral.uband", "kind": "variable", "doc": "

    \n", "annotation": ": int", "default_value": "None"}, "pydrex.minerals.Mineral.update_orientations": {"fullname": "pydrex.minerals.Mineral.update_orientations", "modulename": "pydrex.minerals", "qualname": "Mineral.update_orientations", "kind": "function", "doc": "

    Update orientations and volume distribution for the Mineral.

    \n\n

    Update crystalline orientations and grain volume distribution\nfor minerals undergoing plastic deformation.

    \n\n

    Args:

    \n\n\n\n

    Any additional (optional) keyword arguments are passed to\nscipy.integrate.LSODA.

    \n\n

    Array values must provide a NumPy-compatible interface:\nhttps://numpy.org/doc/stable/user/whatisnumpy.html

    \n", "signature": "(\tself,\tconfig,\tdeformation_gradient,\tget_velocity_gradient,\tpathline,\t**kwargs):", "funcdef": "def"}, "pydrex.minerals.Mineral.save": {"fullname": "pydrex.minerals.Mineral.save", "modulename": "pydrex.minerals", "qualname": "Mineral.save", "kind": "function", "doc": "

    Save CPO data for all stored timesteps to a numpy NPZ file.

    \n\n

    If postfix is not None, the data is appended to the NPZ file\nin fields ending with \"_postfix\".

    \n\n

    Raises a ValueError if the data shapes are not compatible.

    \n\n

    See also: numpy.savez, Mineral.load, Mineral.from_file.

    \n", "signature": "(self, filename, postfix=None):", "funcdef": "def"}, "pydrex.minerals.Mineral.load": {"fullname": "pydrex.minerals.Mineral.load", "modulename": "pydrex.minerals", "qualname": "Mineral.load", "kind": "function", "doc": "

    Load CPO data from a numpy NPZ file.

    \n\n

    If postfix is not None, data is read from fields ending with \"_postfix\".

    \n\n

    See also: Mineral.save, Mineral.from_file.

    \n", "signature": "(self, filename, postfix=None):", "funcdef": "def"}, "pydrex.minerals.Mineral.from_file": {"fullname": "pydrex.minerals.Mineral.from_file", "modulename": "pydrex.minerals", "qualname": "Mineral.from_file", "kind": "function", "doc": "

    Construct a Mineral instance using data from a numpy NPZ file.

    \n\n

    If postfix is not None, data is read from fields ending with \u201c_postfix\u201d.

    \n\n

    See also: Mineral.save, Mineral.load.

    \n", "signature": "(cls, filename, postfix=None):", "funcdef": "def"}, "pydrex.mock": {"fullname": "pydrex.mock", "modulename": "pydrex.mock", "kind": "module", "doc": "
    \n

    PyDRex: Mock objects for testing and reproducibility.

    \n
    \n"}, "pydrex.mock.PARAMS_FRATERS2021": {"fullname": "pydrex.mock.PARAMS_FRATERS2021", "modulename": "pydrex.mock", "qualname": "PARAMS_FRATERS2021", "kind": "variable", "doc": "

    Values used for tests 1, 2 and 4 in https://doi.org/10.1029/2021gc009846.

    \n", "default_value": "{'olivine_fraction': 0.7, 'enstatite_fraction': 0.3, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 125, 'gbs_threshold': 0.3, 'nucleation_efficiency': 5, 'number_of_grains': 500}"}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2001_FIG5_SOLID", "kind": "variable", "doc": "

    Values used for the M*=0 test in https://doi.org/10.1016/s0012-821x(01)00356-9.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 0, 'gbs_threshold': 0, 'nucleation_efficiency': 5, 'number_of_grains': 3375}"}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2001_FIG5_SHORTDASH", "kind": "variable", "doc": "

    Values used for the M*=50 test in https://doi.org/10.1016/s0012-821x(01)00356-9.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 50, 'gbs_threshold': 0, 'nucleation_efficiency': 5, 'number_of_grains': 3375}"}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2001_FIG5_LONGDASH", "kind": "variable", "doc": "

    Values used for the M*=200 test in https://doi.org/10.1016/s0012-821x(01)00356-9.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 200, 'gbs_threshold': 0, 'nucleation_efficiency': 5, 'number_of_grains': 3375}"}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2004_FIG4_TRIANGLES", "kind": "variable", "doc": "

    Values used for the \u03c7=0.4 test in https://doi.org/10.1111/j.1365-246x.2004.02308.x.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 125, 'gbs_threshold': 0.4, 'nucleation_efficiency': 5, 'number_of_grains': 4394}"}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2004_FIG4_SQUARES", "kind": "variable", "doc": "

    Values used for the \u03c7=0.2 test in https://doi.org/10.1111/j.1365-246x.2004.02308.x.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 125, 'gbs_threshold': 0.2, 'nucleation_efficiency': 5, 'number_of_grains': 4394}"}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"fullname": "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES", "modulename": "pydrex.mock", "qualname": "PARAMS_KAMINSKI2004_FIG4_CIRCLES", "kind": "variable", "doc": "

    Values used for the \u03c7=0 test in https://doi.org/10.1111/j.1365-246x.2004.02308.x.

    \n", "default_value": "{'olivine_fraction': 1, 'enstatite_fraction': 0, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 125, 'gbs_threshold': 0, 'nucleation_efficiency': 5, 'number_of_grains': 4394}"}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"fullname": "pydrex.mock.PARAMS_HEDJAZIAN2017", "modulename": "pydrex.mock", "qualname": "PARAMS_HEDJAZIAN2017", "kind": "variable", "doc": "

    Values used for the MOR model in https://doi.org/10.1016/j.epsl.2016.12.004.

    \n", "default_value": "{'olivine_fraction': 0.7, 'enstatite_fraction': 0.3, 'initial_olivine_fabric': <MineralFabric.olivine_A: 0>, 'stress_exponent': 1.5, 'deformation_exponent': 3.5, 'gbm_mobility': 10, 'gbs_threshold': 0.2, 'nucleation_efficiency': 5, 'number_of_grains': 2197}"}, "pydrex.pathlines": {"fullname": "pydrex.pathlines", "modulename": "pydrex.pathlines", "kind": "module", "doc": "
    \n

    PyDRex: Functions for pathline construction.

    \n
    \n"}, "pydrex.pathlines.get_pathline": {"fullname": "pydrex.pathlines.get_pathline", "modulename": "pydrex.pathlines", "qualname": "get_pathline", "kind": "function", "doc": "

    Determine the pathline for a particle in a steady state flow.

    \n\n

    The pathline will intersect the given point and follow a curve determined by\nthe interpolated velocity gradient.

    \n\n

    Args:\n point (NumPy array) \u2014 coordinates of the point\n interp_velocity (interpolator) \u2014 returns velocity vector at a point\n interp_velocity_gradient (interpolator) \u2014 returns \u2207v (3x3 matrix) at a point\n min_coords (iterable) \u2014 lower bound coordinate of the interpolation grid\n max_coords (iterable) \u2014 upper bound coordinate of the interpolation grid

    \n\n

    Returns a tuple containing the time points and an interpolant that can be used\nto evaluate the pathline position (see scipy.integrate.OdeSolution).

    \n", "signature": "(\tpoint,\tinterp_velocity,\tinterp_velocity_gradient,\tmin_coords,\tmax_coords):", "funcdef": "def"}, "pydrex.stats": {"fullname": "pydrex.stats", "modulename": "pydrex.stats", "kind": "module", "doc": "
    \n

    PyDRex: Statistical methods for orientation and elasticity data.

    \n
    \n"}, "pydrex.stats.resample_orientations": {"fullname": "pydrex.stats.resample_orientations", "modulename": "pydrex.stats", "qualname": "resample_orientations", "kind": "function", "doc": "

    Generate new samples from orientations weighed by the volume distribution.

    \n\n

    If the optional number of samples n_samples is not specified,\nit will be set to the number of original \"grains\" (length of fractions).\nThe argument seed can be used to seed the random number generator.

    \n", "signature": "(orientations, fractions, n_samples=None, seed=None):", "funcdef": "def"}, "pydrex.stats.misorientations_random": {"fullname": "pydrex.stats.misorientations_random", "modulename": "pydrex.stats", "qualname": "misorientations_random", "kind": "function", "doc": "

    Get expected count of misorientation angles for an isotropic aggregate.

    \n\n

    Estimate the expected number of misorientation angles between grains\nthat would fall within $($low, high$)$ in degrees for an aggregate\nwith randomly oriented grains, where low $\u2208 [0, $high$)$,\nand high is bounded by the maximum theoretical misorientation angle\nfor the given symmetry system.

    \n\n

    The optional argument system accepts a tuple of integers (a, b)\nthat specifies the crystal symmetry system according to:

    \n\n
    system  triclinic  monoclinic  orthorhombic  rhombohedral tetragonal hexagonal\n------------------------------------------------------------------------------\na       1          2           2             3            4          6\nb       1          2           4             6            8          12\n\u03b8max    180\u00b0       180\u00b0        120\u00b0          120\u00b0         90\u00b0        90\u00b0\n
    \n\n

    This is identically Table 1 in Grimmer 1979.\nThe orthorhombic system (olivine) is selected by default.

    \n", "signature": "(low, high, system=(2, 4)):", "funcdef": "def"}, "pydrex.stats.point_density": {"fullname": "pydrex.stats.point_density", "modulename": "pydrex.stats", "qualname": "point_density", "kind": "function", "doc": "

    Estimate point density of orientation data on the unit sphere.

    \n\n

    Estimates the density of orientations on the unit sphere by counting the input data\nthat falls within small areas around a uniform grid of spherical counting locations.\nThe input data is expected in cartesian coordinates, and the contouring is performed\nusing kernel functions defined in Vollmer 1995.\nThe following optional parameters control the contouring method:

    \n\n\n\n

    Any other keyword arguments are passed to the kernel function calls.\nMost kernels accept a parameter \u03c3 to control the degree of smoothing.

    \n", "signature": "(\tx_data,\ty_data,\tz_data,\tgridsteps=101,\tweights=1,\tkernel='linear_inverse_kamb',\taxial=True,\t**kwargs):", "funcdef": "def"}, "pydrex.stats.exponential_kamb": {"fullname": "pydrex.stats.exponential_kamb", "modulename": "pydrex.stats", "qualname": "exponential_kamb", "kind": "function", "doc": "

    Kernel function from Vollmer 1995 for exponential smoothing.

    \n", "signature": "(cos_dist, \u03c3=10, axial=True):", "funcdef": "def"}, "pydrex.stats.linear_inverse_kamb": {"fullname": "pydrex.stats.linear_inverse_kamb", "modulename": "pydrex.stats", "qualname": "linear_inverse_kamb", "kind": "function", "doc": "

    Kernel function from Vollmer 1995 for linear smoothing.

    \n", "signature": "(cos_dist, \u03c3=10, axial=True):", "funcdef": "def"}, "pydrex.stats.square_inverse_kamb": {"fullname": "pydrex.stats.square_inverse_kamb", "modulename": "pydrex.stats", "qualname": "square_inverse_kamb", "kind": "function", "doc": "

    Kernel function from Vollmer 1995 for inverse square smoothing.

    \n", "signature": "(cos_dist, \u03c3=10, axial=True):", "funcdef": "def"}, "pydrex.stats.kamb_count": {"fullname": "pydrex.stats.kamb_count", "modulename": "pydrex.stats", "qualname": "kamb_count", "kind": "function", "doc": "

    Original Kamb 1959 kernel function (raw count within radius).

    \n", "signature": "(cos_dist, \u03c3=10, axial=True):", "funcdef": "def"}, "pydrex.stats.schmidt_count": {"fullname": "pydrex.stats.schmidt_count", "modulename": "pydrex.stats", "qualname": "schmidt_count", "kind": "function", "doc": "

    Schmidt (a.k.a. 1%) counting kernel function.

    \n", "signature": "(cos_dist, axial=None):", "funcdef": "def"}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"fullname": "pydrex.stats.SPHERICAL_COUNTING_KERNELS", "modulename": "pydrex.stats", "qualname": "SPHERICAL_COUNTING_KERNELS", "kind": "variable", "doc": "

    Kernel functions that return an un-summed distribution and a normalization factor.

    \n\n

    Supported kernel functions are based on the discussion in\nVollmer 1995.\nKamb methods accept the parameter \u03c3 (default: 10) to control the degree of smoothing.\nValues lower than 3 and higher than 20 are not recommended.

    \n", "default_value": "{'kamb_count': <function kamb_count>, 'schmidt_count': <function schmidt_count>, 'exponential_kamb': <function exponential_kamb>, 'linear_inverse_kamb': <function linear_inverse_kamb>, 'square_inverse_kamb': <function square_inverse_kamb>}"}, "pydrex.tensors": {"fullname": "pydrex.tensors", "modulename": "pydrex.tensors", "kind": "module", "doc": "
    \n

    PyDRex: Tensor operation functions and helpers.

    \n
    \n\n

    For Voigt notation, the symmetric 6x6 matrix representation is used,\nwhich assumes that the fourth order tensor being represented as such is also symmetric.\nThe vectorial notation uses 21 components which are the independent components of the\nsymmetric 6x6 matrix.

    \n"}, "pydrex.tensors.PERMUTATION_SYMBOL": {"fullname": "pydrex.tensors.PERMUTATION_SYMBOL", "modulename": "pydrex.tensors", "qualname": "PERMUTATION_SYMBOL", "kind": "variable", "doc": "

    \n", "default_value": "array([[[0.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 1.e+00],\n [0.e+00, -1.e+00, 0.e+00]],\n\n [[0.e+00, 0.e+00, -1.e+00],\n [0.e+00, 0.e+00, 0.e+00],\n [1.e+00, 0.e+00, 0.e+00]],\n\n [[0.e+00, 1.e+00, 0.e+00],\n [-1.e+00, 0.e+00, 0.e+00],\n [0.e+00, 0.e+00, 0.e+00]]])"}, "pydrex.tensors.voigt_decompose": {"fullname": "pydrex.tensors.voigt_decompose", "modulename": "pydrex.tensors", "qualname": "voigt_decompose", "kind": "function", "doc": "

    Decompose elastic tensor (as 6x6 Voigt matrix) into distinct contractions.

    \n\n

    Return the only two independent contractions of the elastic tensor, given as a 6x6\nVoigt matrix. For the equivalent 4-th order elastic tensor, the contractions are:

    \n\n\n\n

    See Equations 3.4 & 3.5 in Browaeys & Chevrot.

    \n", "signature": "(matrix):", "funcdef": "def"}, "pydrex.tensors.hex_projector": {"fullname": "pydrex.tensors.hex_projector", "modulename": "pydrex.tensors", "qualname": "hex_projector", "kind": "function", "doc": "

    Projector p\u2084 onto hexagonal (a.k.a. transverse isotropy) symmetry.

    \n\n

    See Browaeys & Chevrot.

    \n", "signature": "(x):", "funcdef": "def"}, "pydrex.tensors.upper_tri_to_symmetric": {"fullname": "pydrex.tensors.upper_tri_to_symmetric", "modulename": "pydrex.tensors", "qualname": "upper_tri_to_symmetric", "kind": "function", "doc": "

    Create symmetric array using upper triangle of input array.

    \n\n
    \n
    >>> import numpy as np\n>>> upper_tri_to_symmetric(np.array([\n>>>         [ 1.,  2.,  3.,  4.],\n>>>         [ 0.,  5.,  6.,  7.],\n>>>         [ 0.,  0.,  8.,  9.],\n>>>         [ 9.,  0.,  0., 10.]\n>>> ]))\narray([[ 1.,  2.,  3.,  4.],\n       [ 2.,  5.,  6.,  7.],\n       [ 3.,  6.,  8.,  9.],\n       [ 4.,  7.,  9., 10.]])\n
    \n
    \n", "signature": "(arr):", "funcdef": "def"}, "pydrex.tensors.voigt_to_elastic_tensor": {"fullname": "pydrex.tensors.voigt_to_elastic_tensor", "modulename": "pydrex.tensors", "qualname": "voigt_to_elastic_tensor", "kind": "function", "doc": "

    Create 4-th order elastic tensor from an equivalent Voigt matrix.

    \n\n

    See also: elastic_tensor_to_voigt.

    \n", "signature": "(matrix):", "funcdef": "def"}, "pydrex.tensors.elastic_tensor_to_voigt": {"fullname": "pydrex.tensors.elastic_tensor_to_voigt", "modulename": "pydrex.tensors", "qualname": "elastic_tensor_to_voigt", "kind": "function", "doc": "

    Create a 6x6 Voigt matrix from an equivalent 4-th order elastic tensor.

    \n", "signature": "(tensor):", "funcdef": "def"}, "pydrex.tensors.voigt_matrix_to_vector": {"fullname": "pydrex.tensors.voigt_matrix_to_vector", "modulename": "pydrex.tensors", "qualname": "voigt_matrix_to_vector", "kind": "function", "doc": "

    Create the 21-component Voigt vector equivalent to the 6x6 Voigt matrix.

    \n", "signature": "(matrix):", "funcdef": "def"}, "pydrex.tensors.voigt_vector_to_matrix": {"fullname": "pydrex.tensors.voigt_vector_to_matrix", "modulename": "pydrex.tensors", "qualname": "voigt_vector_to_matrix", "kind": "function", "doc": "

    Create the 6x6 matrix representation of the 21-component Voigt vector.

    \n\n

    See also: voigt_matrix_to_vector.

    \n", "signature": "(vector):", "funcdef": "def"}, "pydrex.tensors.rotate": {"fullname": "pydrex.tensors.rotate", "modulename": "pydrex.tensors", "qualname": "rotate", "kind": "function", "doc": "

    Rotate 4-th order tensor using a 3x3 rotation matrix.

    \n", "signature": "(tensor, rotation):", "funcdef": "def"}, "pydrex.utils": {"fullname": "pydrex.utils", "modulename": "pydrex.utils", "kind": "module", "doc": "
    \n

    PyDRex: Miscellaneous utility methods.

    \n
    \n"}, "pydrex.utils.remove_nans": {"fullname": "pydrex.utils.remove_nans", "modulename": "pydrex.utils", "qualname": "remove_nans", "kind": "function", "doc": "

    Remove NaN values from array.

    \n", "signature": "(a):", "funcdef": "def"}, "pydrex.utils.readable_timestamp": {"fullname": "pydrex.utils.readable_timestamp", "modulename": "pydrex.utils", "qualname": "readable_timestamp", "kind": "function", "doc": "

    Convert timestamp in fractional seconds to human readable format.

    \n", "signature": "(timestamp, tformat='%H:%M:%S'):", "funcdef": "def"}, "pydrex.utils.angle_fse_simpleshear": {"fullname": "pydrex.utils.angle_fse_simpleshear", "modulename": "pydrex.utils", "qualname": "angle_fse_simpleshear", "kind": "function", "doc": "

    Get angle of FSE long axis anticlockwise from the X axis in simple shear.

    \n", "signature": "(strain):", "funcdef": "def"}, "pydrex.velocity_gradients": {"fullname": "pydrex.velocity_gradients", "modulename": "pydrex.velocity_gradients", "kind": "module", "doc": "
    \n

    PyDRex: Steady-state solutions of velocity gradients for various flows.

    \n
    \n"}, "pydrex.velocity_gradients.simple_shear_2d": {"fullname": "pydrex.velocity_gradients.simple_shear_2d", "modulename": "pydrex.velocity_gradients", "qualname": "simple_shear_2d", "kind": "function", "doc": "

    Return simple shear velocity gradient callable f(x) for the given parameters.

    \n", "signature": "(direction, deformation_plane, strain_rate):", "funcdef": "def"}, "pydrex.visualisation": {"fullname": "pydrex.visualisation", "modulename": "pydrex.visualisation", "kind": "module", "doc": "
    \n

    PyDRex: Visualisation functions for test outputs and examples.

    \n
    \n"}, "pydrex.visualisation.polefigures": {"fullname": "pydrex.visualisation.polefigures", "modulename": "pydrex.visualisation", "qualname": "polefigures", "kind": "function", "doc": "

    Plot pole figures of a series of (Nx3x3) orientation matrix stacks.

    \n\n

    Produces [100], [010] and [001] pole figures for (resampled) orientations.\nFor the argument specification, check the output of pydrex-polefigures --help\non the command line.

    \n", "signature": "(\torientations,\tref_axes,\ti_range,\tdensity=False,\tsavefile='polefigures.png',\tstrains=None,\t**kwargs):", "funcdef": "def"}, "pydrex.visualisation.simple_shear_stationary_2d": {"fullname": "pydrex.visualisation.simple_shear_stationary_2d", "modulename": "pydrex.visualisation", "qualname": "simple_shear_stationary_2d", "kind": "function", "doc": "

    Plot diagnostics for stationary A-type olivine 2D simple shear box tests.

    \n", "signature": "(\tstrains,\tangles,\tpoint100_symmetry,\ttarget_angles=None,\tangles_err=None,\tsavefile='pydrex_simple_shear_stationary_2d.png',\tmarkers='.',\t\u03b8_fse=None,\tlabels=None,\ta_type=True):", "funcdef": "def"}, "pydrex.visualisation.corner_flow_2d": {"fullname": "pydrex.visualisation.corner_flow_2d", "modulename": "pydrex.visualisation", "qualname": "corner_flow_2d", "kind": "function", "doc": "

    Plot diagnostics for prescribed path 2D corner flow tests.

    \n", "signature": "(\tx_paths,\tz_paths,\tangles,\tindices,\tdirections,\ttimestamps,\txlabel,\tsavefile='pydrex_corner_2d.png',\tmarkers='.',\tlabels=None,\txlims=None,\tzlims=None,\tcpo_threshold=0.33,\t\u03a0_levels=(0.1, 0.5, 1, 2, 3),\ttick_formatter=<function <lambda>>):", "funcdef": "def"}, "pydrex.visualisation.single_olivineA_simple_shear": {"fullname": "pydrex.visualisation.single_olivineA_simple_shear", "modulename": "pydrex.visualisation", "qualname": "single_olivineA_simple_shear", "kind": "function", "doc": "

    \n", "signature": "(\tinitial_angles,\trotation_rates,\ttarget_rotation_rates,\tsavefile='single_olivineA_simple_shear.png'):", "funcdef": "def"}, "pydrex.vtk_helpers": {"fullname": "pydrex.vtk_helpers", "modulename": "pydrex.vtk_helpers", "kind": "module", "doc": "
    \n

    PyDRex: VTK wrappers and helper functions.

    \n
    \n"}, "pydrex.vtk_helpers.get_output": {"fullname": "pydrex.vtk_helpers.get_output", "modulename": "pydrex.vtk_helpers", "qualname": "get_output", "kind": "function", "doc": "

    Get a reference to an unstructured (XML) VTK grid stored in filename.

    \n\n

    Only supports modern vtk formats, i.e. .vtu and .pvtu files.

    \n", "signature": "(filename):", "funcdef": "def"}, "pydrex.vtk_helpers.read_tuple_array": {"fullname": "pydrex.vtk_helpers.read_tuple_array", "modulename": "pydrex.vtk_helpers", "qualname": "read_tuple_array", "kind": "function", "doc": "

    Read tuples from VTK points into a numpy array.

    \n\n

    Create a numpy array from tuples extracted from a vtkPointData object.\nThe returned array has a shape of either (N, d) for vector data,\nor (N, d, d) for matrix data, where N is the number of VTK nodes\nand d is the dimension (3 by default, or 2 if skip3 is True).

    \n\n

    If skip3 is True, the domain is assumed to be two-dimensional,\nand any values corresponding to a third dimension are skipped.

    \n\n

    Throws a LookupError if the fieldname string does not match any data.

    \n", "signature": "(points, fieldname, skip3=False):", "funcdef": "def"}, "pydrex.vtk_helpers.read_coord_array": {"fullname": "pydrex.vtk_helpers.read_coord_array", "modulename": "pydrex.vtk_helpers", "qualname": "read_coord_array", "kind": "function", "doc": "

    Read coordinates from vtkgrid into a numpy array.

    \n\n

    Create a numpy array with coordinates extracted from a vtk{Uns,S}tructuredGrid\nobject.

    \n\n

    If skip_empty is True (default), columns full of zeros are skipped.\nThese are often present in VTK output files from 2D simulations.

    \n\n

    If depth_conversion is True (default), the last nonzero column is assumed\nto contain height values which are converted to depth values by subtraction\nfrom the maximum value.

    \n", "signature": "(vtkgrid, skip_empty=True, convert_depth=True):", "funcdef": "def"}, "pydrex.vtk_helpers.get_steps": {"fullname": "pydrex.vtk_helpers.get_steps", "modulename": "pydrex.vtk_helpers", "qualname": "get_steps", "kind": "function", "doc": "

    Get forward difference of 2D array a, with repeated last elements.

    \n\n

    The repeated last elements ensure that output and input arrays have equal shape.

    \n\n

    Examples:

    \n\n
    \n
    >>> _get_steps(np.array([1, 2, 3, 4, 5]))\narray([[1, 1, 1, 1, 1]])\n
    \n
    \n\n
    \n
    >>> _get_steps(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10]]))\narray([[1, 1, 1, 1, 1],\n       [2, 3, 3, 1, 1]])\n
    \n
    \n\n
    \n
    >>> _get_steps(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10], [1, 0, 0, 0, np.inf]]))\narray([[ 1.,  1.,  1.,  1.,  1.],\n       [ 2.,  3.,  3.,  1.,  1.],\n       [-1.,  0.,  0., inf, nan]])\n
    \n
    \n", "signature": "(a):", "funcdef": "def"}, "tests": {"fullname": "tests", "modulename": "tests", "kind": "module", "doc": "

    PyDRex tests

    \n\n

    Running the tests requires pytest.\nFrom the root of the source tree, run pytest.\nTo print more verbose information (including INFO level logging),\nuse the flag pytest -v.\nThe custom optional flag --outdir=\"OUT\" can be used\nto produce output figures, data dumps and logs and save them in the directory \"OUT\".\nThe value \".\" can be used to save these in the current directory.\nLong tests/examples are disabled by default to prevent clogging up the CI,\nthey can be enabled with --runslow.\nTo mark a test as slow,\nadd the @pytest.mark.slow decorator above its method definition.

    \n\n

    Tests should not produce persistent output by default.\nIf a test method can produce such output for debugging, it should accept the outdir\npositional argument, and check if its value is not None.\nIf outdir is None then no persistent output should be produced.\nIf outdir is a directory path (string):

    \n\n\n"}, "tests.conftest": {"fullname": "tests.conftest", "modulename": "tests.conftest", "kind": "module", "doc": "
    \n

    Configuration and fixtures for PyDRex tests.

    \n
    \n"}, "tests.conftest.pytest_addoption": {"fullname": "tests.conftest.pytest_addoption", "modulename": "tests.conftest", "qualname": "pytest_addoption", "kind": "function", "doc": "

    \n", "signature": "(parser):", "funcdef": "def"}, "tests.conftest.PytestConsoleLogger": {"fullname": "tests.conftest.PytestConsoleLogger", "modulename": "tests.conftest", "qualname": "PytestConsoleLogger", "kind": "class", "doc": "

    Pytest plugin that allows linking up a custom console logger.

    \n", "bases": "_pytest.logging.LoggingPlugin"}, "tests.conftest.PytestConsoleLogger.__init__": {"fullname": "tests.conftest.PytestConsoleLogger.__init__", "modulename": "tests.conftest", "qualname": "PytestConsoleLogger.__init__", "kind": "function", "doc": "

    Create a new plugin to capture log messages.

    \n\n

    The formatter can be safely shared across all handlers so\ncreate a single one for the entire test session here.

    \n", "signature": "(config, *args, **kwargs)"}, "tests.conftest.PytestConsoleLogger.name": {"fullname": "tests.conftest.PytestConsoleLogger.name", "modulename": "tests.conftest", "qualname": "PytestConsoleLogger.name", "kind": "variable", "doc": "

    \n", "default_value": "'pytest-console-logger'"}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"fullname": "tests.conftest.PytestConsoleLogger.log_cli_handler", "modulename": "tests.conftest", "qualname": "PytestConsoleLogger.log_cli_handler", "kind": "variable", "doc": "

    \n"}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"fullname": "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown", "modulename": "tests.conftest", "qualname": "PytestConsoleLogger.pytest_runtest_teardown", "kind": "function", "doc": "

    \n", "signature": "(self, item):", "funcdef": "def"}, "tests.conftest.pytest_configure": {"fullname": "tests.conftest.pytest_configure", "modulename": "tests.conftest", "qualname": "pytest_configure", "kind": "function", "doc": "

    \n", "signature": "(config):", "funcdef": "def"}, "tests.conftest.pytest_collection_modifyitems": {"fullname": "tests.conftest.pytest_collection_modifyitems", "modulename": "tests.conftest", "qualname": "pytest_collection_modifyitems", "kind": "function", "doc": "

    \n", "signature": "(config, items):", "funcdef": "def"}, "tests.conftest.outdir": {"fullname": "tests.conftest.outdir", "modulename": "tests.conftest", "qualname": "outdir", "kind": "function", "doc": "

    \n", "signature": "(request):", "funcdef": "def"}, "tests.conftest.ncpus": {"fullname": "tests.conftest.ncpus", "modulename": "tests.conftest", "qualname": "ncpus", "kind": "function", "doc": "

    \n", "signature": "(request):", "funcdef": "def"}, "tests.conftest.console_handler": {"fullname": "tests.conftest.console_handler", "modulename": "tests.conftest", "qualname": "console_handler", "kind": "function", "doc": "

    \n", "signature": "(request):", "funcdef": "def"}, "tests.conftest.params_Fraters2021": {"fullname": "tests.conftest.params_Fraters2021", "modulename": "tests.conftest", "qualname": "params_Fraters2021", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2001_fig5_solid": {"fullname": "tests.conftest.params_Kaminski2001_fig5_solid", "modulename": "tests.conftest", "qualname": "params_Kaminski2001_fig5_solid", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"fullname": "tests.conftest.params_Kaminski2001_fig5_shortdash", "modulename": "tests.conftest", "qualname": "params_Kaminski2001_fig5_shortdash", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"fullname": "tests.conftest.params_Kaminski2001_fig5_longdash", "modulename": "tests.conftest", "qualname": "params_Kaminski2001_fig5_longdash", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"fullname": "tests.conftest.params_Kaminski2004_fig4_triangles", "modulename": "tests.conftest", "qualname": "params_Kaminski2004_fig4_triangles", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2004_fig4_squares": {"fullname": "tests.conftest.params_Kaminski2004_fig4_squares", "modulename": "tests.conftest", "qualname": "params_Kaminski2004_fig4_squares", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Kaminski2004_fig4_circles": {"fullname": "tests.conftest.params_Kaminski2004_fig4_circles", "modulename": "tests.conftest", "qualname": "params_Kaminski2004_fig4_circles", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.params_Hedjazian2017": {"fullname": "tests.conftest.params_Hedjazian2017", "modulename": "tests.conftest", "qualname": "params_Hedjazian2017", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.hkl": {"fullname": "tests.conftest.hkl", "modulename": "tests.conftest", "qualname": "hkl", "kind": "function", "doc": "

    \n", "signature": "(request):", "funcdef": "def"}, "tests.conftest.ref_axes": {"fullname": "tests.conftest.ref_axes", "modulename": "tests.conftest", "qualname": "ref_axes", "kind": "function", "doc": "

    \n", "signature": "(request):", "funcdef": "def"}, "tests.conftest.seeds": {"fullname": "tests.conftest.seeds", "modulename": "tests.conftest", "qualname": "seeds", "kind": "function", "doc": "

    1000 unique seeds for ensemble runs that need an RNG seed.

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.seed": {"fullname": "tests.conftest.seed", "modulename": "tests.conftest", "qualname": "seed", "kind": "function", "doc": "

    Default seed for test RNG.

    \n", "signature": "():", "funcdef": "def"}, "tests.conftest.seeds_nearX45": {"fullname": "tests.conftest.seeds_nearX45", "modulename": "tests.conftest", "qualname": "seeds_nearX45", "kind": "function", "doc": "

    41 seeds which have the initial hexagonal symmetry axis near 45\u00b0 from X.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_config": {"fullname": "tests.test_config", "modulename": "tests.test_config", "kind": "module", "doc": "
    \n

    PyDRex: tests for configuration file format.

    \n
    \n"}, "tests.test_config.test_specfile": {"fullname": "tests.test_config.test_specfile", "modulename": "tests.test_config", "qualname": "test_specfile", "kind": "function", "doc": "

    Test TOML spec file parsing.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_core": {"fullname": "tests.test_core", "modulename": "tests.test_core", "kind": "module", "doc": "
    \n

    PyDRex: tests for core D-Rex routines.

    \n
    \n"}, "tests.test_core.SUBDIR": {"fullname": "tests.test_core.SUBDIR", "modulename": "tests.test_core", "qualname": "SUBDIR", "kind": "variable", "doc": "

    \n", "default_value": "'core'"}, "tests.test_core.TestSimpleShearOPX": {"fullname": "tests.test_core.TestSimpleShearOPX", "modulename": "tests.test_core", "qualname": "TestSimpleShearOPX", "kind": "class", "doc": "

    Single-grain orthopyroxene crystallographic rotation rate tests.

    \n"}, "tests.test_core.TestSimpleShearOPX.class_id": {"fullname": "tests.test_core.TestSimpleShearOPX.class_id", "modulename": "tests.test_core", "qualname": "TestSimpleShearOPX.class_id", "kind": "variable", "doc": "

    \n", "default_value": "'simple_shear_OPX'"}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"fullname": "tests.test_core.TestSimpleShearOPX.test_shear_dudz", "modulename": "tests.test_core", "qualname": "TestSimpleShearOPX.test_shear_dudz", "kind": "function", "doc": "

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"fullname": "tests.test_core.TestSimpleShearOPX.test_shear_dvdx", "modulename": "tests.test_core", "qualname": "TestSimpleShearOPX.test_shear_dvdx", "kind": "function", "doc": "

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_core.TestSimpleShearOlivineA": {"fullname": "tests.test_core.TestSimpleShearOlivineA", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA", "kind": "class", "doc": "

    Single-grain A-type olivine analytical rotation rate tests.

    \n"}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"fullname": "tests.test_core.TestSimpleShearOlivineA.class_id", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA.class_id", "kind": "variable", "doc": "

    \n", "default_value": "'simple_shear_Ol'"}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"fullname": "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100", "kind": "function", "doc": "

    Single grain of olivine A-type, simple shear on (010)[100].

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 0 \\cr 2 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}$$

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"fullname": "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA.test_shear_dudz_slip_001_100", "kind": "function", "doc": "

    Single grain of olivine A-type, simple shear on (001)[100].

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 2 \\cr 0 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}$$

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"fullname": "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100", "kind": "function", "doc": "

    Single grain of olivine A-type, simple shear on (001)[100].

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 0 \\cr 0 & 0 & 0 \\cr 2 & 0 & 0 \\end{bmatrix}$$

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"fullname": "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001", "modulename": "tests.test_core", "qualname": "TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001", "kind": "function", "doc": "

    Single grain of olivine A-type, simple shear on (010)[001].

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 0 \\cr 0 & 0 & 2 \\cr 0 & 0 & 0 \\end{bmatrix}$$

    \n", "signature": "(self, outdir):", "funcdef": "def"}, "tests.test_corner_flow_2d": {"fullname": "tests.test_corner_flow_2d", "modulename": "tests.test_corner_flow_2d", "kind": "module", "doc": "
    \n

    PyDRex: 2D corner flow tests

    \n
    \n\n

    The flow field is defined by:\n$$\n\\bm{u} = \\frac{dr}{dt} \\bm{\\hat{r}} + r \\frac{d\u03b8}{dt} \\bm{\\hat{\u03b8}}\n= \\frac{2 U}{\u03c0}(\u03b8\\sin\u03b8 - \\cos\u03b8) \u22c5 \\bm{\\hat{r}} + \\frac{2 U}{\u03c0}\u03b8\\cos\u03b8 \u22c5 \\bm{\\hat{\u03b8}}\n$$\nwhere $\u03b8 = 0$ points vertically downwards along the ridge axis\nand $\u03b8 = \u03c0/2$ points along the surface. $U$ is the half spreading velocity.\nStreamlines for the flow obey:\n$$\n\u03c8 = \\frac{2 U r}{\u03c0}\u03b8\\cos\u03b8\n$$\nand are related to the velocity through:\n$$\n\\bm{u} = -\\frac{1}{r} \u22c5 \\frac{d\u03c8}{d\u03b8} \u22c5 \\bm{\\hat{r}} + \\frac{d\u03c8}{dr}\\bm{\\hat{\u03b8}}\n$$\nConversion to Cartesian ($x,y,z$) coordinates yields:\n$$\n\\bm{u} = \\frac{2U}{\u03c0} \\left[\n\\tan^{-1}\\left(\\frac{x}{-z}\\right) + \\frac{xz}{x^{2} + z^{2}} \\right] \\bm{\\hat{x}} +\n\\frac{2U}{\u03c0} \\frac{z^{2}}{x^{2} + z^{2}} \\bm{\\hat{z}}\n$$\nwhere\n\\begin{align*}\nx &= r \\sin\u03b8 \\cr\nz &= -r \\cos\u03b8\n\\end{align*}\nand the velocity gradient is:\n$$\nL = \\frac{4 U}{\u03c0{(x^{2}+z^{2})}^{2}} \u22c5\n\\begin{bmatrix}\n -x^{2}z & 0 & x^{3} \\cr\n 0 & 0 & 0 \\cr\n -xz^{2} & 0 & x^{2}z\n\\end{bmatrix}\n$$

    \n\n

    See also Fig. 5 in Kaminski & Ribe, 2002.

    \n"}, "tests.test_corner_flow_2d.get_velocity": {"fullname": "tests.test_corner_flow_2d.get_velocity", "modulename": "tests.test_corner_flow_2d", "qualname": "get_velocity", "kind": "function", "doc": "

    Return velocity in a corner flow (Cartesian coordinate basis).

    \n", "signature": "(x, z, plate_velocity):", "funcdef": "def"}, "tests.test_corner_flow_2d.get_velocity_gradient": {"fullname": "tests.test_corner_flow_2d.get_velocity_gradient", "modulename": "tests.test_corner_flow_2d", "qualname": "get_velocity_gradient", "kind": "function", "doc": "

    Return velocity gradient in a corner flow (Cartesian coordinate basis).

    \n", "signature": "(x, z, plate_velocity):", "funcdef": "def"}, "tests.test_corner_flow_2d.TestOlivineA": {"fullname": "tests.test_corner_flow_2d.TestOlivineA", "modulename": "tests.test_corner_flow_2d", "qualname": "TestOlivineA", "kind": "class", "doc": "

    Tests for pure A-type olivine polycrystals in 2D corner flows.

    \n"}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"fullname": "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic", "modulename": "tests.test_corner_flow_2d", "qualname": "TestOlivineA.test_corner_prescribed_init_isotropic", "kind": "function", "doc": "

    Test CPO evolution in prescribed 2D corner flow.

    \n\n

    Initial condition: random orientations and uniform volumes in all Minerals.

    \n\n

    Plate velocity: 2 cm/yr

    \n", "signature": "(self, params_Kaminski2001_fig5_shortdash, seed, outdir):", "funcdef": "def"}, "tests.test_diagnostics": {"fullname": "tests.test_diagnostics", "modulename": "tests.test_diagnostics", "kind": "module", "doc": "
    \n

    PyDRex: tests for texture diagnostics.

    \n
    \n"}, "tests.test_diagnostics.TestSymmetryPGR": {"fullname": "tests.test_diagnostics.TestSymmetryPGR", "modulename": "tests.test_diagnostics", "qualname": "TestSymmetryPGR", "kind": "class", "doc": "

    Test Point-Girdle-Random (eigenvalue) symmetry diagnostics.

    \n"}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"fullname": "tests.test_diagnostics.TestSymmetryPGR.test_pointX", "modulename": "tests.test_diagnostics", "qualname": "TestSymmetryPGR.test_pointX", "kind": "function", "doc": "

    Test diagnostics of point symmetry aligned to the X axis.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"fullname": "tests.test_diagnostics.TestSymmetryPGR.test_random", "modulename": "tests.test_diagnostics", "qualname": "TestSymmetryPGR.test_random", "kind": "function", "doc": "

    Test diagnostics of random grain orientations.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"fullname": "tests.test_diagnostics.TestSymmetryPGR.test_girdle", "modulename": "tests.test_diagnostics", "qualname": "TestSymmetryPGR.test_girdle", "kind": "function", "doc": "

    Test diagnostics of girdled orientations.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestVolumeWeighting": {"fullname": "tests.test_diagnostics.TestVolumeWeighting", "modulename": "tests.test_diagnostics", "qualname": "TestVolumeWeighting", "kind": "class", "doc": "

    Tests for volumetric resampling of orientation data.

    \n"}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"fullname": "tests.test_diagnostics.TestVolumeWeighting.test_upsample", "modulename": "tests.test_diagnostics", "qualname": "TestVolumeWeighting.test_upsample", "kind": "function", "doc": "

    Test upsampling of the raw orientation data.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"fullname": "tests.test_diagnostics.TestVolumeWeighting.test_downsample", "modulename": "tests.test_diagnostics", "qualname": "TestVolumeWeighting.test_downsample", "kind": "function", "doc": "

    Test downsampling of orientation data.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestBinghamStats": {"fullname": "tests.test_diagnostics.TestBinghamStats", "modulename": "tests.test_diagnostics", "qualname": "TestBinghamStats", "kind": "class", "doc": "

    Tests for antipodally symmetric (bingham) statistics.

    \n"}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"fullname": "tests.test_diagnostics.TestBinghamStats.test_average_0", "modulename": "tests.test_diagnostics", "qualname": "TestBinghamStats.test_average_0", "kind": "function", "doc": "

    Test bingham average of vectors aligned to the reference frame.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"fullname": "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z", "modulename": "tests.test_diagnostics", "qualname": "TestBinghamStats.test_average_twopoles90Z", "kind": "function", "doc": "

    Test bingham average of vectors rotated by \u00b190\u00b0 around Z.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"fullname": "tests.test_diagnostics.TestBinghamStats.test_average_spread10X", "modulename": "tests.test_diagnostics", "qualname": "TestBinghamStats.test_average_spread10X", "kind": "function", "doc": "

    Test bingham average of vectors spread within 10\u00b0 of the \u00b1X-axis.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestMIndex": {"fullname": "tests.test_diagnostics.TestMIndex", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex", "kind": "class", "doc": "

    Tests for the M-index texture strength diagnostic.

    \n"}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"fullname": "tests.test_diagnostics.TestMIndex.test_texture_uniform", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_texture_uniform", "kind": "function", "doc": "

    Test M-index for random (uniform distribution) grain orientations.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"fullname": "tests.test_diagnostics.TestMIndex.test_texture_spread10X", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_texture_spread10X", "kind": "function", "doc": "

    Test M-index for grains spread within 10\u00b0 of the \u00b1X axis.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"fullname": "tests.test_diagnostics.TestMIndex.test_texture_spread30X", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_texture_spread30X", "kind": "function", "doc": "

    Test M-index for grains spread within 45\u00b0 of the \u00b1X axis.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"fullname": "tests.test_diagnostics.TestMIndex.test_textures_increasing", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_textures_increasing", "kind": "function", "doc": "

    Test M-index for textures of increasing strength.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"fullname": "tests.test_diagnostics.TestMIndex.test_texture_girdle", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_texture_girdle", "kind": "function", "doc": "

    Test M-index for girdled texture.

    \n", "signature": "(self):", "funcdef": "def"}, "tests.test_doctests": {"fullname": "tests.test_doctests", "modulename": "tests.test_doctests", "kind": "module", "doc": "
    \n

    PyDRex: Run doctests for applicable modules.

    \n
    \n"}, "tests.test_doctests.test_doctests": {"fullname": "tests.test_doctests.test_doctests", "modulename": "tests.test_doctests", "qualname": "test_doctests", "kind": "function", "doc": "

    Run doctests as well.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_geometry": {"fullname": "tests.test_geometry", "modulename": "tests.test_geometry", "kind": "module", "doc": "
    \n

    PyDRex: Tests for geometric conversions and projections.

    \n
    \n"}, "tests.test_geometry.test_poles_example": {"fullname": "tests.test_geometry.test_poles_example", "modulename": "tests.test_geometry", "qualname": "test_poles_example", "kind": "function", "doc": "

    Test poles (directions of crystallographic axes) of example data.

    \n", "signature": "(hkl, ref_axes):", "funcdef": "def"}, "tests.test_geometry.test_lambert_equal_area": {"fullname": "tests.test_geometry.test_lambert_equal_area", "modulename": "tests.test_geometry", "qualname": "test_lambert_equal_area", "kind": "function", "doc": "

    Test Lambert equal area projection.

    \n", "signature": "(seed):", "funcdef": "def"}, "tests.test_scsv": {"fullname": "tests.test_scsv", "modulename": "tests.test_scsv", "kind": "module", "doc": "
    \n

    PyDRex: tests for the SCSV plain text file format.

    \n
    \n"}, "tests.test_scsv.test_validate_schema": {"fullname": "tests.test_scsv.test_validate_schema", "modulename": "tests.test_scsv", "qualname": "test_validate_schema", "kind": "function", "doc": "

    Test SCSV schema validation.

    \n", "signature": "(console_handler):", "funcdef": "def"}, "tests.test_scsv.test_read_specfile": {"fullname": "tests.test_scsv.test_read_specfile", "modulename": "tests.test_scsv", "qualname": "test_read_specfile", "kind": "function", "doc": "

    Test SCSV spec file parsing.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_scsv.test_save_specfile": {"fullname": "tests.test_scsv.test_save_specfile", "modulename": "tests.test_scsv", "qualname": "test_save_specfile", "kind": "function", "doc": "

    Test SCSV spec file reproduction.

    \n", "signature": "(outdir):", "funcdef": "def"}, "tests.test_scsv.test_read_Kaminski2002": {"fullname": "tests.test_scsv.test_read_Kaminski2002", "modulename": "tests.test_scsv", "qualname": "test_read_Kaminski2002", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.test_scsv.test_read_Kaminski2004": {"fullname": "tests.test_scsv.test_read_Kaminski2004", "modulename": "tests.test_scsv", "qualname": "test_read_Kaminski2004", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.test_scsv.test_read_Skemer2016": {"fullname": "tests.test_scsv.test_read_Skemer2016", "modulename": "tests.test_scsv", "qualname": "test_read_Skemer2016", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}, "tests.test_simple_shear_2d": {"fullname": "tests.test_simple_shear_2d", "modulename": "tests.test_simple_shear_2d", "kind": "module", "doc": "
    \n

    PyDRex: 2D simple shear tests.

    \n
    \n"}, "tests.test_simple_shear_2d.SUBDIR": {"fullname": "tests.test_simple_shear_2d.SUBDIR", "modulename": "tests.test_simple_shear_2d", "qualname": "SUBDIR", "kind": "variable", "doc": "

    \n", "default_value": "'2d_simple_shear'"}, "tests.test_simple_shear_2d.TestOlivineA": {"fullname": "tests.test_simple_shear_2d.TestOlivineA", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA", "kind": "class", "doc": "

    Tests for A-type olivine polycrystals in 2D simple shear.

    \n"}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.class_id", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.class_id", "kind": "variable", "doc": "

    \n", "default_value": "'olivineA'"}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.get_position", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.get_position", "kind": "function", "doc": "

    \n", "signature": "(cls, t):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.run": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.run", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.run", "kind": "function", "doc": "

    Reusable logic for 2D olivine simple shear tests.

    \n\n

    Always returns a tuple with 4 elements\n(mineral, mean_angles, texture_symmetry, \u03b8_fse),\nbut if return_fse is None then the last tuple element is also None.

    \n", "signature": "(\tcls,\tparams,\ttimestamps,\tstrain_rate,\tget_velocity_gradient,\tshear_direction,\tseed=None,\tlog_param=None,\tuse_bingham_average=False,\treturn_fse=True):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.postprocess", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.postprocess", "kind": "function", "doc": "

    Reusable postprocessing routine for olivine 2D simple shear simulations.

    \n", "signature": "(\tcls,\tstrains,\tangles,\tpoint100_symmetry,\t\u03b8_fse,\tlabels,\tmarkers,\toutdir,\tout_basepath,\ttarget_interpolator=None):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.interp_GBM_Kaminski2001", "kind": "function", "doc": "

    Interpolate Kaminski & Ribe, 2001 data to get target angles at strains.

    \n", "signature": "(cls, strains):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.interp_GBS_Kaminski2004", "kind": "function", "doc": "

    Interpolate Kaminski & Ribe, 2001 data to get target angles at strains.

    \n", "signature": "(cls, strains):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_dvdx_GBM_ensemble", "kind": "function", "doc": "

    Test a-axis alignment to shear in Y direction (init. SCCS near 45\u00b0 from X).

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 0 \\cr 2 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}$$

    \n\n

    Tests the effect of grain boundary migration, similar to Fig. 5 in\nKaminski 2001.

    \n", "signature": "(\tself,\tparams_Kaminski2001_fig5_solid,\tparams_Kaminski2001_fig5_shortdash,\tparams_Kaminski2001_fig5_longdash,\tseeds_nearX45,\toutdir,\tncpus):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_dudz_GBS_ensemble", "kind": "function", "doc": "

    Test a-axis alignment to shear in X direction (init. SCCS near 45\u00b0 from X).

    \n\n

    Velocity gradient:\n$$\\bm{L} = \\begin{bmatrix} 0 & 0 & 2 \\cr 0 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}$$

    \n", "signature": "(\tself,\tparams_Kaminski2004_fig4_circles,\tparams_Kaminski2004_fig4_squares,\tparams_Kaminski2004_fig4_triangles,\tseeds_nearX45,\toutdir,\tncpus):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_boundary_mobility", "kind": "function", "doc": "

    Test that the grain boundary mobility parameter has an effect.

    \n", "signature": "(self, seed, outdir):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_boudary_sliding", "kind": "function", "doc": "

    Test that the grain boundary sliding parameter has an effect.

    \n", "signature": "(self, seed, outdir):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_ngrains", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_ngrains", "kind": "function", "doc": "

    Test that solvers work up to 10000 grains.

    \n", "signature": "(self, seed, outdir):", "funcdef": "def"}, "tests.test_tensors": {"fullname": "tests.test_tensors", "modulename": "tests.test_tensors", "kind": "module", "doc": "
    \n

    PyDRex: Tests for tensor operations.

    \n
    \n"}, "tests.test_tensors.test_voigt_decompose": {"fullname": "tests.test_tensors.test_voigt_decompose", "modulename": "tests.test_tensors", "qualname": "test_voigt_decompose", "kind": "function", "doc": "

    Test decomposition of Voigt 6x6 matrix into distinct contractions.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_tensors.test_voigt_tensor": {"fullname": "tests.test_tensors.test_voigt_tensor", "modulename": "tests.test_tensors", "qualname": "test_voigt_tensor", "kind": "function", "doc": "

    Test elasticity tensor <-> 6x6 Voigt matrix conversions.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_tensors.test_voigt_to_vector": {"fullname": "tests.test_tensors.test_voigt_to_vector", "modulename": "tests.test_tensors", "qualname": "test_voigt_to_vector", "kind": "function", "doc": "

    Test Voigt vector construction.

    \n", "signature": "():", "funcdef": "def"}, "tests.test_vtk_helpers": {"fullname": "tests.test_vtk_helpers", "modulename": "tests.test_vtk_helpers", "kind": "module", "doc": "
    \n

    PyDRex: Tests for VTK readers and helpers.

    \n
    \n"}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"fullname": "tests.test_vtk_helpers.test_vtk_2d_array_shapes", "modulename": "tests.test_vtk_helpers", "qualname": "test_vtk_2d_array_shapes", "kind": "function", "doc": "

    \n", "signature": "():", "funcdef": "def"}}, "docInfo": {"pydrex": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 1384}, "pydrex.axes": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "pydrex.axes.PoleFigureAxes": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 54}, "pydrex.axes.PoleFigureAxes.name": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "pydrex.axes.PoleFigureAxes.polefigure": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 92, "bases": 0, "doc": 148}, "pydrex.axes.PoleFigureAxes.set": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 833, "bases": 0, "doc": 251}, "pydrex.cli": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "pydrex.cli.PoleFigureVisualiser": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 48}, "pydrex.cli.CLI_HANDLERS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 81}, "pydrex.core.PERMUTATION_SYMBOL": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 57, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralPhase": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 6}, "pydrex.core.MineralPhase.olivine": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralPhase.enstatite": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.DeformationRegime": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 6}, "pydrex.core.DeformationRegime.diffusion": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.DeformationRegime.dislocation": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.DeformationRegime.byerlee": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.DeformationRegime.max_viscosity": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 49}, "pydrex.core.MineralFabric.olivine_A": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric.olivine_B": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric.olivine_C": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric.olivine_D": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric.olivine_E": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.MineralFabric.enstatite_AB": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.core.get_crss": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 55}, "pydrex.core.derivatives": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 86, "bases": 0, "doc": 221}, "pydrex.diagnostics": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 104}, "pydrex.diagnostics.anisotropy": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 89}, "pydrex.diagnostics.bingham_average": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 62}, "pydrex.diagnostics.finite_strain": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 19, "bases": 0, "doc": 43}, "pydrex.diagnostics.symmetry": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 93}, "pydrex.diagnostics.misorientation_index": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 43, "bases": 0, "doc": 68}, "pydrex.diagnostics.coaxial_index": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 88}, "pydrex.diagnostics.misorientation_angles": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 82}, "pydrex.diagnostics.smallest_angle": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 33}, "pydrex.exceptions": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 16}, "pydrex.exceptions.Error": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 9}, "pydrex.exceptions.ConfigError": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 1, "doc": 20}, "pydrex.exceptions.ConfigError.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "pydrex.exceptions.ConfigError.message": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.exceptions.MeshError": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 1, "doc": 20}, "pydrex.exceptions.MeshError.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "pydrex.exceptions.MeshError.message": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.exceptions.IterationError": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 1, "doc": 20}, "pydrex.exceptions.IterationError.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "pydrex.exceptions.IterationError.message": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.exceptions.SCSVError": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 1, "doc": 26}, "pydrex.exceptions.SCSVError.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "pydrex.exceptions.SCSVError.message": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 15}, "pydrex.geometry.to_cartesian": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 69}, "pydrex.geometry.to_spherical": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 56}, "pydrex.geometry.poles": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 52, "bases": 0, "doc": 115}, "pydrex.geometry.lambert_equal_area": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 76}, "pydrex.geometry.shirley_concentric_squaredisk": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 751}, "pydrex.interpolations": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "pydrex.interpolations.default_interpolators": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 101}, "pydrex.interpolations.create_interpolators": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 123}, "pydrex.interpolations.get_velocity": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 10}, "pydrex.interpolations.get_velocity_gradient": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 13}, "pydrex.interpolations.get_deformation_mechanism": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 13}, "pydrex.io": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 144}, "pydrex.io.DEFAULT_PARAMS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 66, "signature": 0, "bases": 0, "doc": 6}, "pydrex.io.SCSV_TYPEMAP": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 52, "signature": 0, "bases": 0, "doc": 13}, "pydrex.io.read_scsv": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 23}, "pydrex.io.write_scsv_header": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 88}, "pydrex.io.save_scsv": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 78}, "pydrex.io.parse_config": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 10}, "pydrex.io.read_mesh": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 14}, "pydrex.io.resolve_path": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 49}, "pydrex.io.stringify": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "pydrex.io.data": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 11}, "pydrex.logger": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 758}, "pydrex.logger.ConsoleFormatter": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 10}, "pydrex.logger.ConsoleFormatter.colorfmt": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "pydrex.logger.ConsoleFormatter.format": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 92}, "pydrex.logger.LOGGER": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.logger.LOGGER_CONSOLE": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "pydrex.logger.handler_level": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 64}, "pydrex.logger.logfile_enable": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 17}, "pydrex.logger.critical": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 9}, "pydrex.logger.error": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 9}, "pydrex.logger.warning": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 9}, "pydrex.logger.info": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 9}, "pydrex.logger.debug": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 9}, "pydrex.logger.exception": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 26}, "pydrex.logger.quiet_aliens": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 16}, "pydrex.minerals": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "pydrex.minerals.OLIVINE_STIFFNESS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 74, "signature": 0, "bases": 0, "doc": 43}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 74, "signature": 0, "bases": 0, "doc": 43}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 52, "signature": 0, "bases": 0, "doc": 15}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 26, "signature": 0, "bases": 0, "doc": 44}, "pydrex.minerals.voigt_averages": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 100}, "pydrex.minerals.Mineral": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 964}, "pydrex.minerals.Mineral.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 286, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.phase": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.fabric": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.regime": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.n_grains": {"qualname": 3, "fullname": 5, "annotation": 2, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.fractions_init": {"qualname": 3, "fullname": 5, "annotation": 3, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.orientations_init": {"qualname": 3, "fullname": 5, "annotation": 3, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.fractions": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.orientations": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.seed": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.lband": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.uband": {"qualname": 2, "fullname": 4, "annotation": 2, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "pydrex.minerals.Mineral.update_orientations": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 47, "bases": 0, "doc": 179}, "pydrex.minerals.Mineral.save": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 78}, "pydrex.minerals.Mineral.load": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 50}, "pydrex.minerals.Mineral.from_file": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 54}, "pydrex.mock": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "pydrex.mock.PARAMS_FRATERS2021": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 67, "signature": 0, "bases": 0, "doc": 17}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 64, "signature": 0, "bases": 0, "doc": 20}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 64, "signature": 0, "bases": 0, "doc": 20}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 64, "signature": 0, "bases": 0, "doc": 20}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 65, "signature": 0, "bases": 0, "doc": 22}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 65, "signature": 0, "bases": 0, "doc": 22}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 64, "signature": 0, "bases": 0, "doc": 21}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 67, "signature": 0, "bases": 0, "doc": 19}, "pydrex.pathlines": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "pydrex.pathlines.get_pathline": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 129}, "pydrex.stats": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 15}, "pydrex.stats.resample_orientations": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 37, "bases": 0, "doc": 60}, "pydrex.stats.misorientations_random": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 38, "bases": 0, "doc": 150}, "pydrex.stats.point_density": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 85, "bases": 0, "doc": 189}, "pydrex.stats.exponential_kamb": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 11}, "pydrex.stats.linear_inverse_kamb": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 11}, "pydrex.stats.square_inverse_kamb": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 12}, "pydrex.stats.kamb_count": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 32, "bases": 0, "doc": 12}, "pydrex.stats.schmidt_count": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 11}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 56, "signature": 0, "bases": 0, "doc": 58}, "pydrex.tensors": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 56}, "pydrex.tensors.PERMUTATION_SYMBOL": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 57, "signature": 0, "bases": 0, "doc": 3}, "pydrex.tensors.voigt_decompose": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 80}, "pydrex.tensors.hex_projector": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 22}, "pydrex.tensors.upper_tri_to_symmetric": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 267}, "pydrex.tensors.voigt_to_elastic_tensor": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 25}, "pydrex.tensors.elastic_tensor_to_voigt": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 16}, "pydrex.tensors.voigt_matrix_to_vector": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "pydrex.tensors.voigt_vector_to_matrix": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 25}, "pydrex.tensors.rotate": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 13}, "pydrex.utils": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 11}, "pydrex.utils.remove_nans": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "pydrex.utils.readable_timestamp": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 12}, "pydrex.utils.angle_fse_simpleshear": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 17}, "pydrex.velocity_gradients": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 17}, "pydrex.velocity_gradients.simple_shear_2d": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 23, "bases": 0, "doc": 15}, "pydrex.visualisation": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 15}, "pydrex.visualisation.polefigures": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 72, "bases": 0, "doc": 44}, "pydrex.visualisation.simple_shear_stationary_2d": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 118, "bases": 0, "doc": 15}, "pydrex.visualisation.corner_flow_2d": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 197, "bases": 0, "doc": 12}, "pydrex.visualisation.single_olivineA_simple_shear": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 47, "bases": 0, "doc": 3}, "pydrex.vtk_helpers": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "pydrex.vtk_helpers.get_output": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 31}, "pydrex.vtk_helpers.read_tuple_array": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 116}, "pydrex.vtk_helpers.read_coord_array": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 89}, "pydrex.vtk_helpers.get_steps": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 387}, "tests": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 329}, "tests.conftest": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "tests.conftest.pytest_addoption": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.PytestConsoleLogger": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 13}, "tests.conftest.PytestConsoleLogger.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 23, "bases": 0, "doc": 34}, "tests.conftest.PytestConsoleLogger.name": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.conftest.pytest_configure": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.pytest_collection_modifyitems": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.conftest.outdir": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.ncpus": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.console_handler": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.params_Fraters2021": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2001_fig5_solid": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2004_fig4_squares": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Kaminski2004_fig4_circles": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.params_Hedjazian2017": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.conftest.hkl": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.ref_axes": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.conftest.seeds": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 14}, "tests.conftest.seed": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 8}, "tests.conftest.seeds_nearX45": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 16}, "tests.test_config": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "tests.test_config.test_specfile": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 8}, "tests.test_core": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_core.SUBDIR": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestSimpleShearOPX": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "tests.test_core.TestSimpleShearOPX.class_id": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.test_core.TestSimpleShearOlivineA": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 38}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 38}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 38}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 38}, "tests.test_corner_flow_2d": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 177}, "tests.test_corner_flow_2d.get_velocity": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 12}, "tests.test_corner_flow_2d.get_velocity_gradient": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 13}, "tests.test_corner_flow_2d.TestOlivineA": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"qualname": 6, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 29, "bases": 0, "doc": 32}, "tests.test_diagnostics": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_diagnostics.TestSymmetryPGR": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 13}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 9}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "tests.test_diagnostics.TestVolumeWeighting": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 10}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "tests.test_diagnostics.TestBinghamStats": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 9}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 13}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 13}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "tests.test_diagnostics.TestMIndex": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 11}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 12}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 15}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 11}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 9}, "tests.test_doctests": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "tests.test_doctests.test_doctests": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 7}, "tests.test_geometry": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_geometry.test_poles_example": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 12}, "tests.test_geometry.test_lambert_equal_area": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "tests.test_scsv": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 16}, "tests.test_scsv.test_validate_schema": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 7}, "tests.test_scsv.test_read_specfile": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 8}, "tests.test_scsv.test_save_specfile": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "tests.test_scsv.test_read_Kaminski2002": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.test_scsv.test_read_Kaminski2004": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.test_scsv.test_read_Skemer2016": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "tests.test_simple_shear_2d": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_simple_shear_2d.SUBDIR": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_simple_shear_2d.TestOlivineA": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.test_simple_shear_2d.TestOlivineA.run": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 94, "bases": 0, "doc": 44}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 75, "bases": 0, "doc": 12}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 17}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 17}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"qualname": 5, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 58, "bases": 0, "doc": 61}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"qualname": 5, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 58, "bases": 0, "doc": 42}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 13}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 13}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 11}, "tests.test_tensors": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_tensors.test_voigt_decompose": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 12}, "tests.test_tensors.test_voigt_tensor": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 12}, "tests.test_tensors.test_voigt_to_vector": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 7}, "tests.test_vtk_helpers": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"qualname": 5, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}}, "length": 254, "save": true}, "index": {"qualname": {"root": {"0": {"0": {"1": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "1": {"0": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 1}, "1": {"0": {"0": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 4}}, "docs": {"pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 6, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 4}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1, "x": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}}, "df": 2}}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}}, "df": 17}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.parse_config": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.hex_projector": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.phase": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.pytest_addoption": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}, "tests.conftest.pytest_configure": {"tf": 1}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 4, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}}}}}, "n": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.ncpus": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "x": {"4": {"5": {"docs": {"tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.seed": {"tf": 1}, "tests.conftest.seed": {"tf": 1}}, "df": 2, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}}, "df": 2}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.stringify": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}}, "df": 3}}}}}}}, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.schmidt_count": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_config.test_specfile": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 3}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"1": {"0": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}}, "df": 2}}, "docs": {}, "df": 0}, "3": {"0": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 9}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 3}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 5}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}}, "df": 2}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"2": {"0": {"1": {"6": {"docs": {"tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}, "c": {"docs": {"pydrex.core.MineralFabric.olivine_C": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}}, "df": 2}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}}, "df": 3}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.get_crss": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.critical": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.parse_config": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.ConfigError.message": {"tf": 1}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.pytest_configure": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.LOGGER_CONSOLE": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 2}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.handler_level": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"2": {"0": {"1": {"7": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}, "x": {"docs": {"pydrex.tensors.hex_projector": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "l": {"docs": {"tests.conftest.hkl": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.lband": {"tf": 1}, "pydrex.minerals.Mineral.uband": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 17, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}}, "df": 3}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}}, "df": 7}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.ConfigError.message": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}}, "df": 4}}}}, "h": {"docs": {"pydrex.io.read_mesh": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}}, "df": 3}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 9, "a": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 4}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.outdir": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.Error": {"tf": 1}, "pydrex.logger.error": {"tf": 1}}, "df": 2}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}}}, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.exception": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {"pydrex.core.MineralFabric.olivine_D": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.debug": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 2}}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.diffusion": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.dislocation": {"tf": 1}}, "df": 1}}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.io.data": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 3}}}, "v": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 3}, "z": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_doctests.test_doctests": {"tf": 1}}, "df": 1}}}}}}}}, "b": {"docs": {"pydrex.core.MineralFabric.olivine_B": {"tf": 1}}, "df": 1, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime.byerlee": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 4}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 3}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 9}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "k": {"docs": {"tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 1}}}, "a": {"docs": {"pydrex.core.MineralFabric.olivine_A": {"tf": 1}}, "df": 1, "b": {"docs": {"pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}}, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.ref_axes": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.pytest_addoption": {"tf": 1}}, "df": 1}}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 10}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 2}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 2}}}}}, "b": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 2}, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 1}}, "g": {"4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 6}, "5": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}}, "df": 6}, "docs": {}, "df": 0}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals.Mineral.fabric": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 9}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 2, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.logger.info": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}}, "df": 3}}}}}}}}}}}}}, "d": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}}, "df": 3}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 8}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_config.test_specfile": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 39, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}}, "df": 4}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}}, "df": 4}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 14}}}}}}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 4}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 6}}}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 4, "s": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"9": {"0": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}}}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {"tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1}}, "df": 2}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.load": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.lband": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 8, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.regime": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"tests.conftest.ref_axes": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.rotate": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 1}}}}}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.warning": {"tf": 1}}, "df": 1}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.uband": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"2": {"0": {"0": {"1": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}}, "df": 7}, "2": {"docs": {"tests.test_scsv.test_read_Kaminski2002": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 8}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "b": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}}}}, "fullname": {"root": {"0": {"0": {"1": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "1": {"0": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 1}, "1": {"0": {"0": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 23}}, "docs": {"pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 6, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.cli.CLI_HANDLERS": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.exceptions": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.ConfigError.message": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.lband": {"tf": 1}, "pydrex.minerals.Mineral.uband": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.mock": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.utils": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "pydrex.vtk_helpers": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 159}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.pytest_addoption": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}, "tests.conftest.pytest_configure": {"tf": 1}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 4, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 4}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1, "x": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}}, "df": 2}}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}}, "df": 17}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.parse_config": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.pathlines": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.hex_projector": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.phase": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pydrex.core.MineralFabric.olivine_A": {"tf": 1}}, "df": 1, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "tests.conftest.ref_axes": {"tf": 1}}, "df": 6}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 1}}}, "b": {"docs": {"pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.pytest_addoption": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.ncpus": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "x": {"4": {"5": {"docs": {"tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.seed": {"tf": 1}, "tests.conftest.seed": {"tf": 1}}, "df": 2, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}}, "df": 2}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.stringify": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 10}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 11, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}}, "df": 3}}}}}}}, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.schmidt_count": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_config.test_specfile": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 3}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"1": {"0": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}}, "df": 2}}, "docs": {}, "df": 0}, "3": {"0": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 23}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 3}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 5}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 17, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}}, "df": 2}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"2": {"0": {"1": {"6": {"docs": {"tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}, "c": {"docs": {"pydrex.core.MineralFabric.olivine_C": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.cli.CLI_HANDLERS": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}}, "df": 4}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}}, "df": 3}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_core.SUBDIR": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 31}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1.4142135623730951}}, "df": 6}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.parse_config": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.ConfigError.message": {"tf": 1}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.pytest_configure": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest": {"tf": 1}, "tests.conftest.pytest_addoption": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}, "tests.conftest.pytest_configure": {"tf": 1}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1}, "tests.conftest.outdir": {"tf": 1}, "tests.conftest.ncpus": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}, "tests.conftest.hkl": {"tf": 1}, "tests.conftest.ref_axes": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 25}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.LOGGER_CONSOLE": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.get_crss": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.critical": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 2}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.handler_level": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"2": {"0": {"1": {"7": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}, "x": {"docs": {"pydrex.tensors.hex_projector": {"tf": 1}}, "df": 1}, "l": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 7}}}}}}, "k": {"docs": {}, "df": 0, "l": {"docs": {"tests.conftest.hkl": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.lband": {"tf": 1}, "pydrex.minerals.Mineral.uband": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 17, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}}, "df": 3}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}}, "df": 7}}}}}}, "s": {"docs": {"pydrex.minerals": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.lband": {"tf": 1}, "pydrex.minerals.Mineral.uband": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 23}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.ConfigError.message": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}}, "df": 4}}}}, "h": {"docs": {"pydrex.io.read_mesh": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}}, "df": 3}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.mock": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 9, "a": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 4}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.outdir": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}}}}}, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.exception": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.exceptions": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.ConfigError.message": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.message": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.message": {"tf": 1}}, "df": 14}}}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.Error": {"tf": 1}, "pydrex.logger.error": {"tf": 1}}, "df": 2}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {"pydrex.core.MineralFabric.olivine_D": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.debug": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 2}}}}}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.diffusion": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.dislocation": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 27}}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.io.data": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 3}}}, "v": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 3}, "z": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "b": {"docs": {"pydrex.core.MineralFabric.olivine_B": {"tf": 1}}, "df": 1, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime.byerlee": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 5}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 6}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 3}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 9}}}}, "t": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.vtk_helpers": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1.4142135623730951}}, "df": 7}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 10}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 9}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.velocity_gradients": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 2}}}}}, "b": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 2}, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 1}}, "g": {"4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 6}, "5": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}}, "df": 6}, "docs": {}, "df": 0}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals.Mineral.fabric": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}}, "df": 2}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 6}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 9}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 2, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 6}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.logger.info": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.message": {"tf": 1}}, "df": 3}}}}}}}}}}}}}, "o": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.io.data": {"tf": 1}}, "df": 11}, "d": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}}, "df": 3}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 8}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.tensors": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 14}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1.4142135623730951}, "tests.test_core": {"tf": 1}, "tests.test_core.SUBDIR": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1.4142135623730951}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1.4142135623730951}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1.4142135623730951}, "tests.test_geometry": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1.4142135623730951}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1.4142135623730951}, "tests.test_scsv": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1.4142135623730951}, "tests.test_scsv.test_read_specfile": {"tf": 1.4142135623730951}, "tests.test_scsv.test_save_specfile": {"tf": 1.4142135623730951}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1.4142135623730951}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1.4142135623730951}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1.4142135623730951}, "tests.test_tensors": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1.4142135623730951}, "tests.test_tensors.test_voigt_tensor": {"tf": 1.4142135623730951}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1.4142135623730951}, "tests.test_vtk_helpers": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1.4142135623730951}}, "df": 69, "s": {"docs": {"tests": {"tf": 1}, "tests.conftest": {"tf": 1}, "tests.conftest.pytest_addoption": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}, "tests.conftest.pytest_configure": {"tf": 1}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1}, "tests.conftest.outdir": {"tf": 1}, "tests.conftest.ncpus": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}, "tests.conftest.params_Fraters2021": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.conftest.params_Hedjazian2017": {"tf": 1}, "tests.conftest.hkl": {"tf": 1}, "tests.conftest.ref_axes": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_core.SUBDIR": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1}}, "df": 95, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}}, "df": 4}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}}, "df": 4}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {"tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 14}}}}}}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 4}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 6}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 1}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 4, "s": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"9": {"0": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}}}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {"tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.LOGGER": {"tf": 1.4142135623730951}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 15}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.load": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.lband": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 8, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.regime": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"tests.conftest.ref_axes": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.rotate": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 1}}}}}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.warning": {"tf": 1}}, "df": 1}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.uband": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 4}}}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"2": {"0": {"0": {"1": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}}, "df": 7}, "2": {"docs": {"tests.test_scsv.test_read_Kaminski2002": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 8}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "b": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}}}}, "annotation": {"root": {"docs": {"pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.lband": {"tf": 1}, "pydrex.minerals.Mineral.uband": {"tf": 1}}, "df": 11, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.lband": {"tf": 1}, "pydrex.minerals.Mineral.uband": {"tf": 1}}, "df": 7}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}}, "df": 2}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}}, "df": 2}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.fractions": {"tf": 1}, "pydrex.minerals.Mineral.orientations": {"tf": 1}}, "df": 2}}}}}}, "default_value": {"root": {"0": {"1": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 4.58257569495584}, "pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 2.23606797749979}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 4.898979485566356}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 4.898979485566356}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 4}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 2}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 2}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 2}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 4.58257569495584}}, "df": 20}, "1": {"0": {"0": {"0": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "2": {"2": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "5": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 5}, "docs": {}, "df": 0}, "docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 2.449489742783178}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 2.8284271247461903}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 2.449489742783178}}, "df": 19}, "2": {"0": {"0": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 1}, "7": {"1": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "1": {"9": {"7": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "5": {"0": {"0": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 7, "d": {"docs": {"tests.test_simple_shear_2d.SUBDIR": {"tf": 1}}, "df": 1}}, "3": {"0": {"4": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "3": {"7": {"5": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "4": {"3": {"2": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "6": {"9": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "7": {"7": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1.4142135623730951}}, "df": 13}, "4": {"3": {"9": {"4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "8": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}}, "df": 3}, "5": {"0": {"0": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}}, "df": 1}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}}, "df": 1}, "docs": {"pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.7320508075688772}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1.7320508075688772}}, "df": 11}, "6": {"8": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.7320508075688772}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 2}, "7": {"6": {"7": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 2.449489742783178}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 4}, "8": {"0": {"5": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "3": {"6": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "9": {"4": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "6": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "7": {"2": {"5": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"2": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "8": {"4": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1.4142135623730951}, "pydrex.cli.CLI_HANDLERS": {"tf": 1}, "pydrex.core.PERMUTATION_SYMBOL": {"tf": 1.4142135623730951}, "pydrex.core.MineralPhase.olivine": {"tf": 1.4142135623730951}, "pydrex.core.MineralPhase.enstatite": {"tf": 1.4142135623730951}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1.4142135623730951}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1.4142135623730951}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1.4142135623730951}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1.4142135623730951}, "pydrex.io.DEFAULT_PARAMS": {"tf": 3.3166247903554}, "pydrex.io.SCSV_TYPEMAP": {"tf": 2.6457513110645907}, "pydrex.logger.LOGGER": {"tf": 1.4142135623730951}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.6457513110645907}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.phase": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.fabric": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.regime": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 3.1622776601683795}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2.6457513110645907}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1.4142135623730951}, "tests.test_core.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1.4142135623730951}}, "df": 42, "x": {"2": {"7": {"docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1.4142135623730951}, "pydrex.io.DEFAULT_PARAMS": {"tf": 4.47213595499958}, "pydrex.io.SCSV_TYPEMAP": {"tf": 4.47213595499958}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 4.242640687119285}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 4.242640687119285}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 3.1622776601683795}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1.4142135623730951}, "tests.test_core.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1.4142135623730951}}, "df": 19}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1}, "pydrex.logger.LOGGER": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.PytestConsoleLogger.name": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1}}, "df": 1, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {"pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1.7320508075688772}}, "df": 2, "l": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 2.23606797749979}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.PytestConsoleLogger.name": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.SUBDIR": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1.4142135623730951}}, "df": 9}}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1.4142135623730951}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2.23606797749979}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {"pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 12, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1}}, "df": 4}}}}, "b": {"docs": {"pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}}, "df": 1}}, "e": {"docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 2, "+": {"0": {"0": {"docs": {"pydrex.core.PERMUTATION_SYMBOL": {"tf": 5.196152422706632}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 4.898979485566356}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 4.898979485566356}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 5.196152422706632}}, "df": 4}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 11}}}}}}}}, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1.4142135623730951}}, "df": 9, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}}}}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 2.23606797749979}, "pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.23606797749979}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2.23606797749979}}, "df": 28}, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.LOGGER": {"tf": 1}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1}}, "df": 2}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.minerals.Mineral.phase": {"tf": 1}}, "df": 3}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.23606797749979}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 16}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {"tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.23606797749979}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1.7320508075688772}}, "df": 18, "a": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}, "p": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.MineralPhase.olivine": {"tf": 1}, "pydrex.core.MineralPhase.enstatite": {"tf": 1}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 2.23606797749979}, "pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.23606797749979}, "pydrex.minerals.Mineral.phase": {"tf": 1}, "pydrex.minerals.Mineral.fabric": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2.23606797749979}}, "df": 28}, "b": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}, "s": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}}, "d": {"docs": {"pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime.diffusion": {"tf": 1}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.LOGGER": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.diffusion": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.DeformationRegime.dislocation": {"tf": 1}, "pydrex.minerals.Mineral.regime": {"tf": 1}}, "df": 2}}}}}}}}}}}, "b": {"docs": {"pydrex.core.MineralFabric.olivine_B": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 2, "y": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.DeformationRegime.byerlee": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.LOGGER_CONSOLE": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}}, "df": 3}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}}, "df": 3}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.fractions_init": {"tf": 1}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1}, "pydrex.minerals.Mineral.seed": {"tf": 1}, "pydrex.minerals.Mineral.lband": {"tf": 1}, "pydrex.minerals.Mineral.uband": {"tf": 1}}, "df": 5}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 9}}}}}, "t": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.logger.LOGGER_CONSOLE": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 2.8284271247461903}}, "df": 1}}}}}}, "signature": {"root": {"0": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.7320508075688772}}, "df": 4}, "1": {"0": {"0": {"0": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "1": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}, "docs": {"pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 5}, "docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 6}, "2": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 3, "d": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 2}}, "3": {"3": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 2}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.logger.logfile_enable": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.utils.readable_timestamp": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 2}, "pydrex.visualisation.corner_flow_2d": {"tf": 2}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1.4142135623730951}}, "df": 13}, "docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 2}, "5": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 8.660254037844387}, "pydrex.axes.PoleFigureAxes.set": {"tf": 24.839484696748443}, "pydrex.core.get_crss": {"tf": 3.7416573867739413}, "pydrex.core.derivatives": {"tf": 8.12403840463596}, "pydrex.diagnostics.anisotropy": {"tf": 4.47213595499958}, "pydrex.diagnostics.bingham_average": {"tf": 4.47213595499958}, "pydrex.diagnostics.finite_strain": {"tf": 4}, "pydrex.diagnostics.symmetry": {"tf": 4.47213595499958}, "pydrex.diagnostics.misorientation_index": {"tf": 6.082762530298219}, "pydrex.diagnostics.coaxial_index": {"tf": 5.477225575051661}, "pydrex.diagnostics.misorientation_angles": {"tf": 3.1622776601683795}, "pydrex.diagnostics.smallest_angle": {"tf": 3.7416573867739413}, "pydrex.exceptions.ConfigError.__init__": {"tf": 2.8284271247461903}, "pydrex.exceptions.MeshError.__init__": {"tf": 2.8284271247461903}, "pydrex.exceptions.IterationError.__init__": {"tf": 2.8284271247461903}, "pydrex.exceptions.SCSVError.__init__": {"tf": 2.8284271247461903}, "pydrex.geometry.to_cartesian": {"tf": 4.898979485566356}, "pydrex.geometry.to_spherical": {"tf": 4.242640687119285}, "pydrex.geometry.poles": {"tf": 6.48074069840786}, "pydrex.geometry.lambert_equal_area": {"tf": 4.242640687119285}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 3.7416573867739413}, "pydrex.interpolations.default_interpolators": {"tf": 5.0990195135927845}, "pydrex.interpolations.create_interpolators": {"tf": 5.656854249492381}, "pydrex.interpolations.get_velocity": {"tf": 3.7416573867739413}, "pydrex.interpolations.get_velocity_gradient": {"tf": 3.7416573867739413}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 3.7416573867739413}, "pydrex.io.read_scsv": {"tf": 3.1622776601683795}, "pydrex.io.write_scsv_header": {"tf": 4.69041575982343}, "pydrex.io.save_scsv": {"tf": 4.898979485566356}, "pydrex.io.parse_config": {"tf": 3.1622776601683795}, "pydrex.io.read_mesh": {"tf": 4.69041575982343}, "pydrex.io.resolve_path": {"tf": 4.242640687119285}, "pydrex.io.stringify": {"tf": 3.1622776601683795}, "pydrex.io.data": {"tf": 3.1622776601683795}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 3.7416573867739413}, "pydrex.logger.ConsoleFormatter.format": {"tf": 3.7416573867739413}, "pydrex.logger.handler_level": {"tf": 5.385164807134504}, "pydrex.logger.logfile_enable": {"tf": 5.291502622129181}, "pydrex.logger.critical": {"tf": 4.69041575982343}, "pydrex.logger.error": {"tf": 4.69041575982343}, "pydrex.logger.warning": {"tf": 4.69041575982343}, "pydrex.logger.info": {"tf": 4.69041575982343}, "pydrex.logger.debug": {"tf": 4.69041575982343}, "pydrex.logger.exception": {"tf": 4.69041575982343}, "pydrex.logger.quiet_aliens": {"tf": 2.6457513110645907}, "pydrex.minerals.voigt_averages": {"tf": 3.7416573867739413}, "pydrex.minerals.Mineral.__init__": {"tf": 15.198684153570664}, "pydrex.minerals.Mineral.update_orientations": {"tf": 6.164414002968976}, "pydrex.minerals.Mineral.save": {"tf": 4.69041575982343}, "pydrex.minerals.Mineral.load": {"tf": 4.69041575982343}, "pydrex.minerals.Mineral.from_file": {"tf": 4.69041575982343}, "pydrex.pathlines.get_pathline": {"tf": 5.5677643628300215}, "pydrex.stats.resample_orientations": {"tf": 5.477225575051661}, "pydrex.stats.misorientations_random": {"tf": 5.744562646538029}, "pydrex.stats.point_density": {"tf": 8.12403840463596}, "pydrex.stats.exponential_kamb": {"tf": 5.196152422706632}, "pydrex.stats.linear_inverse_kamb": {"tf": 5.196152422706632}, "pydrex.stats.square_inverse_kamb": {"tf": 5.196152422706632}, "pydrex.stats.kamb_count": {"tf": 5.196152422706632}, "pydrex.stats.schmidt_count": {"tf": 4.242640687119285}, "pydrex.tensors.voigt_decompose": {"tf": 3.1622776601683795}, "pydrex.tensors.hex_projector": {"tf": 3.1622776601683795}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 3.1622776601683795}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 3.1622776601683795}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 3.1622776601683795}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 3.1622776601683795}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 3.1622776601683795}, "pydrex.tensors.rotate": {"tf": 3.7416573867739413}, "pydrex.utils.remove_nans": {"tf": 3.1622776601683795}, "pydrex.utils.readable_timestamp": {"tf": 4.47213595499958}, "pydrex.utils.angle_fse_simpleshear": {"tf": 3.1622776601683795}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 4.242640687119285}, "pydrex.visualisation.polefigures": {"tf": 7.54983443527075}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 9.433981132056603}, "pydrex.visualisation.corner_flow_2d": {"tf": 12.328828005937952}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 5.656854249492381}, "pydrex.vtk_helpers.get_output": {"tf": 3.1622776601683795}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 4.69041575982343}, "pydrex.vtk_helpers.read_coord_array": {"tf": 5.0990195135927845}, "pydrex.vtk_helpers.get_steps": {"tf": 3.1622776601683795}, "tests.conftest.pytest_addoption": {"tf": 3.1622776601683795}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 4.47213595499958}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 3.7416573867739413}, "tests.conftest.pytest_configure": {"tf": 3.1622776601683795}, "tests.conftest.pytest_collection_modifyitems": {"tf": 3.7416573867739413}, "tests.conftest.outdir": {"tf": 3.1622776601683795}, "tests.conftest.ncpus": {"tf": 3.1622776601683795}, "tests.conftest.console_handler": {"tf": 3.1622776601683795}, "tests.conftest.params_Fraters2021": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 2.6457513110645907}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 2.6457513110645907}, "tests.conftest.params_Hedjazian2017": {"tf": 2.6457513110645907}, "tests.conftest.hkl": {"tf": 3.1622776601683795}, "tests.conftest.ref_axes": {"tf": 3.1622776601683795}, "tests.conftest.seeds": {"tf": 2.6457513110645907}, "tests.conftest.seed": {"tf": 2.6457513110645907}, "tests.conftest.seeds_nearX45": {"tf": 2.6457513110645907}, "tests.test_config.test_specfile": {"tf": 2.6457513110645907}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 3.7416573867739413}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 3.7416573867739413}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 3.7416573867739413}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 3.7416573867739413}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 3.7416573867739413}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 3.7416573867739413}, "tests.test_corner_flow_2d.get_velocity": {"tf": 4.242640687119285}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 4.242640687119285}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 4.69041575982343}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 3.1622776601683795}, "tests.test_doctests.test_doctests": {"tf": 2.6457513110645907}, "tests.test_geometry.test_poles_example": {"tf": 3.7416573867739413}, "tests.test_geometry.test_lambert_equal_area": {"tf": 3.1622776601683795}, "tests.test_scsv.test_validate_schema": {"tf": 3.1622776601683795}, "tests.test_scsv.test_read_specfile": {"tf": 2.6457513110645907}, "tests.test_scsv.test_save_specfile": {"tf": 3.1622776601683795}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 2.6457513110645907}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 2.6457513110645907}, "tests.test_scsv.test_read_Skemer2016": {"tf": 2.6457513110645907}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 8.48528137423857}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 7.810249675906654}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 6.4031242374328485}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 6.4031242374328485}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 4.242640687119285}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 4.242640687119285}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 4.242640687119285}, "tests.test_tensors.test_voigt_decompose": {"tf": 2.6457513110645907}, "tests.test_tensors.test_voigt_tensor": {"tf": 2.6457513110645907}, "tests.test_tensors.test_voigt_to_vector": {"tf": 2.6457513110645907}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 2.6457513110645907}}, "df": 147, "s": {"docs": {"pydrex.io.stringify": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 33}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 8, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "p": {"3": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}, "docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 5}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}}}}}}}}, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 4}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 2}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 4, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 5}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 4}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 3}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 4}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}}}}, "g": {"4": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.7320508075688772}}, "df": 1}, "5": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.7320508075688772}}, "df": 2}, "docs": {}, "df": 0}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 3}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.data": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "f": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 4, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.outdir": {"tf": 1}, "tests.conftest.ncpus": {"tf": 1}, "tests.conftest.console_handler": {"tf": 1}, "tests.conftest.hkl": {"tf": 1}, "tests.conftest.ref_axes": {"tf": 1}}, "df": 5}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1.4142135623730951}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.tensors.rotate": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "a": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 7, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 5}}, "i": {"docs": {}, "df": 0, "s": {"1": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "2": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 3, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 6}}}}, "d": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 4}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "y": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.read_mesh": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 8}}, "r": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}}}}}}, "x": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 6, "z": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 3}}, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.handler_level": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}, ":": {"docs": {}, "df": 0, "%": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "%": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}}, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 15}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"2": {"0": {"0": {"1": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.7320508075688772}}, "df": 2}, "4": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 3, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 2.23606797749979}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 2}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 17}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "x": {"4": {"5": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 7.0710678118654755}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 2.23606797749979}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 4}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}, "g": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 3}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 7.0710678118654755}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 7.0710678118654755}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 2.23606797749979}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 4}, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 5}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}}}, "b": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 2.23606797749979}}, "df": 1}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 9}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 14}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}}}}, "b": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}}, "df": 1}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}, "s": {"docs": {"pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 6}}, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.pytest_configure": {"tf": 1}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 5}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 3}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 5}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}}, "df": 4, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.7320508075688772}}, "df": 5}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.pytest_addoption": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 3}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"1": {"0": {"0": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "j": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 4}}, "y": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "t": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 2.6457513110645907}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 2, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 3}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1}}, "df": 1, "s": {"docs": {"tests.conftest.pytest_collection_modifyitems": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}}, "df": 4}}}}, "x": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.ConfigError.__init__": {"tf": 1}, "pydrex.exceptions.MeshError.__init__": {"tf": 1}, "pydrex.exceptions.IterationError.__init__": {"tf": 1}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1}}, "df": 4}}}}, "h": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.read_mesh": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 6}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}}}}, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}, "z": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 5, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}}}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 8}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}}, "df": 2}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 3}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 6}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}}}, "y": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 2}}}}}, "w": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2}}}}}}}}}, "bases": {"root": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}}}}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1.7320508075688772}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}}, "df": 3}}}, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.exceptions.Error": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}}, "df": 4}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}}, "df": 3}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.exceptions.Error": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 1}}}}}}}}, "doc": {"root": {"0": {"0": {"1": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 6}, "3": {"5": {"6": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "4": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "1": {"0": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 5}, "6": {"1": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 3}, "2": {"3": {"0": {"8": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "4": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}}, "df": 1}, "docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2.449489742783178}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 9.055385138137417}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2.23606797749979}, "pydrex.vtk_helpers.get_steps": {"tf": 2.23606797749979}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.8284271247461903}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.8284271247461903}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.8284271247461903}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.8284271247461903}, "tests.test_corner_flow_2d": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 2.8284271247461903}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 2.8284271247461903}}, "df": 23}, "1": {"0": {"0": {"0": {"0": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 1}, "docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1}, "7": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"1": {"0": {"8": {"5": {"1": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 6}, "1": {"6": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"0": {"0": {"1": {"2": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "j": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}}}, "docs": {}, "df": 0}, "2": {"9": {"docs": {}, "df": 0, "/": {"2": {"0": {"2": {"1": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "c": {"0": {"0": {"9": {"8": {"4": {"6": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}}, "df": 5}, "1": {"1": {"1": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "j": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"0": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 1}, "5": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 2}, "3": {"6": {"5": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "4": {"1": {"5": {"9": {"2": {"6": {"5": {"3": {"5": {"8": {"9": {"7": {"9": {"3": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "6": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 4}}, "df": 1}, "8": {"0": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "9": {"5": {"9": {"docs": {"pydrex.stats.kamb_count": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"6": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "7": {"9": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"0": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}, "5": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 5}, "7": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 6.324555320336759}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 5.0990195135927845}}, "df": 16, "/": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "x": {"4": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}, "2": {"0": {"0": {"0": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.8284271247461903}}, "df": 1}, "1": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 4}, "2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}, "5": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}}, "df": 1}, "8": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 1}, "1": {"5": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "6": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "2": {"1": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}, "1": {"docs": {"pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 3}, "4": {"6": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}}, "df": 3}}, "docs": {}, "df": 0}, "5": {"0": {"0": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2}, "docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 2}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 2.23606797749979}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 21, "d": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 14}}, "3": {"6": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 4.898979485566356}}, "df": 1}, "docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 2}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 3}}, "df": 12, "x": {"3": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}}, "df": 5}, "docs": {}, "df": 0}, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 4}}, "4": {"1": {"docs": {"tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 1}, "2": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}, "5": {"docs": {"tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 4}, "docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 10}, "5": {"0": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}}, "df": 1}, "docs": {"pydrex": {"tf": 2}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 8}, "6": {"4": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 5.656854249492381}}, "df": 1}, "docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}}, "df": 4, "x": {"6": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 8}, "docs": {}, "df": 0}}, "7": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}}, "df": 1}, "8": {"2": {"1": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}}, "df": 3}}, "docs": {}, "df": 0}, "8": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}, "docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}}, "df": 2}, "9": {"0": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 2, "k": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "8": {"4": {"5": {"1": {"3": {"0": {"2": {"0": {"9": {"1": {"0": {"1": {"4": {"6": {"7": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2}, "pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}}, "df": 5}, "docs": {"pydrex": {"tf": 19.390719429665317}, "pydrex.axes": {"tf": 2.6457513110645907}, "pydrex.axes.PoleFigureAxes": {"tf": 4.358898943540674}, "pydrex.axes.PoleFigureAxes.name": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 7}, "pydrex.axes.PoleFigureAxes.set": {"tf": 5.196152422706632}, "pydrex.cli": {"tf": 2.6457513110645907}, "pydrex.cli.PoleFigureVisualiser": {"tf": 2.6457513110645907}, "pydrex.cli.CLI_HANDLERS": {"tf": 1.7320508075688772}, "pydrex.core": {"tf": 4.69041575982343}, "pydrex.core.PERMUTATION_SYMBOL": {"tf": 1.7320508075688772}, "pydrex.core.MineralPhase": {"tf": 1.7320508075688772}, "pydrex.core.MineralPhase.olivine": {"tf": 1.7320508075688772}, "pydrex.core.MineralPhase.enstatite": {"tf": 1.7320508075688772}, "pydrex.core.DeformationRegime": {"tf": 1.7320508075688772}, "pydrex.core.DeformationRegime.diffusion": {"tf": 1.7320508075688772}, "pydrex.core.DeformationRegime.dislocation": {"tf": 1.7320508075688772}, "pydrex.core.DeformationRegime.byerlee": {"tf": 1.7320508075688772}, "pydrex.core.DeformationRegime.max_viscosity": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric": {"tf": 4.358898943540674}, "pydrex.core.MineralFabric.olivine_A": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric.olivine_B": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric.olivine_E": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric.enstatite_AB": {"tf": 1.7320508075688772}, "pydrex.core.get_crss": {"tf": 3.4641016151377544}, "pydrex.core.derivatives": {"tf": 9.486832980505138}, "pydrex.diagnostics": {"tf": 4.47213595499958}, "pydrex.diagnostics.anisotropy": {"tf": 4.795831523312719}, "pydrex.diagnostics.bingham_average": {"tf": 3.872983346207417}, "pydrex.diagnostics.finite_strain": {"tf": 2.449489742783178}, "pydrex.diagnostics.symmetry": {"tf": 5.0990195135927845}, "pydrex.diagnostics.misorientation_index": {"tf": 4.358898943540674}, "pydrex.diagnostics.coaxial_index": {"tf": 3.3166247903554}, "pydrex.diagnostics.misorientation_angles": {"tf": 5.196152422706632}, "pydrex.diagnostics.smallest_angle": {"tf": 3.1622776601683795}, "pydrex.exceptions": {"tf": 3}, "pydrex.exceptions.Error": {"tf": 1.7320508075688772}, "pydrex.exceptions.ConfigError": {"tf": 2.449489742783178}, "pydrex.exceptions.ConfigError.__init__": {"tf": 1.7320508075688772}, "pydrex.exceptions.ConfigError.message": {"tf": 1.7320508075688772}, "pydrex.exceptions.MeshError": {"tf": 2.449489742783178}, "pydrex.exceptions.MeshError.__init__": {"tf": 1.7320508075688772}, "pydrex.exceptions.MeshError.message": {"tf": 1.7320508075688772}, "pydrex.exceptions.IterationError": {"tf": 2.449489742783178}, "pydrex.exceptions.IterationError.__init__": {"tf": 1.7320508075688772}, "pydrex.exceptions.IterationError.message": {"tf": 1.7320508075688772}, "pydrex.exceptions.SCSVError": {"tf": 3.4641016151377544}, "pydrex.exceptions.SCSVError.__init__": {"tf": 1.7320508075688772}, "pydrex.exceptions.SCSVError.message": {"tf": 1.7320508075688772}, "pydrex.geometry": {"tf": 2.6457513110645907}, "pydrex.geometry.to_cartesian": {"tf": 5.0990195135927845}, "pydrex.geometry.to_spherical": {"tf": 5.0990195135927845}, "pydrex.geometry.poles": {"tf": 3.7416573867739413}, "pydrex.geometry.lambert_equal_area": {"tf": 3}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 19.467922333931785}, "pydrex.interpolations": {"tf": 2.6457513110645907}, "pydrex.interpolations.default_interpolators": {"tf": 6}, "pydrex.interpolations.create_interpolators": {"tf": 6.48074069840786}, "pydrex.interpolations.get_velocity": {"tf": 1.7320508075688772}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1.7320508075688772}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1.7320508075688772}, "pydrex.io": {"tf": 5.477225575051661}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.7320508075688772}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1.7320508075688772}, "pydrex.io.read_scsv": {"tf": 3.1622776601683795}, "pydrex.io.write_scsv_header": {"tf": 5.656854249492381}, "pydrex.io.save_scsv": {"tf": 5.5677643628300215}, "pydrex.io.parse_config": {"tf": 1.7320508075688772}, "pydrex.io.read_mesh": {"tf": 2.6457513110645907}, "pydrex.io.resolve_path": {"tf": 2.8284271247461903}, "pydrex.io.stringify": {"tf": 1.7320508075688772}, "pydrex.io.data": {"tf": 1.7320508075688772}, "pydrex.logger": {"tf": 20.049937655763422}, "pydrex.logger.ConsoleFormatter": {"tf": 1.7320508075688772}, "pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1.7320508075688772}, "pydrex.logger.ConsoleFormatter.format": {"tf": 2.449489742783178}, "pydrex.logger.LOGGER": {"tf": 1.7320508075688772}, "pydrex.logger.LOGGER_CONSOLE": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 5}, "pydrex.logger.logfile_enable": {"tf": 2.6457513110645907}, "pydrex.logger.critical": {"tf": 1.7320508075688772}, "pydrex.logger.error": {"tf": 1.7320508075688772}, "pydrex.logger.warning": {"tf": 1.7320508075688772}, "pydrex.logger.info": {"tf": 1.7320508075688772}, "pydrex.logger.debug": {"tf": 1.7320508075688772}, "pydrex.logger.exception": {"tf": 2.449489742783178}, "pydrex.logger.quiet_aliens": {"tf": 2}, "pydrex.minerals": {"tf": 2.6457513110645907}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 2.6457513110645907}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 2.6457513110645907}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 2.23606797749979}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 2.8284271247461903}, "pydrex.minerals.voigt_averages": {"tf": 5.291502622129181}, "pydrex.minerals.Mineral": {"tf": 21.587033144922902}, "pydrex.minerals.Mineral.__init__": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.phase": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.fabric": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.regime": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.n_grains": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.fractions_init": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.orientations_init": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.fractions": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.orientations": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.seed": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.lband": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.uband": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 7.54983443527075}, "pydrex.minerals.Mineral.save": {"tf": 5.385164807134504}, "pydrex.minerals.Mineral.load": {"tf": 4.69041575982343}, "pydrex.minerals.Mineral.from_file": {"tf": 4.898979485566356}, "pydrex.mock": {"tf": 2.6457513110645907}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 2.23606797749979}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 2.23606797749979}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 2.23606797749979}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 2.23606797749979}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 2.449489742783178}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 2.449489742783178}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 2.449489742783178}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 2.23606797749979}, "pydrex.pathlines": {"tf": 2.6457513110645907}, "pydrex.pathlines.get_pathline": {"tf": 5.477225575051661}, "pydrex.stats": {"tf": 2.6457513110645907}, "pydrex.stats.resample_orientations": {"tf": 3.7416573867739413}, "pydrex.stats.misorientations_random": {"tf": 5.830951894845301}, "pydrex.stats.point_density": {"tf": 6.48074069840786}, "pydrex.stats.exponential_kamb": {"tf": 1.7320508075688772}, "pydrex.stats.linear_inverse_kamb": {"tf": 1.7320508075688772}, "pydrex.stats.square_inverse_kamb": {"tf": 1.7320508075688772}, "pydrex.stats.kamb_count": {"tf": 1.7320508075688772}, "pydrex.stats.schmidt_count": {"tf": 1.7320508075688772}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 3.3166247903554}, "pydrex.tensors": {"tf": 3.1622776601683795}, "pydrex.tensors.PERMUTATION_SYMBOL": {"tf": 1.7320508075688772}, "pydrex.tensors.voigt_decompose": {"tf": 4.58257569495584}, "pydrex.tensors.hex_projector": {"tf": 2.8284271247461903}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 13.92838827718412}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 2.8284271247461903}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1.7320508075688772}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1.7320508075688772}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 2.8284271247461903}, "pydrex.tensors.rotate": {"tf": 1.7320508075688772}, "pydrex.utils": {"tf": 2.6457513110645907}, "pydrex.utils.remove_nans": {"tf": 1.7320508075688772}, "pydrex.utils.readable_timestamp": {"tf": 1.7320508075688772}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1.7320508075688772}, "pydrex.velocity_gradients": {"tf": 2.6457513110645907}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation": {"tf": 2.6457513110645907}, "pydrex.visualisation.polefigures": {"tf": 2.8284271247461903}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.corner_flow_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.single_olivineA_simple_shear": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers": {"tf": 2.6457513110645907}, "pydrex.vtk_helpers.get_output": {"tf": 2.8284271247461903}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 4.47213595499958}, "pydrex.vtk_helpers.read_coord_array": {"tf": 4.242640687119285}, "pydrex.vtk_helpers.get_steps": {"tf": 16.64331697709324}, "tests": {"tf": 8.48528137423857}, "tests.conftest": {"tf": 2.6457513110645907}, "tests.conftest.pytest_addoption": {"tf": 1.7320508075688772}, "tests.conftest.PytestConsoleLogger": {"tf": 1.7320508075688772}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 2.449489742783178}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1.7320508075688772}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1.7320508075688772}, "tests.conftest.PytestConsoleLogger.pytest_runtest_teardown": {"tf": 1.7320508075688772}, "tests.conftest.pytest_configure": {"tf": 1.7320508075688772}, "tests.conftest.pytest_collection_modifyitems": {"tf": 1.7320508075688772}, "tests.conftest.outdir": {"tf": 1.7320508075688772}, "tests.conftest.ncpus": {"tf": 1.7320508075688772}, "tests.conftest.console_handler": {"tf": 1.7320508075688772}, "tests.conftest.params_Fraters2021": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2001_fig5_solid": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2001_fig5_shortdash": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2001_fig5_longdash": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2004_fig4_triangles": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2004_fig4_squares": {"tf": 1.7320508075688772}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1.7320508075688772}, "tests.conftest.params_Hedjazian2017": {"tf": 1.7320508075688772}, "tests.conftest.hkl": {"tf": 1.7320508075688772}, "tests.conftest.ref_axes": {"tf": 1.7320508075688772}, "tests.conftest.seeds": {"tf": 1.7320508075688772}, "tests.conftest.seed": {"tf": 1.7320508075688772}, "tests.conftest.seeds_nearX45": {"tf": 1.7320508075688772}, "tests.test_config": {"tf": 2.6457513110645907}, "tests.test_config.test_specfile": {"tf": 1.7320508075688772}, "tests.test_core": {"tf": 2.6457513110645907}, "tests.test_core.SUBDIR": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOPX": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOPX.class_id": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOPX.test_shear_dudz": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOPX.test_shear_dvdx": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOlivineA.class_id": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.23606797749979}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.23606797749979}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.23606797749979}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.23606797749979}, "tests.test_corner_flow_2d": {"tf": 6.164414002968976}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 3}, "tests.test_diagnostics": {"tf": 2.6457513110645907}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1.7320508075688772}, "tests.test_doctests": {"tf": 2.6457513110645907}, "tests.test_doctests.test_doctests": {"tf": 1.7320508075688772}, "tests.test_geometry": {"tf": 2.6457513110645907}, "tests.test_geometry.test_poles_example": {"tf": 1.7320508075688772}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1.7320508075688772}, "tests.test_scsv": {"tf": 2.6457513110645907}, "tests.test_scsv.test_validate_schema": {"tf": 1.7320508075688772}, "tests.test_scsv.test_read_specfile": {"tf": 1.7320508075688772}, "tests.test_scsv.test_save_specfile": {"tf": 1.7320508075688772}, "tests.test_scsv.test_read_Kaminski2002": {"tf": 1.7320508075688772}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1.7320508075688772}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d": {"tf": 2.6457513110645907}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 3}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 3.1622776601683795}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1.7320508075688772}, "tests.test_tensors": {"tf": 2.6457513110645907}, "tests.test_tensors.test_voigt_decompose": {"tf": 1.7320508075688772}, "tests.test_tensors.test_voigt_tensor": {"tf": 2}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1.7320508075688772}, "tests.test_vtk_helpers": {"tf": 2.6457513110645907}, "tests.test_vtk_helpers.test_vtk_2d_array_shapes": {"tf": 1.7320508075688772}}, "df": 254, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.logger": {"tf": 2.449489742783178}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "tests": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 8, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 3}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "e": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 11}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "n": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1, "\u03c6": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}, "\u03b8": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 8}}}}}, "o": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 3, "f": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.core": {"tf": 1}}, "df": 1, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity_gradients": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats": {"tf": 1}}, "df": 3}}, "s": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}}, "df": 3}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}}, "df": 4}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1.7320508075688772}}, "df": 3}}}, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 2.23606797749979}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.core": {"tf": 1.7320508075688772}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 4, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 2}}, "^": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1.7320508075688772}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.7320508075688772}}, "df": 4, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests": {"tf": 1}}, "df": 10}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 5}, "s": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}, "y": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 3}}}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 9, "z": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 1}, "d": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 2}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes": {"tf": 1}, "pydrex.exceptions": {"tf": 1}}, "df": 2}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 2, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 6}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 26, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}}, "df": 4, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 7, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 2}}, "df": 9}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 18}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core": {"tf": 2}, "pydrex.core.get_crss": {"tf": 2}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 2}}, "df": 6}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.tensors.hex_projector": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 11}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.tensors": {"tf": 1.7320508075688772}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}}, "df": 4}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.core": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 2.23606797749979}}, "df": 5, "s": {"docs": {"pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2}, "pydrex.io": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 6}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "c": {"docs": {"pydrex.io": {"tf": 1.4142135623730951}, "tests.test_config.test_specfile": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 6}, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}, "c": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}}, "df": 3}}}}, "e": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 3, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 3}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.exceptions.IterationError": {"tf": 1}}, "df": 1}}, "a": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1.7320508075688772}, "pydrex.io.save_scsv": {"tf": 1.4142135623730951}, "tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 3}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.schmidt_count": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.io": {"tf": 2.23606797749979}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1.7320508075688772}, "pydrex.io.write_scsv_header": {"tf": 2}, "pydrex.io.save_scsv": {"tf": 2}, "tests.test_scsv": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 10}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3}}}}, "w": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "p": {"3": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "}": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}}, "df": 3, "r": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.4142135623730951}}, "df": 9, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 10}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}}, "df": 11, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.logger": {"tf": 2}, "pydrex.logger.critical": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 5}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}}, "df": 4, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 2}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes": {"tf": 1}, "pydrex.exceptions": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 7}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.stringify": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "tests.test_core": {"tf": 1}}, "df": 5}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 7}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 2}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.tensors": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 2}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "/": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "/": {"9": {"0": {"0": {"8": {"1": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "/": {"1": {"0": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.io.read_mesh": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 3, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests.conftest": {"tf": 1}, "tests.test_config": {"tf": 1}}, "df": 8}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 6}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1.7320508075688772}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 2}}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 3, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.geometry": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 4}}}}}, "t": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 2, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": null}, "pydrex.minerals.Mineral": {"tf": null}}, "df": 2}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 2}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 3.4641016151377544}, "pydrex.logger.handler_level": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.io.save_scsv": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}, "\u03c6": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "\u03b8": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "\u03d5": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "\u03d5": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 9}}}}}}, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.stats.point_density": {"tf": 2}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 2}}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests": {"tf": 2.6457513110645907}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 10}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 3}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 3, "[": {"docs": {}, "df": 0, "[": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 6}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 8}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 2}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 6}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "u": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.io": {"tf": 1.4142135623730951}}, "df": 1}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}, "i": {"docs": {"tests": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 4, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 2}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "j": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "tests.test_geometry": {"tf": 1}}, "df": 3}}}}, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 1}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.hex_projector": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {"tests": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 2.449489742783178}}, "df": 1}}, "f": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}}, "df": 3}}}}}}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1.7320508075688772}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}}, "df": 5, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {"tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 2}}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "l": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 2.23606797749979}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}}, "df": 10, "s": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 7}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 6}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.parse_config": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_config.test_specfile": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 6}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 6, "s": {"docs": {"pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "tests": {"tf": 1}}, "df": 2}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}}, "df": 3}}, "b": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "p": {"docs": {}, "df": 0, "i": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "tests": {"tf": 2}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 3}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.exceptions": {"tf": 1.4142135623730951}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.interpolations": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.logger": {"tf": 2.23606797749979}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.mock": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.stats": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.utils": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.vtk_helpers": {"tf": 1}, "tests": {"tf": 2}, "tests.conftest": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 48}}}}}, "i": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.7320508075688772}}, "df": 1, "p": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}}, "df": 2}}}, "h": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 2.6457513110645907}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}}, "df": 3}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}}, "df": 7}}, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 3.7416573867739413}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}}, "df": 10, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 14, "s": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 15}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 2}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 5}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.7320508075688772}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}}, "df": 6, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.core.get_crss": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestSimpleShearOPX": {"tf": 1}}, "df": 1}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "/": {"1": {"0": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 8}, "docs": {}, "df": 0}, "docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "n": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.axes.PoleFigureAxes.set": {"tf": 2.23606797749979}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 16, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 7}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 3}, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 3}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}}, "df": 2}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 3, "s": {"docs": {"tests.test_tensors": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 11, "y": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}}, "df": 2}, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 3, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 2.449489742783178}}, "df": 2}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 2.23606797749979}}, "df": 7, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.visualisation": {"tf": 1}}, "df": 2}}}}}}, "f": {"docs": {"pydrex": {"tf": 6.164414002968976}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 2}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 2.449489742783178}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.exceptions": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 2}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1.7320508075688772}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 2.6457513110645907}, "pydrex.minerals.Mineral": {"tf": 4.358898943540674}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.stats.resample_orientations": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 3}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 77, "f": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 4, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 3}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 22}}}}}, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.mock": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "tests": {"tf": 1}}, "df": 16, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}}, "df": 8}}}, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 4}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 2, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.exponential_kamb": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3}}, "s": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}}, "df": 4}}}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}}, "df": 2, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.exception": {"tf": 1.4142135623730951}}, "df": 6, "s": {"docs": {"pydrex.exceptions": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}}, "df": 2}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 2}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 2}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core": {"tf": 1}}, "df": 1}}}, "d": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}}, "df": 1, "{": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 8}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.logfile_enable": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "d": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 4}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}}}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 5}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}}, "df": 5}}}}}}}}}, "t": {"docs": {"pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 3, "c": {"docs": {"pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.7320508075688772}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1.7320508075688772}, "pydrex.minerals": {"tf": 1}, "pydrex.stats": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 4}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.exceptions": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.logger": {"tf": 2.449489742783178}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 9, "s": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 5}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}}}}, "i": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 9, "n": {"docs": {"pydrex": {"tf": 3.872983346207417}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests": {"tf": 2}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 55, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 3}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 9}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 2}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3, "o": {"docs": {"pydrex": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 5}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 2, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.interpolations": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 5}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.interpolations.get_velocity": {"tf": 1}}, "df": 1}, "d": {"docs": {"pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}}, "df": 1}}}, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}, "v": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 7, "/": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "t": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.6457513110645907}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 6, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}}, "df": 1, "o": {"docs": {"pydrex.logger": {"tf": 2.8284271247461903}, "pydrex.logger.info": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}}}}}}}}}, "s": {"docs": {"pydrex": {"tf": 3.872983346207417}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1.7320508075688772}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.ConsoleFormatter.format": {"tf": 2.23606797749979}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 2.23606797749979}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.7320508075688772}, "tests": {"tf": 2.23606797749979}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 28, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 2}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}, "s": {"docs": {"pydrex.core": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 4, "s": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 4}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.exceptions.IterationError": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "f": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "tests": {"tf": 2}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 15}, "/": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.exceptions.SCSVError": {"tf": 1}}, "df": 1}}, "o": {"docs": {"tests": {"tf": 1}}, "df": 1, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "/": {"2": {"0": {"1": {"7": {"docs": {}, "df": 0, "/": {"0": {"1": {"docs": {}, "df": 0, "/": {"0": {"8": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}, "d": {"docs": {"pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}}, "p": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}, "j": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}}, "df": 1, "k": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}, "j": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2.449489742783178}}, "df": 2, "h": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}}, "df": 5, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.logger": {"tf": 2.8284271247461903}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}}, "df": 9}, "n": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 3}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 3}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 20}, "n": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 4, "k": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"pydrex": {"tf": 9.055385138137417}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core": {"tf": 2.23606797749979}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 2.23606797749979}, "pydrex.diagnostics": {"tf": 2.449489742783178}, "pydrex.diagnostics.anisotropy": {"tf": 3}, "pydrex.diagnostics.bingham_average": {"tf": 1.7320508075688772}, "pydrex.diagnostics.finite_strain": {"tf": 2.449489742783178}, "pydrex.diagnostics.symmetry": {"tf": 2}, "pydrex.diagnostics.misorientation_index": {"tf": 2.23606797749979}, "pydrex.diagnostics.coaxial_index": {"tf": 2.23606797749979}, "pydrex.diagnostics.misorientation_angles": {"tf": 2}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1.4142135623730951}, "pydrex.exceptions.MeshError": {"tf": 1.4142135623730951}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1.7320508075688772}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 3.4641016151377544}, "pydrex.geometry.lambert_equal_area": {"tf": 2}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.interpolations.default_interpolators": {"tf": 1.7320508075688772}, "pydrex.interpolations.create_interpolators": {"tf": 2.23606797749979}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 2.23606797749979}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1.7320508075688772}, "pydrex.logger": {"tf": 3.872983346207417}, "pydrex.logger.ConsoleFormatter.format": {"tf": 3.3166247903554}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.7320508075688772}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.7320508075688772}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 4.898979485566356}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2.6457513110645907}, "pydrex.minerals.Mineral.save": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 3}, "pydrex.stats.resample_orientations": {"tf": 2.23606797749979}, "pydrex.stats.misorientations_random": {"tf": 2.449489742783178}, "pydrex.stats.point_density": {"tf": 3.872983346207417}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.7320508075688772}, "pydrex.tensors": {"tf": 2.23606797749979}, "pydrex.tensors.voigt_decompose": {"tf": 2}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 2.23606797749979}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 3.872983346207417}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 2.6457513110645907}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 85, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 2, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2}}}}}}, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 4}, "i": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {"tests": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}}, "df": 3}}}}}, "e": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}, "tests.test_scsv.test_validate_schema": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 40, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests": {"tf": 1.7320508075688772}, "tests.conftest": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 24, "/": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.mock": {"tf": 1}}, "df": 1}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 3, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.6457513110645907}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 12, "s": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1.7320508075688772}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 2}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 14, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {"pydrex": {"tf": 3.872983346207417}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core": {"tf": 1.7320508075688772}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1.7320508075688772}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}, "pydrex.io.save_scsv": {"tf": 1.7320508075688772}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.logger": {"tf": 3.605551275463989}, "pydrex.logger.ConsoleFormatter.format": {"tf": 2}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "tests": {"tf": 2.8284271247461903}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 57, "d": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "p": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 2}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "o": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io.parse_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}}, "df": 2}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 6, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "r": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 2}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}, "n": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 9, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}}, "df": 4}}, "i": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 3, "p": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 4, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}}, "df": 12, "s": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1.4142135623730951}}, "df": 3}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 2}, "tests.test_core": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}}, "df": 7, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "tests": {"tf": 1.7320508075688772}, "tests.conftest.seed": {"tf": 1}}, "df": 18}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2.449489742783178}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 4}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}}, "df": 3}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2}}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "tests": {"tf": 1}}, "df": 4, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}}, "df": 1}}}}, "o": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}}}}}}, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 3}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 3.7416573867739413}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 7}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 3}}}}}, "k": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 2}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}}, "df": 2}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 4, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 7}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}}, "df": 1, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 3}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}, "y": {"docs": {"pydrex.io.resolve_path": {"tf": 1.7320508075688772}, "tests": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_diagnostics.TestMIndex": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}}, "df": 11}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 1}}}}}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 2}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 2}, "pydrex.io.data": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.point_density": {"tf": 2.23606797749979}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.7320508075688772}, "tests": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 24, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "m": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 13, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "tests.test_doctests": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2, "l": {"docs": {"pydrex": {"tf": 3.1622776601683795}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}}, "df": 3}}}}}}, "r": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1, "e": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.mock": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 3}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}}, "df": 3}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 6, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.utils": {"tf": 1}, "tests": {"tf": 1}}, "df": 7}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}}, "df": 2}}}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}}, "df": 4, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.logger": {"tf": 2.8284271247461903}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 12, "s": {"docs": {"pydrex.logger": {"tf": 2.23606797749979}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}}}, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 2}, "pydrex.minerals.Mineral": {"tf": 3.605551275463989}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1.7320508075688772}, "tests": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 17, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 5}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "tests": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 5}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 7}}}, "x": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 16}}}, "h": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1}}}}}, "x": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 4}}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}, "k": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}, "y": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 2}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 3}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2, "r": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 2}, "pydrex.logger.exception": {"tf": 1}}, "df": 3, "s": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 3}, "l": {"docs": {}, "df": 0, "f": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}}, "x": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 4}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.vtk_helpers": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.interpolations": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 3}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2}}}}}}}}}, "k": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.io.read_mesh": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 8}}}}}}}, ":": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}}}}, "m": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pydrex": {"tf": 3.605551275463989}, "pydrex.axes.PoleFigureAxes.set": {"tf": 2}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 2.23606797749979}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.io.stringify": {"tf": 1.4142135623730951}, "pydrex.io.data": {"tf": 1}, "pydrex.logger": {"tf": 2}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 3}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2.449489742783178}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}, "pydrex.stats.schmidt_count": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 2.449489742783178}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 2.449489742783178}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 69, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 3.3166247903554}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.7320508075688772}, "tests": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 27, "a": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 11}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 6}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 2}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 2.6457513110645907}}, "df": 18, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 7}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 3}}}}}, "n": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 20, "y": {"docs": {"pydrex": {"tf": 2}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}}, "df": 5, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {"pydrex": {"tf": 4.123105625617661}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.poles": {"tf": 2}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.interpolations": {"tf": 1}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 2}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.mock": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.vtk_helpers": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 2.449489742783178}, "tests.conftest": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 52}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 6}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}}, "df": 1}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"tests.test_core.TestSimpleShearOlivineA": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 2.449489742783178}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.hex_projector": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.449489742783178}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.449489742783178}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.449489742783178}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.449489742783178}, "tests.test_corner_flow_2d": {"tf": 3}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 2.449489742783178}}, "df": 16}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 3}}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.get_crss": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}}}}}}, "j": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 5, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 2}, "s": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 2}}}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_doctests": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {"pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 2}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 17}}, "l": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 6, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 3}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1}}}}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "tests": {"tf": 2}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 15, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 4}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "y": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}}}, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 2.449489742783178}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 8}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1.7320508075688772}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 16, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 3}}}}, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 10, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 5}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"2": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 4}}}}}}}}, "[": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}, "z": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 4, "e": {"docs": {"pydrex": {"tf": 3.3166247903554}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger": {"tf": 3}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests": {"tf": 2.6457513110645907}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 19, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 2}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 8}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 2.23606797749979}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.Error": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}}, "df": 2}}}}, "y": {"docs": {"pydrex": {"tf": 3.872983346207417}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests": {"tf": 2}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 18}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 5}}}}, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 6}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 2, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.derivatives": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 5}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 3.4641016151377544}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3}}, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}}, "df": 2}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 2}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 2}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "l": {"docs": {"tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 6}, "u": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.7320508075688772}}, "df": 1}, "\\": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1, "{": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.7320508075688772}}, "df": 1}, "x": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "z": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}}, "df": 6, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}, "tests.test_core": {"tf": 1}}, "df": 2}}}}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.tensors.rotate": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}}, "df": 8, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {"pydrex.tensors.rotate": {"tf": 1}}, "df": 1, "d": {"docs": {"tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "f": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 6}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex.core": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 3}}}}}}, "x": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.core": {"tf": 1.4142135623730951}, "tests.test_core": {"tf": 1}}, "df": 3}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 3}}}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 5}}}}}, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.mock": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 9, "/": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_vtk_helpers": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "tests": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "d": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.io.data": {"tf": 1}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 9, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 14}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 3}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.exception": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.8284271247461903}}, "df": 1, "s": {"docs": {"pydrex.core.DeformationRegime": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 4}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2}}}, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"tests": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 3, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 8, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 2}}}, "w": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}}, "df": 3}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}}, "df": 4}, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 2}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}}, "df": 3}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}}, "df": 3}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}}}}}}, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "\u03c0": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "\u03b8": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}}, "k": {"docs": {"pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.tensors.hex_projector": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 5}}}}}, "b": {"docs": {"pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 4}}}}, "s": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 3}}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.stats.point_density": {"tf": 2.23606797749979}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}}, "df": 7, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}}}}, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 3.605551275463989}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests": {"tf": 1.7320508075688772}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 15}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 8}}, "n": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 2.8284271247461903}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 25, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}}, "df": 7}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.logger": {"tf": 2.6457513110645907}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 8}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"tests": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "tests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 4}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 2}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.io.read_mesh": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.vtk_helpers": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.warning": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 2.23606797749979}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.7320508075688772}, "pydrex.vtk_helpers.read_coord_array": {"tf": 2}, "tests": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 33}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}}, "df": 3, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.utils.readable_timestamp": {"tf": 1}}, "df": 4}}, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 3}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 4}}}}}, "{": {"1": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}, "2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.7320508075688772}}, "df": 1, "u": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1}}, "4": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "\u03c3": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "\u03bc": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "\u03b8": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}, "\u03c8": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "x": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1, "z": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}}}, "z": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}}}}, "docs": {}, "df": 0}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 5}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}, "/": {"docs": {}, "df": 0, "~": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 2}, "pydrex.io": {"tf": 1}, "pydrex.io.data": {"tf": 1}}, "df": 3}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3}}}}}}}, "r": {"docs": {"pydrex": {"tf": 4.242640687119285}, "pydrex.axes.PoleFigureAxes": {"tf": 1.4142135623730951}, "pydrex.cli": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.diagnostics.anisotropy": {"tf": 1.7320508075688772}, "pydrex.diagnostics.bingham_average": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}, "pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 2}, "pydrex.io": {"tf": 2}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.mock": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}, "pydrex.visualisation.simple_shear_stationary_2d": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "tests": {"tf": 1}, "tests.conftest": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.postprocess": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 84, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.utils.readable_timestamp": {"tf": 1}, "tests": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 6, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}}, "df": 2}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2}, "t": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}}, "df": 1}}, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 4.123105625617661}, "pydrex.core.derivatives": {"tf": 2.23606797749979}}, "df": 2}}, "w": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.velocity_gradients": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA": {"tf": 1}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 2, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}, "tests": {"tf": 1.4142135623730951}}, "df": 7}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 2}}}, "d": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1.7320508075688772}, "pydrex.io.parse_config": {"tf": 1}, "pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_scsv.test_read_specfile": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}}, "df": 16, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 3}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 4}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.io.stringify": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 5}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.6457513110645907}}, "df": 6, "s": {"docs": {"pydrex.core.MineralFabric": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}}, "df": 1}}, "l": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}}, "df": 11, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.vtk_helpers": {"tf": 1}}, "df": 9}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 2}}}, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 2}}}, "l": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 4, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.449489742783178}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 2.23606797749979}, "pydrex.logger.handler_level": {"tf": 1.7320508075688772}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 6}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 4}}, "n": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 4}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.misorientation_angles": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 3}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pydrex.logger": {"tf": 4.47213595499958}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.critical": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.warning": {"tf": 1}, "pydrex.logger.info": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 9, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.logger": {"tf": 3.3166247903554}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 2.23606797749979}, "pydrex.logger.handler_level": {"tf": 2}, "pydrex.logger.logfile_enable": {"tf": 1}, "tests": {"tf": 2}}, "df": 4}}}}, "s": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "tests": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 3}}, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 3}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry": {"tf": 2}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.7320508075688772}}, "df": 8, "o": {"docs": {"pydrex.io": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "t": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 12, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.tensors": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "w": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 2.449489742783178}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 7}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 3}}}, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}}, "df": 2}}}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.stats.resample_orientations": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 8}}, "a": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}}, "df": 12}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "w": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 6}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 3}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "d": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "n": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 1}}, "df": 2}}, "/": {"docs": {}, "df": 0, "a": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "x": {"3": {"docs": {}, "df": 0, "x": {"3": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral": {"tf": 2}}, "df": 1}}}}}}, "p": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_steps": {"tf": 2}}, "df": 3, "z": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}}, "u": {"docs": {"tests.test_corner_flow_2d": {"tf": 2}}, "df": 1, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "tests": {"tf": 1}}, "df": 13}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 2}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}}, "df": 9, "d": {"docs": {"pydrex": {"tf": 2}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 24}, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 5, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 6, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}}, "df": 3}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}}, "df": 4, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2, "k": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 3.605551275463989}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}}, "df": 5}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils": {"tf": 1}}, "df": 1}}}}}}, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "\u03c0": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "\u03b8": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}}}}, "y": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 3}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}}, "df": 2}}}}}}, "v": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.interpolations.create_interpolators": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.interpolations.create_interpolators": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 11, "s": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}}, "df": 6}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2}, "pydrex.velocity_gradients": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.get_velocity": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 18}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}}}}}}}, "a": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 3.4641016151377544}, "pydrex.core.derivatives": {"tf": 2.6457513110645907}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "tests.test_corner_flow_2d.TestOlivineA.test_corner_prescribed_init_isotropic": {"tf": 1}}, "df": 5}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.exponential_kamb": {"tf": 1}, "pydrex.stats.linear_inverse_kamb": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 6}}}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.anisotropy": {"tf": 1.7320508075688772}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 13}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.logger": {"tf": 3.3166247903554}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 7, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SOLID": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2001_FIG5_LONGDASH": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1.4142135623730951}}, "df": 17}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_scsv.test_validate_schema": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity_gradients": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_tuple_array": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.read_coord_array": {"tf": 1}, "tests.test_vtk_helpers": {"tf": 1}}, "df": 6, "{": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.vtk_helpers.read_tuple_array": {"tf": 1}}, "df": 1}}}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.diagnostics.symmetry": {"tf": 1.7320508075688772}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "tests": {"tf": 1}}, "df": 8, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 3}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.diagnostics": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "tests.test_core.TestSimpleShearOPX": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boundary_mobility": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_boudary_sliding": {"tf": 1}}, "df": 17, "s": {"docs": {"pydrex": {"tf": 4.58257569495584}, "pydrex.core.derivatives": {"tf": 2}, "pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 4}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_ngrains": {"tf": 1}}, "df": 9}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestSimpleShearOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.get_velocity_gradient": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1}}, "df": 15, "s": {"docs": {"pydrex.velocity_gradients": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.interpolations.default_interpolators": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}}, "df": 2, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.anisotropy": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.interpolations.get_velocity": {"tf": 1}, "pydrex.interpolations.get_velocity_gradient": {"tf": 1}, "pydrex.interpolations.get_deformation_mechanism": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}}, "df": 15}, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.symmetry": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}}, "df": 3, "d": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry": {"tf": 1}, "tests.test_geometry": {"tf": 1}}, "df": 2}}}}}}}, "t": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.vtk_helpers.get_output": {"tf": 1}, "pydrex.vtk_helpers.get_steps": {"tf": 2}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 12, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 2}}}}}}}}, "b": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 6}, "pydrex.minerals.Mineral": {"tf": 7.810249675906654}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 4.58257569495584}, "pydrex.vtk_helpers.get_steps": {"tf": 3}}, "df": 5}, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}, "z": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}, "j": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}}, "df": 2, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2}}, "p": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}, "z": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 3, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "x": {"docs": {}, "df": 0, "z": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.vtk_helpers.read_coord_array": {"tf": 1}}, "df": 1}}}}, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}}}}}}}, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}, "x": {"3": {"docs": {}, "df": 0, "x": {"3": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 3.605551275463989}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_SQUARES": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity_gradients.simple_shear_2d": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread30X": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_GBS_ensemble": {"tf": 1.4142135623730951}}, "df": 18, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {"pydrex.vtk_helpers.get_output": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "z": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "y": {"docs": {}, "df": 0, "z": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "+": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}, "z": {"docs": {"tests.test_corner_flow_2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "3": {"docs": {"tests.test_corner_flow_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_angles": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 5.656854249492381}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; // mirrored in build-search-index.js (part 1) // Also split on html tags. this is a cheap heuristic, but good enough. diff --git a/tests/test_simple_shear_2d.html b/tests/test_simple_shear_2d.html index 8b9a60f6..b12de8d5 100644 --- a/tests/test_simple_shear_2d.html +++ b/tests/test_simple_shear_2d.html @@ -86,6 +86,9 @@

    API Documentation

  • test_boudary_sliding
  • +
  • + test_ngrains +
  • @@ -182,641 +185,672 @@

    66 msg_start = f"X = {params['gbs_threshold']}; " 67 case "gbm_mobility": 68 msg_start = f"M∗ = {params['gbm_mobility']}; " - 69 case _: - 70 msg_start = "" - 71 - 72 if seed is not None: - 73 msg_start += f"# {seed}; " - 74 - 75 _log.info(msg_start + "step %s/%s (t = %s)", t, n_timestamps - 1, time) + 69 case "number_of_grains": + 70 msg_start = f"N = {params['number_of_grains']}; " + 71 case _: + 72 msg_start = "" + 73 + 74 if seed is not None: + 75 msg_start += f"# {seed}; " 76 - 77 deformation_gradient = mineral.update_orientations( - 78 params, - 79 deformation_gradient, - 80 get_velocity_gradient, - 81 pathline=(time, timestamps[t], cls.get_position), - 82 ) - 83 _log.debug( - 84 "› velocity gradient = %s", - 85 get_velocity_gradient(None).flatten(), - 86 ) - 87 _log.debug("› strain D₀t = %.2f", strain_rate * timestamps[t]) - 88 _log.debug( - 89 "› grain fractions: median = %s, max = %s, min = %s", - 90 np.median(mineral.fractions[-1]), - 91 np.max(mineral.fractions[-1]), - 92 np.min(mineral.fractions[-1]), - 93 ) - 94 if return_fse: - 95 _, fse_v = _diagnostics.finite_strain(deformation_gradient) - 96 θ_fse[t] = _diagnostics.smallest_angle(fse_v, shear_direction) - 97 - 98 # Compute texture diagnostics. - 99 texture_symmetry = np.zeros(n_timestamps) -100 if use_bingham_average: -101 mean_angles = np.zeros(n_timestamps) -102 for idx, matrices in enumerate(mineral.orientations): -103 orientations_resampled, _ = _stats.resample_orientations( -104 matrices, mineral.fractions[idx], seed=seed -105 ) -106 if use_bingham_average: -107 direction_mean = _diagnostics.bingham_average( -108 orientations_resampled, -109 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], -110 ) -111 mean_angles[idx] = _diagnostics.smallest_angle( -112 direction_mean, shear_direction -113 ) -114 texture_symmetry[idx] = _diagnostics.symmetry( -115 orientations_resampled, -116 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], -117 )[0] -118 -119 if not use_bingham_average: -120 # Use SCCS axis (hexagonal symmetry) for the angle instead (opt). -121 mean_angles = np.array( -122 [ -123 _diagnostics.smallest_angle( -124 _diagnostics.anisotropy(v)[1][2, :], shear_direction -125 ) -126 for v in _minerals.voigt_averages([mineral], params) -127 ] -128 ) -129 -130 if return_fse: -131 return mineral, mean_angles, texture_symmetry, θ_fse -132 return mineral, mean_angles, texture_symmetry, None -133 -134 @classmethod -135 def postprocess( -136 cls, -137 strains, -138 angles, -139 point100_symmetry, -140 θ_fse, -141 labels, -142 markers, -143 outdir, -144 out_basepath, -145 target_interpolator=None, -146 ): -147 """Reusable postprocessing routine for olivine 2D simple shear simulations.""" -148 _log.info("postprocessing results...") -149 if target_interpolator is not None: -150 result_angles = angles.mean(axis=1) -151 result_angles_err = angles.std(axis=1) -152 result_point100_symmetry = point100_symmetry.mean(axis=1) -153 target_angles = target_interpolator(strains) -154 else: -155 result_angles = angles -156 result_angles_err = None -157 result_point100_symmetry = point100_symmetry -158 target_angles = None -159 -160 if outdir is not None: -161 schema = { -162 "delimiter": ",", -163 "missing": "-", -164 "fields": [ -165 { -166 "name": "strain", -167 "type": "integer", -168 "unit": "percent", -169 "fill": 999999, -170 } -171 ], -172 } -173 _io.save_scsv( -174 f"{out_basepath}_strains.scsv", -175 schema, -176 [[int(D * 200) for D in strains]], # Shear strain % is 200 * D₀. -177 ) -178 _vis.simple_shear_stationary_2d( -179 strains, -180 result_angles, -181 result_point100_symmetry, -182 target_angles=target_angles, -183 angles_err=result_angles_err, -184 savefile=f"{out_basepath}.png", -185 markers=markers, -186 θ_fse=θ_fse, -187 labels=labels, -188 ) -189 return result_angles, result_angles_err, result_point100_symmetry, target_angles -190 -191 @classmethod -192 def interp_GBM_Kaminski2001(cls, strains): -193 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" -194 _log.info("interpolating target CPO angles...") -195 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv") -196 cs_M0 = PchipInterpolator( -197 _utils.remove_nans(data.equivalent_strain_M0) / 200, -198 _utils.remove_nans(data.angle_M0), -199 ) -200 cs_M50 = PchipInterpolator( -201 _utils.remove_nans(data.equivalent_strain_M50) / 200, -202 _utils.remove_nans(data.angle_M50), -203 ) -204 cs_M200 = PchipInterpolator( -205 _utils.remove_nans(data.equivalent_strain_M200) / 200, -206 _utils.remove_nans(data.angle_M200), -207 ) -208 return [cs_M0(strains), cs_M50(strains), cs_M200(strains)] -209 -210 @classmethod -211 def interp_GBS_Kaminski2004(cls, strains): -212 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" -213 _log.info("interpolating target CPO angles...") -214 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv") -215 cs_X0 = PchipInterpolator( -216 _utils.remove_nans(data.dimensionless_time_X0), -217 45 + _utils.remove_nans(data.angle_X0), -218 ) -219 cs_X0d2 = PchipInterpolator( -220 _utils.remove_nans(data.dimensionless_time_X0d2), -221 45 + _utils.remove_nans(data.angle_X0d2), -222 ) -223 cs_X0d4 = PchipInterpolator( -224 _utils.remove_nans(data.dimensionless_time_X0d4), -225 45 + _utils.remove_nans(data.angle_X0d4), -226 ) -227 return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)] -228 -229 @pytest.mark.slow -230 def test_dvdx_GBM_ensemble( -231 self, -232 params_Kaminski2001_fig5_solid, # GBM = 0 -233 params_Kaminski2001_fig5_shortdash, # GBM = 50 -234 params_Kaminski2001_fig5_longdash, # GBM = 200 -235 seeds_nearX45, # Use `seeds` if you have lots of RAM and patience (or cores) -236 outdir, -237 ncpus, -238 ): -239 r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X). -240 -241 Velocity gradient: -242 $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$ -243 -244 Tests the effect of grain boundary migration, similar to Fig. 5 in -245 [Kaminski 2001](https://doi.org/10.1016%2Fs0012-821x%2801%2900356-9). -246 -247 """ -248 strain_rate = 5e-6 # Strain rate from Fraters & Billen, 2021, fig. 3. -249 timestamps = np.linspace(0, 2e5, 201) # Solve until D₀t=1 ('shear' γ=2). -250 n_timestamps = len(timestamps) -251 i_strain_50p = [0, 50, 100, 150, 200] # Indices for += 50% strain. -252 -253 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. -254 get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate) -255 -256 # Output setup with optional logging and data series labels. -257 θ_fse = np.empty(n_timestamps) -258 angles = np.empty((3, len(seeds_nearX45), n_timestamps)) -259 point100_symmetry = np.empty_like(angles) -260 optional_logging = cl.nullcontext() -261 if outdir is not None: -262 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_GBM_ensemble" -263 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -264 labels = [] -265 -266 with optional_logging: -267 wall_start = perf_counter() -268 clock_start = process_time() -269 for p, params in enumerate( -270 ( -271 params_Kaminski2001_fig5_solid, # GBM = 0 -272 params_Kaminski2001_fig5_shortdash, # GBM = 50 -273 params_Kaminski2001_fig5_longdash, # GBM = 200 -274 ), -275 ): -276 if p == 0: -277 return_fse = True -278 else: -279 return_fse = False -280 -281 _run = ft.partial( -282 self.run, -283 params, -284 timestamps, -285 strain_rate, -286 get_velocity_gradient, -287 shear_direction, -288 log_param="gbm_mobility", -289 use_bingham_average=False, -290 return_fse=return_fse, -291 ) -292 with Pool(processes=ncpus) as pool: -293 for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)): -294 mineral, mean_angles, texture_symmetry, fse_angles = out -295 angles[p, s, :] = mean_angles -296 point100_symmetry[p, s, :] = texture_symmetry -297 if return_fse: -298 θ_fse += fse_angles -299 -300 if return_fse: -301 θ_fse /= len(seeds_nearX45) -302 -303 # Update labels and store the last mineral of the ensemble for polefigs. -304 if outdir is not None: -305 labels.append(f"$M^∗$ = {params['gbm_mobility']}") -306 mineral.save( -307 f"{out_basepath}.npz", -308 postfix=f"M{params['gbm_mobility']}", -309 ) -310 -311 _log.info( -312 "elapsed walltime: %s", -313 _utils.readable_timestamp(np.abs(perf_counter() - wall_start)), -314 ) -315 _log.info( -316 "elapsed CPU time: %s", -317 _utils.readable_timestamp(np.abs(process_time() - clock_start)), -318 ) -319 -320 # Take ensemble means and optionally plot figure. -321 strains = timestamps * strain_rate -322 res = self.postprocess( -323 strains, -324 angles, -325 point100_symmetry, -326 θ_fse, -327 labels, -328 ("o", "v", "s"), -329 outdir, -330 out_basepath, -331 target_interpolator=self.interp_GBM_Kaminski2001, -332 ) -333 result_angles, result_angles_err, result_point100_symmetry, target_angles = res -334 -335 # Check that FSE is correct. -336 # First, get theoretical FSE axis for simple shear. -337 # We want the angle from the Y axis (shear direction), so subtract from 90. -338 θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains] -339 nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0) -340 -341 # Check that M*=0 angles match FSE, ignoring the first portion (<100% strain). -342 # Average orientations of near-isotropic distributions are unstable. -343 nt.assert_allclose( -344 θ_fse[i_strain_50p[2] :], -345 result_angles[0][i_strain_50p[2] :], -346 rtol=0.11, -347 atol=0, -348 ) -349 # Check that M*=0 matches target angles for strain > 100%. -350 nt.assert_allclose( -351 target_angles[0][i_strain_50p[2]], -352 result_angles[0][i_strain_50p[2]], -353 atol=1, -354 rtol=0, -355 ) -356 # Check that standard deviation decreases or stagnates (0.01 tolerance). -357 # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance). -358 for angles, angles_err in zip(result_angles, result_angles_err): -359 assert np.all(np.diff(angles_err) < 0.01) -360 assert np.all(np.diff(angles[i_strain_50p[1] :]) < 0.01) -361 -362 # Check point symmetry of [100] at strains of 0%, 50%, 100%, 150% & 200%. -363 nt.assert_allclose( -364 [0.015, 0.11, 0.19, 0.27, 0.34], -365 result_point100_symmetry[0].take(i_strain_50p), -366 rtol=0, -367 atol=0.015, -368 ) -369 nt.assert_allclose( -370 [0.015, 0.15, 0.33, 0.57, 0.72], -371 result_point100_symmetry[1].take(i_strain_50p), -372 rtol=0, -373 atol=0.015, -374 ) -375 nt.assert_allclose( -376 [0.015, 0.22, 0.64, 0.86, 0.91], -377 result_point100_symmetry[2].take(i_strain_50p), -378 rtol=0, -379 atol=0.015, -380 ) -381 -382 @pytest.mark.slow -383 def test_dudz_GBS_ensemble( -384 self, -385 params_Kaminski2004_fig4_circles, # GBS = 0 -386 params_Kaminski2004_fig4_squares, # GBS = 0.2 -387 params_Kaminski2004_fig4_triangles, # GBS = 0.4 -388 seeds_nearX45, # Use `seeds` if you have lots of RAM and patience (or cores) -389 outdir, -390 ncpus, -391 ): -392 r"""Test a-axis alignment to shear in X direction (init. SCCS near 45° from X). -393 -394 Velocity gradient: -395 $$\bm{L} = \begin{bmatrix} 0 & 0 & 2 \cr 0 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$ -396 -397 """ -398 strain_rate = 5e-6 # Strain rate from Fraters & Billen, 2021, fig. 3. -399 timestamps = np.linspace(0, 5e5, 251) # Solve until D₀t=2.5 ('shear' γ=5). -400 n_timestamps = len(timestamps) -401 i_strain_100p = [0, 50, 100, 150, 200] # Indices for += 100% strain. -402 -403 shear_direction = [1, 0, 0] # Used to calculate the angular diagnostics. -404 get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate) -405 -406 # Output setup with optional logging and data series labels. -407 θ_fse = np.empty(n_timestamps) -408 angles = np.empty((3, len(seeds_nearX45), n_timestamps)) -409 point100_symmetry = np.empty_like(angles) -410 optional_logging = cl.nullcontext() -411 if outdir is not None: -412 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dudz_GBS_ensemble" -413 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -414 labels = [] -415 -416 with optional_logging: -417 wall_start = perf_counter() -418 clock_start = process_time() -419 for p, params in enumerate( -420 ( -421 params_Kaminski2004_fig4_circles, # GBS = 0 -422 params_Kaminski2004_fig4_squares, # GBS = 0.2 -423 params_Kaminski2004_fig4_triangles, # GBS = 0.4 -424 ), -425 ): -426 if p == 0: -427 return_fse = True -428 else: -429 return_fse = False -430 -431 _run = ft.partial( -432 self.run, -433 params, -434 timestamps, -435 strain_rate, -436 get_velocity_gradient, -437 shear_direction, -438 log_param="gbs_threshold", -439 use_bingham_average=False, -440 return_fse=return_fse, -441 ) -442 with Pool(processes=ncpus) as pool: -443 for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)): -444 mineral, mean_angles, texture_symmetry, fse_angles = out -445 angles[p, s, :] = mean_angles -446 point100_symmetry[p, s, :] = texture_symmetry -447 if return_fse: -448 θ_fse += fse_angles -449 -450 if return_fse: -451 θ_fse /= len(seeds_nearX45) -452 -453 # Update labels and store the last mineral of the ensemble for polefigs. -454 if outdir is not None: -455 labels.append(f"$f_{{gbs}}$ = {params['gbs_threshold']}") -456 mineral.save( -457 f"{out_basepath}.npz", -458 postfix=f"X{params['gbs_threshold']}", -459 ) -460 -461 _log.info( -462 "elapsed walltime: %s", -463 _utils.readable_timestamp(np.abs(perf_counter() - wall_start)), -464 ) -465 _log.info( -466 "elapsed CPU time: %s", -467 _utils.readable_timestamp(np.abs(process_time() - clock_start)), -468 ) -469 -470 # Take ensemble means and optionally plot figure. -471 strains = timestamps * strain_rate -472 res = self.postprocess_ensemble( -473 strains, -474 angles, -475 point100_symmetry, -476 θ_fse, -477 labels, -478 ("o", "v", "s"), -479 outdir, -480 out_basepath, -481 target_interpolator=self.interp_GBS_Kaminski2004, -482 ) -483 result_angles, result_angles_err, result_point100_symmetry, target_angles = res -484 -485 # Check that FSE is correct. -486 # First, get theoretical FSE axis for simple shear. -487 # We want the angle from the Y axis (shear direction), so subtract from 90. -488 θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains] -489 nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0) -490 -491 # Check point symmetry of [100] at strains of 0%, 100%, 200%, 300% & 400%. -492 nt.assert_allclose( -493 [0.015, 0.52, 0.86, 0.93, 0.94], -494 point100_symmetry[0].take(i_strain_100p), -495 rtol=0, -496 atol=0.015, -497 ) -498 nt.assert_allclose( -499 [0.015, 0.42, 0.71, 0.77, 0.79], -500 point100_symmetry[1].take(i_strain_100p), -501 rtol=0, -502 atol=0.015, -503 ) -504 nt.assert_allclose( -505 [0.015, 0.36, 0.57, 0.6, 0.62], -506 point100_symmetry[2].take(i_strain_100p), -507 rtol=0, -508 atol=0.015, -509 ) -510 -511 # Check that standard deviation decreases or stagnates (0.01 tolerance). -512 # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance). -513 for angles, angles_err in zip(result_angles, result_angles_err): -514 assert np.all(np.diff(angles_err) < 0.01) -515 assert np.all(np.diff(angles[i_strain_100p[1] :]) < 0.01) -516 -517 def test_boundary_mobility(self, seed, outdir): -518 """Test that the grain boundary mobility parameter has an effect.""" -519 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. -520 strain_rate = 1.0 -521 get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate) -522 timestamps = np.linspace(0, 1, 201) # Solve until D₀t=1 ('shear' γ=2). -523 i_strain_50p = 50 # Index of 50% strain. -524 params = _io.DEFAULT_PARAMS -525 gbm_mobilities = (0, 10, 50, 125, 200) # Must be in ascending order. -526 markers = ("x", ".", "*", "d", "s") -527 angles = np.empty((len(gbm_mobilities), len(timestamps))) -528 point100_symmetry = np.empty_like(angles) -529 θ_fse = np.empty_like(angles) -530 minerals = [] -531 -532 optional_logging = cl.nullcontext() -533 if outdir is not None: -534 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility" -535 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -536 labels = [] -537 -538 with optional_logging: -539 for i, M in enumerate(gbm_mobilities): -540 params["gbm_mobility"] = M -541 out = self.run( -542 params, -543 timestamps, -544 strain_rate, -545 get_velocity_gradient, -546 shear_direction, -547 seed=seed, -548 log_param="gbm_mobility", -549 return_fse=True, -550 ) -551 minerals.append(out[0]) -552 angles[i] = out[1] -553 point100_symmetry[i] = out[2] -554 θ_fse[i] = out[3] -555 if outdir is not None: -556 labels.append(f"$M^∗$ = {params['gbm_mobility']}") -557 -558 if outdir is not None: -559 strains = timestamps * strain_rate -560 self.postprocess( -561 strains, -562 angles, -563 point100_symmetry, -564 np.mean(θ_fse, axis=0), -565 labels, -566 markers, -567 outdir, -568 out_basepath, -569 ) -570 -571 # Check that GBM speeds up the alignment. -572 _log.info("checking grain orientations...") -573 halfway = int(len(timestamps) / 2) -574 assert np.all( -575 np.array( -576 [ -577 θ[halfway] - angles[i][halfway] -578 for i, θ in enumerate(angles[:-1], start=1) -579 ] -580 ) -581 > 0 -582 ) -583 assert np.all( -584 np.array( -585 [θ[-1] - angles[i][-1] for i, θ in enumerate(angles[:-1], start=1)] -586 ) -587 > 0 -588 ) -589 # Check that M*=0 doesn't affect grain sizes. -590 _log.info("checking grain sizes...") -591 for i, time in enumerate(timestamps): -592 nt.assert_allclose( -593 minerals[0].fractions[i], -594 np.full(params["number_of_grains"], 1 / params["number_of_grains"]), -595 ) -596 # Check that M*=0 matches FSE past 100% strain. -597 nt.assert_allclose( -598 angles[0][i_strain_50p:], -599 np.mean(θ_fse, axis=0)[i_strain_50p:], -600 atol=1, -601 rtol=0, -602 ) -603 # Check that GBM causes decreasing grain size median. -604 assert np.all( -605 np.array( -606 [ -607 np.median(m.fractions[halfway]) -608 - np.median(minerals[i].fractions[halfway]) -609 for i, m in enumerate(minerals[:-1], start=1) -610 ] -611 ) -612 > 0 -613 ) -614 -615 def test_boudary_sliding(self, seed, outdir): -616 """Test that the grain boundary sliding parameter has an effect.""" -617 strain_rate = 1.0 -618 shear_direction = [1, 0, 0] # Used to calculate the angular diagnostics. -619 get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate) -620 timestamps = np.linspace(0, 2.5, 251) # Solve until D₀t=2.5 ('shear' γ=5). -621 i_strain_200p = 100 # Index of 50% strain. -622 params = _io.DEFAULT_PARAMS -623 gbs_thresholds = (0, 0.2, 0.4, 0.6) # Must be in ascending order. -624 markers = (".", "*", "d", "s") -625 angles = np.empty((len(gbs_thresholds), len(timestamps))) -626 point100_symmetry = np.empty_like(angles) -627 θ_fse = np.empty_like(angles) -628 minerals = [] -629 -630 optional_logging = cl.nullcontext() -631 if outdir is not None: -632 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_sliding" -633 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -634 labels = [] -635 -636 with optional_logging: -637 for i, f in enumerate(gbs_thresholds): -638 params["gbs_threshold"] = f -639 out = self.run( -640 params, -641 timestamps, -642 strain_rate, -643 get_velocity_gradient, -644 shear_direction, -645 seed=seed, -646 log_param="gbs_threshold", -647 return_fse=True, -648 ) -649 minerals.append(out[0]) -650 angles[i] = out[1] -651 point100_symmetry[i] = out[2] -652 θ_fse[i] = out[3] -653 if outdir is not None: -654 labels.append(f"$M^∗$ = {params['gbs_threshold']}") -655 -656 if outdir is not None: -657 strains = timestamps * strain_rate -658 self.postprocess( -659 strains, -660 angles, -661 point100_symmetry, -662 np.mean(θ_fse, axis=0), -663 labels, -664 markers, -665 outdir, -666 out_basepath, -667 ) -668 -669 # Check that GBS sets an upper bound on P_[100]. -670 _log.info("checking degree of [100] point symmetry...") -671 nt.assert_allclose( -672 np.full(len(point100_symmetry[0][i_strain_200p:]), 0.0), -673 point100_symmetry[0][i_strain_200p:] - 0.95, -674 atol=0.05, -675 rtol=0, -676 ) -677 nt.assert_allclose( -678 np.full(len(point100_symmetry[1][i_strain_200p:]), 0.0), -679 point100_symmetry[1][i_strain_200p:] - 0.78, -680 atol=0.05, -681 rtol=0, -682 ) -683 nt.assert_allclose( -684 np.full(len(point100_symmetry[2][i_strain_200p:]), 0.0), -685 point100_symmetry[2][i_strain_200p:] - 0.61, -686 atol=0.05, -687 rtol=0, -688 ) -689 nt.assert_allclose( -690 np.full(len(point100_symmetry[3][i_strain_200p:]), 0.0), -691 point100_symmetry[3][i_strain_200p:] - 0.44, -692 atol=0.055, -693 rtol=0, -694 ) -695 # Check that angles always reach within 5° of the shear direction. -696 _log.info("checking grain orientations...") -697 for θ in angles: -698 nt.assert_allclose( -699 np.full(len(θ[i_strain_200p:]), 0.0), -700 2.5 - θ[i_strain_200p:], -701 atol=2.5, -702 rtol=0, -703 ) + 77 _log.info(msg_start + "step %s/%s (t = %s)", t, n_timestamps - 1, time) + 78 + 79 deformation_gradient = mineral.update_orientations( + 80 params, + 81 deformation_gradient, + 82 get_velocity_gradient, + 83 pathline=(time, timestamps[t], cls.get_position), + 84 ) + 85 _log.debug( + 86 "› velocity gradient = %s", + 87 get_velocity_gradient(None).flatten(), + 88 ) + 89 _log.debug("› strain D₀t = %.2f", strain_rate * timestamps[t]) + 90 _log.debug( + 91 "› grain fractions: median = %s, max = %s, min = %s", + 92 np.median(mineral.fractions[-1]), + 93 np.max(mineral.fractions[-1]), + 94 np.min(mineral.fractions[-1]), + 95 ) + 96 if return_fse: + 97 _, fse_v = _diagnostics.finite_strain(deformation_gradient) + 98 θ_fse[t] = _diagnostics.smallest_angle(fse_v, shear_direction) + 99 +100 # Compute texture diagnostics. +101 texture_symmetry = np.zeros(n_timestamps) +102 if use_bingham_average: +103 mean_angles = np.zeros(n_timestamps) +104 for idx, matrices in enumerate(mineral.orientations): +105 orientations_resampled, _ = _stats.resample_orientations( +106 matrices, mineral.fractions[idx], seed=seed +107 ) +108 if use_bingham_average: +109 direction_mean = _diagnostics.bingham_average( +110 orientations_resampled, +111 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], +112 ) +113 mean_angles[idx] = _diagnostics.smallest_angle( +114 direction_mean, shear_direction +115 ) +116 texture_symmetry[idx] = _diagnostics.symmetry( +117 orientations_resampled, +118 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], +119 )[0] +120 +121 if not use_bingham_average: +122 # Use SCCS axis (hexagonal symmetry) for the angle instead (opt). +123 mean_angles = np.array( +124 [ +125 _diagnostics.smallest_angle( +126 _diagnostics.anisotropy(v)[1][2, :], shear_direction +127 ) +128 for v in _minerals.voigt_averages([mineral], params) +129 ] +130 ) +131 +132 if return_fse: +133 return mineral, mean_angles, texture_symmetry, θ_fse +134 return mineral, mean_angles, texture_symmetry, None +135 +136 @classmethod +137 def postprocess( +138 cls, +139 strains, +140 angles, +141 point100_symmetry, +142 θ_fse, +143 labels, +144 markers, +145 outdir, +146 out_basepath, +147 target_interpolator=None, +148 ): +149 """Reusable postprocessing routine for olivine 2D simple shear simulations.""" +150 _log.info("postprocessing results...") +151 if target_interpolator is not None: +152 result_angles = angles.mean(axis=1) +153 result_angles_err = angles.std(axis=1) +154 result_point100_symmetry = point100_symmetry.mean(axis=1) +155 target_angles = target_interpolator(strains) +156 else: +157 result_angles = angles +158 result_angles_err = None +159 result_point100_symmetry = point100_symmetry +160 target_angles = None +161 +162 if outdir is not None: +163 schema = { +164 "delimiter": ",", +165 "missing": "-", +166 "fields": [ +167 { +168 "name": "strain", +169 "type": "integer", +170 "unit": "percent", +171 "fill": 999999, +172 } +173 ], +174 } +175 _io.save_scsv( +176 f"{out_basepath}_strains.scsv", +177 schema, +178 [[int(D * 200) for D in strains]], # Shear strain % is 200 * D₀. +179 ) +180 _vis.simple_shear_stationary_2d( +181 strains, +182 result_angles, +183 result_point100_symmetry, +184 target_angles=target_angles, +185 angles_err=result_angles_err, +186 savefile=f"{out_basepath}.png", +187 markers=markers, +188 θ_fse=θ_fse, +189 labels=labels, +190 ) +191 return result_angles, result_angles_err, result_point100_symmetry, target_angles +192 +193 @classmethod +194 def interp_GBM_Kaminski2001(cls, strains): +195 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" +196 _log.info("interpolating target CPO angles...") +197 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv") +198 cs_M0 = PchipInterpolator( +199 _utils.remove_nans(data.equivalent_strain_M0) / 200, +200 _utils.remove_nans(data.angle_M0), +201 ) +202 cs_M50 = PchipInterpolator( +203 _utils.remove_nans(data.equivalent_strain_M50) / 200, +204 _utils.remove_nans(data.angle_M50), +205 ) +206 cs_M200 = PchipInterpolator( +207 _utils.remove_nans(data.equivalent_strain_M200) / 200, +208 _utils.remove_nans(data.angle_M200), +209 ) +210 return [cs_M0(strains), cs_M50(strains), cs_M200(strains)] +211 +212 @classmethod +213 def interp_GBS_Kaminski2004(cls, strains): +214 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" +215 _log.info("interpolating target CPO angles...") +216 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv") +217 cs_X0 = PchipInterpolator( +218 _utils.remove_nans(data.dimensionless_time_X0), +219 45 + _utils.remove_nans(data.angle_X0), +220 ) +221 cs_X0d2 = PchipInterpolator( +222 _utils.remove_nans(data.dimensionless_time_X0d2), +223 45 + _utils.remove_nans(data.angle_X0d2), +224 ) +225 cs_X0d4 = PchipInterpolator( +226 _utils.remove_nans(data.dimensionless_time_X0d4), +227 45 + _utils.remove_nans(data.angle_X0d4), +228 ) +229 return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)] +230 +231 @pytest.mark.slow +232 def test_dvdx_GBM_ensemble( +233 self, +234 params_Kaminski2001_fig5_solid, # GBM = 0 +235 params_Kaminski2001_fig5_shortdash, # GBM = 50 +236 params_Kaminski2001_fig5_longdash, # GBM = 200 +237 seeds_nearX45, # Use `seeds` if you have lots of RAM and patience (or cores) +238 outdir, +239 ncpus, +240 ): +241 r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X). +242 +243 Velocity gradient: +244 $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$ +245 +246 Tests the effect of grain boundary migration, similar to Fig. 5 in +247 [Kaminski 2001](https://doi.org/10.1016%2Fs0012-821x%2801%2900356-9). +248 +249 """ +250 strain_rate = 5e-6 # Strain rate from Fraters & Billen, 2021, fig. 3. +251 timestamps = np.linspace(0, 2e5, 201) # Solve until D₀t=1 ('shear' γ=2). +252 n_timestamps = len(timestamps) +253 i_strain_50p = [0, 50, 100, 150, 200] # Indices for += 50% strain. +254 +255 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. +256 get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate) +257 +258 # Output setup with optional logging and data series labels. +259 θ_fse = np.empty(n_timestamps) +260 angles = np.empty((3, len(seeds_nearX45), n_timestamps)) +261 point100_symmetry = np.empty_like(angles) +262 optional_logging = cl.nullcontext() +263 if outdir is not None: +264 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_GBM_ensemble" +265 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +266 labels = [] +267 +268 with optional_logging: +269 wall_start = perf_counter() +270 clock_start = process_time() +271 for p, params in enumerate( +272 ( +273 params_Kaminski2001_fig5_solid, # GBM = 0 +274 params_Kaminski2001_fig5_shortdash, # GBM = 50 +275 params_Kaminski2001_fig5_longdash, # GBM = 200 +276 ), +277 ): +278 if p == 0: +279 return_fse = True +280 else: +281 return_fse = False +282 +283 _run = ft.partial( +284 self.run, +285 params, +286 timestamps, +287 strain_rate, +288 get_velocity_gradient, +289 shear_direction, +290 log_param="gbm_mobility", +291 use_bingham_average=False, +292 return_fse=return_fse, +293 ) +294 with Pool(processes=ncpus) as pool: +295 for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)): +296 mineral, mean_angles, texture_symmetry, fse_angles = out +297 angles[p, s, :] = mean_angles +298 point100_symmetry[p, s, :] = texture_symmetry +299 if return_fse: +300 θ_fse += fse_angles +301 +302 if return_fse: +303 θ_fse /= len(seeds_nearX45) +304 +305 # Update labels and store the last mineral of the ensemble for polefigs. +306 if outdir is not None: +307 labels.append(f"$M^∗$ = {params['gbm_mobility']}") +308 mineral.save( +309 f"{out_basepath}.npz", +310 postfix=f"M{params['gbm_mobility']}", +311 ) +312 +313 _log.info( +314 "elapsed walltime: %s", +315 _utils.readable_timestamp(np.abs(perf_counter() - wall_start)), +316 ) +317 _log.info( +318 "elapsed CPU time: %s", +319 _utils.readable_timestamp(np.abs(process_time() - clock_start)), +320 ) +321 +322 # Take ensemble means and optionally plot figure. +323 strains = timestamps * strain_rate +324 res = self.postprocess( +325 strains, +326 angles, +327 point100_symmetry, +328 θ_fse, +329 labels, +330 ("o", "v", "s"), +331 outdir, +332 out_basepath, +333 target_interpolator=self.interp_GBM_Kaminski2001, +334 ) +335 result_angles, result_angles_err, result_point100_symmetry, target_angles = res +336 +337 # Check that FSE is correct. +338 # First, get theoretical FSE axis for simple shear. +339 # We want the angle from the Y axis (shear direction), so subtract from 90. +340 θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains] +341 nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0) +342 +343 # Check that M*=0 angles match FSE, ignoring the first portion (<100% strain). +344 # Average orientations of near-isotropic distributions are unstable. +345 nt.assert_allclose( +346 θ_fse[i_strain_50p[2] :], +347 result_angles[0][i_strain_50p[2] :], +348 rtol=0.11, +349 atol=0, +350 ) +351 # Check that M*=0 matches target angles for strain > 100%. +352 nt.assert_allclose( +353 target_angles[0][i_strain_50p[2]], +354 result_angles[0][i_strain_50p[2]], +355 atol=1, +356 rtol=0, +357 ) +358 # Check that standard deviation decreases or stagnates (0.01 tolerance). +359 # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance). +360 for angles, angles_err in zip(result_angles, result_angles_err): +361 assert np.all(np.diff(angles_err) < 0.01) +362 assert np.all(np.diff(angles[i_strain_50p[1] :]) < 0.01) +363 +364 # Check point symmetry of [100] at strains of 0%, 50%, 100%, 150% & 200%. +365 nt.assert_allclose( +366 [0.015, 0.11, 0.19, 0.27, 0.34], +367 result_point100_symmetry[0].take(i_strain_50p), +368 rtol=0, +369 atol=0.015, +370 ) +371 nt.assert_allclose( +372 [0.015, 0.15, 0.33, 0.57, 0.72], +373 result_point100_symmetry[1].take(i_strain_50p), +374 rtol=0, +375 atol=0.015, +376 ) +377 nt.assert_allclose( +378 [0.015, 0.22, 0.64, 0.86, 0.91], +379 result_point100_symmetry[2].take(i_strain_50p), +380 rtol=0, +381 atol=0.015, +382 ) +383 +384 @pytest.mark.slow +385 def test_dudz_GBS_ensemble( +386 self, +387 params_Kaminski2004_fig4_circles, # GBS = 0 +388 params_Kaminski2004_fig4_squares, # GBS = 0.2 +389 params_Kaminski2004_fig4_triangles, # GBS = 0.4 +390 seeds_nearX45, # Use `seeds` if you have lots of RAM and patience (or cores) +391 outdir, +392 ncpus, +393 ): +394 r"""Test a-axis alignment to shear in X direction (init. SCCS near 45° from X). +395 +396 Velocity gradient: +397 $$\bm{L} = \begin{bmatrix} 0 & 0 & 2 \cr 0 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$ +398 +399 """ +400 strain_rate = 5e-6 # Strain rate from Fraters & Billen, 2021, fig. 3. +401 timestamps = np.linspace(0, 5e5, 251) # Solve until D₀t=2.5 ('shear' γ=5). +402 n_timestamps = len(timestamps) +403 i_strain_100p = [0, 50, 100, 150, 200] # Indices for += 100% strain. +404 +405 shear_direction = [1, 0, 0] # Used to calculate the angular diagnostics. +406 get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate) +407 +408 # Output setup with optional logging and data series labels. +409 θ_fse = np.empty(n_timestamps) +410 angles = np.empty((3, len(seeds_nearX45), n_timestamps)) +411 point100_symmetry = np.empty_like(angles) +412 optional_logging = cl.nullcontext() +413 if outdir is not None: +414 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dudz_GBS_ensemble" +415 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +416 labels = [] +417 +418 with optional_logging: +419 wall_start = perf_counter() +420 clock_start = process_time() +421 for p, params in enumerate( +422 ( +423 params_Kaminski2004_fig4_circles, # GBS = 0 +424 params_Kaminski2004_fig4_squares, # GBS = 0.2 +425 params_Kaminski2004_fig4_triangles, # GBS = 0.4 +426 ), +427 ): +428 if p == 0: +429 return_fse = True +430 else: +431 return_fse = False +432 +433 _run = ft.partial( +434 self.run, +435 params, +436 timestamps, +437 strain_rate, +438 get_velocity_gradient, +439 shear_direction, +440 log_param="gbs_threshold", +441 use_bingham_average=False, +442 return_fse=return_fse, +443 ) +444 with Pool(processes=ncpus) as pool: +445 for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)): +446 mineral, mean_angles, texture_symmetry, fse_angles = out +447 angles[p, s, :] = mean_angles +448 point100_symmetry[p, s, :] = texture_symmetry +449 if return_fse: +450 θ_fse += fse_angles +451 +452 if return_fse: +453 θ_fse /= len(seeds_nearX45) +454 +455 # Update labels and store the last mineral of the ensemble for polefigs. +456 if outdir is not None: +457 labels.append(f"$f_{{gbs}}$ = {params['gbs_threshold']}") +458 mineral.save( +459 f"{out_basepath}.npz", +460 postfix=f"X{params['gbs_threshold']}", +461 ) +462 +463 _log.info( +464 "elapsed walltime: %s", +465 _utils.readable_timestamp(np.abs(perf_counter() - wall_start)), +466 ) +467 _log.info( +468 "elapsed CPU time: %s", +469 _utils.readable_timestamp(np.abs(process_time() - clock_start)), +470 ) +471 +472 # Take ensemble means and optionally plot figure. +473 strains = timestamps * strain_rate +474 res = self.postprocess_ensemble( +475 strains, +476 angles, +477 point100_symmetry, +478 θ_fse, +479 labels, +480 ("o", "v", "s"), +481 outdir, +482 out_basepath, +483 target_interpolator=self.interp_GBS_Kaminski2004, +484 ) +485 result_angles, result_angles_err, result_point100_symmetry, target_angles = res +486 +487 # Check that FSE is correct. +488 # First, get theoretical FSE axis for simple shear. +489 # We want the angle from the Y axis (shear direction), so subtract from 90. +490 θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains] +491 nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0) +492 +493 # Check point symmetry of [100] at strains of 0%, 100%, 200%, 300% & 400%. +494 nt.assert_allclose( +495 [0.015, 0.52, 0.86, 0.93, 0.94], +496 point100_symmetry[0].take(i_strain_100p), +497 rtol=0, +498 atol=0.015, +499 ) +500 nt.assert_allclose( +501 [0.015, 0.42, 0.71, 0.77, 0.79], +502 point100_symmetry[1].take(i_strain_100p), +503 rtol=0, +504 atol=0.015, +505 ) +506 nt.assert_allclose( +507 [0.015, 0.36, 0.57, 0.6, 0.62], +508 point100_symmetry[2].take(i_strain_100p), +509 rtol=0, +510 atol=0.015, +511 ) +512 +513 # Check that standard deviation decreases or stagnates (0.01 tolerance). +514 # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance). +515 for angles, angles_err in zip(result_angles, result_angles_err): +516 assert np.all(np.diff(angles_err) < 0.01) +517 assert np.all(np.diff(angles[i_strain_100p[1] :]) < 0.01) +518 +519 def test_boundary_mobility(self, seed, outdir): +520 """Test that the grain boundary mobility parameter has an effect.""" +521 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. +522 strain_rate = 1.0 +523 get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate) +524 timestamps = np.linspace(0, 1, 201) # Solve until D₀t=1 ('shear' γ=2). +525 i_strain_50p = 50 # Index of 50% strain. +526 params = _io.DEFAULT_PARAMS +527 gbm_mobilities = (0, 10, 50, 125, 200) # Must be in ascending order. +528 markers = ("x", ".", "*", "d", "s") +529 angles = np.empty((len(gbm_mobilities), len(timestamps))) +530 point100_symmetry = np.empty_like(angles) +531 θ_fse = np.empty_like(angles) +532 minerals = [] +533 +534 optional_logging = cl.nullcontext() +535 if outdir is not None: +536 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility" +537 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +538 labels = [] +539 +540 with optional_logging: +541 for i, M in enumerate(gbm_mobilities): +542 params["gbm_mobility"] = M +543 out = self.run( +544 params, +545 timestamps, +546 strain_rate, +547 get_velocity_gradient, +548 shear_direction, +549 seed=seed, +550 log_param="gbm_mobility", +551 return_fse=True, +552 ) +553 minerals.append(out[0]) +554 angles[i] = out[1] +555 point100_symmetry[i] = out[2] +556 θ_fse[i] = out[3] +557 if outdir is not None: +558 labels.append(f"$M^∗$ = {params['gbm_mobility']}") +559 +560 if outdir is not None: +561 strains = timestamps * strain_rate +562 self.postprocess( +563 strains, +564 angles, +565 point100_symmetry, +566 np.mean(θ_fse, axis=0), +567 labels, +568 markers, +569 outdir, +570 out_basepath, +571 ) +572 +573 # Check that GBM speeds up the alignment. +574 _log.info("checking grain orientations...") +575 halfway = int(len(timestamps) / 2) +576 assert np.all( +577 np.array( +578 [ +579 θ[halfway] - angles[i][halfway] +580 for i, θ in enumerate(angles[:-1], start=1) +581 ] +582 ) +583 > 0 +584 ) +585 assert np.all( +586 np.array( +587 [θ[-1] - angles[i][-1] for i, θ in enumerate(angles[:-1], start=1)] +588 ) +589 > 0 +590 ) +591 # Check that M*=0 doesn't affect grain sizes. +592 _log.info("checking grain sizes...") +593 for i, time in enumerate(timestamps): +594 nt.assert_allclose( +595 minerals[0].fractions[i], +596 np.full(params["number_of_grains"], 1 / params["number_of_grains"]), +597 ) +598 # Check that M*=0 matches FSE past 100% strain. +599 nt.assert_allclose( +600 angles[0][i_strain_50p:], +601 np.mean(θ_fse, axis=0)[i_strain_50p:], +602 atol=1, +603 rtol=0, +604 ) +605 # Check that GBM causes decreasing grain size median. +606 assert np.all( +607 np.array( +608 [ +609 np.median(m.fractions[halfway]) +610 - np.median(minerals[i].fractions[halfway]) +611 for i, m in enumerate(minerals[:-1], start=1) +612 ] +613 ) +614 > 0 +615 ) +616 +617 def test_boudary_sliding(self, seed, outdir): +618 """Test that the grain boundary sliding parameter has an effect.""" +619 strain_rate = 1.0 +620 shear_direction = [1, 0, 0] # Used to calculate the angular diagnostics. +621 get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate) +622 timestamps = np.linspace(0, 2.5, 251) # Solve until D₀t=2.5 ('shear' γ=5). +623 i_strain_200p = 100 # Index of 50% strain. +624 params = _io.DEFAULT_PARAMS +625 gbs_thresholds = (0, 0.2, 0.4, 0.6) # Must be in ascending order. +626 markers = (".", "*", "d", "s") +627 angles = np.empty((len(gbs_thresholds), len(timestamps))) +628 point100_symmetry = np.empty_like(angles) +629 θ_fse = np.empty_like(angles) +630 minerals = [] +631 +632 optional_logging = cl.nullcontext() +633 if outdir is not None: +634 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_sliding" +635 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +636 labels = [] +637 +638 with optional_logging: +639 for i, f in enumerate(gbs_thresholds): +640 params["gbs_threshold"] = f +641 out = self.run( +642 params, +643 timestamps, +644 strain_rate, +645 get_velocity_gradient, +646 shear_direction, +647 seed=seed, +648 log_param="gbs_threshold", +649 return_fse=True, +650 ) +651 minerals.append(out[0]) +652 angles[i] = out[1] +653 point100_symmetry[i] = out[2] +654 θ_fse[i] = out[3] +655 if outdir is not None: +656 labels.append(f"$M^∗$ = {params['gbs_threshold']}") +657 +658 if outdir is not None: +659 strains = timestamps * strain_rate +660 self.postprocess( +661 strains, +662 angles, +663 point100_symmetry, +664 np.mean(θ_fse, axis=0), +665 labels, +666 markers, +667 outdir, +668 out_basepath, +669 ) +670 +671 # Check that GBS sets an upper bound on P_[100]. +672 _log.info("checking degree of [100] point symmetry...") +673 nt.assert_allclose( +674 np.full(len(point100_symmetry[0][i_strain_200p:]), 0.0), +675 point100_symmetry[0][i_strain_200p:] - 0.95, +676 atol=0.05, +677 rtol=0, +678 ) +679 nt.assert_allclose( +680 np.full(len(point100_symmetry[1][i_strain_200p:]), 0.0), +681 point100_symmetry[1][i_strain_200p:] - 0.78, +682 atol=0.05, +683 rtol=0, +684 ) +685 nt.assert_allclose( +686 np.full(len(point100_symmetry[2][i_strain_200p:]), 0.0), +687 point100_symmetry[2][i_strain_200p:] - 0.61, +688 atol=0.05, +689 rtol=0, +690 ) +691 nt.assert_allclose( +692 np.full(len(point100_symmetry[3][i_strain_200p:]), 0.0), +693 point100_symmetry[3][i_strain_200p:] - 0.44, +694 atol=0.055, +695 rtol=0, +696 ) +697 # Check that angles always reach within 5° of the shear direction. +698 _log.info("checking grain orientations...") +699 for θ in angles: +700 nt.assert_allclose( +701 np.full(len(θ[i_strain_200p:]), 0.0), +702 2.5 - θ[i_strain_200p:], +703 atol=2.5, +704 rtol=0, +705 ) +706 +707 @pytest.mark.slow +708 def test_ngrains(self, seed, outdir): +709 """Test that solvers work up to 10000 grains.""" +710 shear_direction = [0, 1, 0] +711 strain_rate = 1.0 +712 get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate) +713 timestamps = np.linspace(0, 1, 201) # Solve until D₀t=1 ('shear' γ=2). +714 params = _io.DEFAULT_PARAMS +715 grain_counts = (100, 1000, 2000, 5000, 10000) +716 +717 optional_logging = cl.nullcontext() +718 if outdir is not None: +719 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_ngrains" +720 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +721 +722 with optional_logging: +723 for i, N in enumerate(grain_counts): +724 params["number_of_grains"] = N +725 self.run( +726 params, +727 timestamps, +728 strain_rate, +729 get_velocity_gradient, +730 shear_direction, +731 seed=seed, +732 log_param="number_of_grains", +733 return_fse=True, +734 ) @@ -888,641 +922,672 @@

    67 msg_start = f"X = {params['gbs_threshold']}; " 68 case "gbm_mobility": 69 msg_start = f"M∗ = {params['gbm_mobility']}; " - 70 case _: - 71 msg_start = "" - 72 - 73 if seed is not None: - 74 msg_start += f"# {seed}; " - 75 - 76 _log.info(msg_start + "step %s/%s (t = %s)", t, n_timestamps - 1, time) + 70 case "number_of_grains": + 71 msg_start = f"N = {params['number_of_grains']}; " + 72 case _: + 73 msg_start = "" + 74 + 75 if seed is not None: + 76 msg_start += f"# {seed}; " 77 - 78 deformation_gradient = mineral.update_orientations( - 79 params, - 80 deformation_gradient, - 81 get_velocity_gradient, - 82 pathline=(time, timestamps[t], cls.get_position), - 83 ) - 84 _log.debug( - 85 "› velocity gradient = %s", - 86 get_velocity_gradient(None).flatten(), - 87 ) - 88 _log.debug("› strain D₀t = %.2f", strain_rate * timestamps[t]) - 89 _log.debug( - 90 "› grain fractions: median = %s, max = %s, min = %s", - 91 np.median(mineral.fractions[-1]), - 92 np.max(mineral.fractions[-1]), - 93 np.min(mineral.fractions[-1]), - 94 ) - 95 if return_fse: - 96 _, fse_v = _diagnostics.finite_strain(deformation_gradient) - 97 θ_fse[t] = _diagnostics.smallest_angle(fse_v, shear_direction) - 98 - 99 # Compute texture diagnostics. -100 texture_symmetry = np.zeros(n_timestamps) -101 if use_bingham_average: -102 mean_angles = np.zeros(n_timestamps) -103 for idx, matrices in enumerate(mineral.orientations): -104 orientations_resampled, _ = _stats.resample_orientations( -105 matrices, mineral.fractions[idx], seed=seed -106 ) -107 if use_bingham_average: -108 direction_mean = _diagnostics.bingham_average( -109 orientations_resampled, -110 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], -111 ) -112 mean_angles[idx] = _diagnostics.smallest_angle( -113 direction_mean, shear_direction -114 ) -115 texture_symmetry[idx] = _diagnostics.symmetry( -116 orientations_resampled, -117 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], -118 )[0] -119 -120 if not use_bingham_average: -121 # Use SCCS axis (hexagonal symmetry) for the angle instead (opt). -122 mean_angles = np.array( -123 [ -124 _diagnostics.smallest_angle( -125 _diagnostics.anisotropy(v)[1][2, :], shear_direction -126 ) -127 for v in _minerals.voigt_averages([mineral], params) -128 ] -129 ) -130 -131 if return_fse: -132 return mineral, mean_angles, texture_symmetry, θ_fse -133 return mineral, mean_angles, texture_symmetry, None -134 -135 @classmethod -136 def postprocess( -137 cls, -138 strains, -139 angles, -140 point100_symmetry, -141 θ_fse, -142 labels, -143 markers, -144 outdir, -145 out_basepath, -146 target_interpolator=None, -147 ): -148 """Reusable postprocessing routine for olivine 2D simple shear simulations.""" -149 _log.info("postprocessing results...") -150 if target_interpolator is not None: -151 result_angles = angles.mean(axis=1) -152 result_angles_err = angles.std(axis=1) -153 result_point100_symmetry = point100_symmetry.mean(axis=1) -154 target_angles = target_interpolator(strains) -155 else: -156 result_angles = angles -157 result_angles_err = None -158 result_point100_symmetry = point100_symmetry -159 target_angles = None -160 -161 if outdir is not None: -162 schema = { -163 "delimiter": ",", -164 "missing": "-", -165 "fields": [ -166 { -167 "name": "strain", -168 "type": "integer", -169 "unit": "percent", -170 "fill": 999999, -171 } -172 ], -173 } -174 _io.save_scsv( -175 f"{out_basepath}_strains.scsv", -176 schema, -177 [[int(D * 200) for D in strains]], # Shear strain % is 200 * D₀. -178 ) -179 _vis.simple_shear_stationary_2d( -180 strains, -181 result_angles, -182 result_point100_symmetry, -183 target_angles=target_angles, -184 angles_err=result_angles_err, -185 savefile=f"{out_basepath}.png", -186 markers=markers, -187 θ_fse=θ_fse, -188 labels=labels, -189 ) -190 return result_angles, result_angles_err, result_point100_symmetry, target_angles -191 -192 @classmethod -193 def interp_GBM_Kaminski2001(cls, strains): -194 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" -195 _log.info("interpolating target CPO angles...") -196 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv") -197 cs_M0 = PchipInterpolator( -198 _utils.remove_nans(data.equivalent_strain_M0) / 200, -199 _utils.remove_nans(data.angle_M0), -200 ) -201 cs_M50 = PchipInterpolator( -202 _utils.remove_nans(data.equivalent_strain_M50) / 200, -203 _utils.remove_nans(data.angle_M50), -204 ) -205 cs_M200 = PchipInterpolator( -206 _utils.remove_nans(data.equivalent_strain_M200) / 200, -207 _utils.remove_nans(data.angle_M200), -208 ) -209 return [cs_M0(strains), cs_M50(strains), cs_M200(strains)] -210 -211 @classmethod -212 def interp_GBS_Kaminski2004(cls, strains): -213 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" -214 _log.info("interpolating target CPO angles...") -215 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv") -216 cs_X0 = PchipInterpolator( -217 _utils.remove_nans(data.dimensionless_time_X0), -218 45 + _utils.remove_nans(data.angle_X0), -219 ) -220 cs_X0d2 = PchipInterpolator( -221 _utils.remove_nans(data.dimensionless_time_X0d2), -222 45 + _utils.remove_nans(data.angle_X0d2), -223 ) -224 cs_X0d4 = PchipInterpolator( -225 _utils.remove_nans(data.dimensionless_time_X0d4), -226 45 + _utils.remove_nans(data.angle_X0d4), -227 ) -228 return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)] -229 -230 @pytest.mark.slow -231 def test_dvdx_GBM_ensemble( -232 self, -233 params_Kaminski2001_fig5_solid, # GBM = 0 -234 params_Kaminski2001_fig5_shortdash, # GBM = 50 -235 params_Kaminski2001_fig5_longdash, # GBM = 200 -236 seeds_nearX45, # Use `seeds` if you have lots of RAM and patience (or cores) -237 outdir, -238 ncpus, -239 ): -240 r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X). -241 -242 Velocity gradient: -243 $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$ -244 -245 Tests the effect of grain boundary migration, similar to Fig. 5 in -246 [Kaminski 2001](https://doi.org/10.1016%2Fs0012-821x%2801%2900356-9). -247 -248 """ -249 strain_rate = 5e-6 # Strain rate from Fraters & Billen, 2021, fig. 3. -250 timestamps = np.linspace(0, 2e5, 201) # Solve until D₀t=1 ('shear' γ=2). -251 n_timestamps = len(timestamps) -252 i_strain_50p = [0, 50, 100, 150, 200] # Indices for += 50% strain. -253 -254 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. -255 get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate) -256 -257 # Output setup with optional logging and data series labels. -258 θ_fse = np.empty(n_timestamps) -259 angles = np.empty((3, len(seeds_nearX45), n_timestamps)) -260 point100_symmetry = np.empty_like(angles) -261 optional_logging = cl.nullcontext() -262 if outdir is not None: -263 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_GBM_ensemble" -264 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -265 labels = [] -266 -267 with optional_logging: -268 wall_start = perf_counter() -269 clock_start = process_time() -270 for p, params in enumerate( -271 ( -272 params_Kaminski2001_fig5_solid, # GBM = 0 -273 params_Kaminski2001_fig5_shortdash, # GBM = 50 -274 params_Kaminski2001_fig5_longdash, # GBM = 200 -275 ), -276 ): -277 if p == 0: -278 return_fse = True -279 else: -280 return_fse = False -281 -282 _run = ft.partial( -283 self.run, -284 params, -285 timestamps, -286 strain_rate, -287 get_velocity_gradient, -288 shear_direction, -289 log_param="gbm_mobility", -290 use_bingham_average=False, -291 return_fse=return_fse, -292 ) -293 with Pool(processes=ncpus) as pool: -294 for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)): -295 mineral, mean_angles, texture_symmetry, fse_angles = out -296 angles[p, s, :] = mean_angles -297 point100_symmetry[p, s, :] = texture_symmetry -298 if return_fse: -299 θ_fse += fse_angles -300 -301 if return_fse: -302 θ_fse /= len(seeds_nearX45) -303 -304 # Update labels and store the last mineral of the ensemble for polefigs. -305 if outdir is not None: -306 labels.append(f"$M^∗$ = {params['gbm_mobility']}") -307 mineral.save( -308 f"{out_basepath}.npz", -309 postfix=f"M{params['gbm_mobility']}", -310 ) -311 -312 _log.info( -313 "elapsed walltime: %s", -314 _utils.readable_timestamp(np.abs(perf_counter() - wall_start)), -315 ) -316 _log.info( -317 "elapsed CPU time: %s", -318 _utils.readable_timestamp(np.abs(process_time() - clock_start)), -319 ) -320 -321 # Take ensemble means and optionally plot figure. -322 strains = timestamps * strain_rate -323 res = self.postprocess( -324 strains, -325 angles, -326 point100_symmetry, -327 θ_fse, -328 labels, -329 ("o", "v", "s"), -330 outdir, -331 out_basepath, -332 target_interpolator=self.interp_GBM_Kaminski2001, -333 ) -334 result_angles, result_angles_err, result_point100_symmetry, target_angles = res -335 -336 # Check that FSE is correct. -337 # First, get theoretical FSE axis for simple shear. -338 # We want the angle from the Y axis (shear direction), so subtract from 90. -339 θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains] -340 nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0) -341 -342 # Check that M*=0 angles match FSE, ignoring the first portion (<100% strain). -343 # Average orientations of near-isotropic distributions are unstable. -344 nt.assert_allclose( -345 θ_fse[i_strain_50p[2] :], -346 result_angles[0][i_strain_50p[2] :], -347 rtol=0.11, -348 atol=0, -349 ) -350 # Check that M*=0 matches target angles for strain > 100%. -351 nt.assert_allclose( -352 target_angles[0][i_strain_50p[2]], -353 result_angles[0][i_strain_50p[2]], -354 atol=1, -355 rtol=0, -356 ) -357 # Check that standard deviation decreases or stagnates (0.01 tolerance). -358 # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance). -359 for angles, angles_err in zip(result_angles, result_angles_err): -360 assert np.all(np.diff(angles_err) < 0.01) -361 assert np.all(np.diff(angles[i_strain_50p[1] :]) < 0.01) -362 -363 # Check point symmetry of [100] at strains of 0%, 50%, 100%, 150% & 200%. -364 nt.assert_allclose( -365 [0.015, 0.11, 0.19, 0.27, 0.34], -366 result_point100_symmetry[0].take(i_strain_50p), -367 rtol=0, -368 atol=0.015, -369 ) -370 nt.assert_allclose( -371 [0.015, 0.15, 0.33, 0.57, 0.72], -372 result_point100_symmetry[1].take(i_strain_50p), -373 rtol=0, -374 atol=0.015, -375 ) -376 nt.assert_allclose( -377 [0.015, 0.22, 0.64, 0.86, 0.91], -378 result_point100_symmetry[2].take(i_strain_50p), -379 rtol=0, -380 atol=0.015, -381 ) -382 -383 @pytest.mark.slow -384 def test_dudz_GBS_ensemble( -385 self, -386 params_Kaminski2004_fig4_circles, # GBS = 0 -387 params_Kaminski2004_fig4_squares, # GBS = 0.2 -388 params_Kaminski2004_fig4_triangles, # GBS = 0.4 -389 seeds_nearX45, # Use `seeds` if you have lots of RAM and patience (or cores) -390 outdir, -391 ncpus, -392 ): -393 r"""Test a-axis alignment to shear in X direction (init. SCCS near 45° from X). -394 -395 Velocity gradient: -396 $$\bm{L} = \begin{bmatrix} 0 & 0 & 2 \cr 0 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$ -397 -398 """ -399 strain_rate = 5e-6 # Strain rate from Fraters & Billen, 2021, fig. 3. -400 timestamps = np.linspace(0, 5e5, 251) # Solve until D₀t=2.5 ('shear' γ=5). -401 n_timestamps = len(timestamps) -402 i_strain_100p = [0, 50, 100, 150, 200] # Indices for += 100% strain. -403 -404 shear_direction = [1, 0, 0] # Used to calculate the angular diagnostics. -405 get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate) -406 -407 # Output setup with optional logging and data series labels. -408 θ_fse = np.empty(n_timestamps) -409 angles = np.empty((3, len(seeds_nearX45), n_timestamps)) -410 point100_symmetry = np.empty_like(angles) -411 optional_logging = cl.nullcontext() -412 if outdir is not None: -413 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dudz_GBS_ensemble" -414 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -415 labels = [] -416 -417 with optional_logging: -418 wall_start = perf_counter() -419 clock_start = process_time() -420 for p, params in enumerate( -421 ( -422 params_Kaminski2004_fig4_circles, # GBS = 0 -423 params_Kaminski2004_fig4_squares, # GBS = 0.2 -424 params_Kaminski2004_fig4_triangles, # GBS = 0.4 -425 ), -426 ): -427 if p == 0: -428 return_fse = True -429 else: -430 return_fse = False -431 -432 _run = ft.partial( -433 self.run, -434 params, -435 timestamps, -436 strain_rate, -437 get_velocity_gradient, -438 shear_direction, -439 log_param="gbs_threshold", -440 use_bingham_average=False, -441 return_fse=return_fse, -442 ) -443 with Pool(processes=ncpus) as pool: -444 for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)): -445 mineral, mean_angles, texture_symmetry, fse_angles = out -446 angles[p, s, :] = mean_angles -447 point100_symmetry[p, s, :] = texture_symmetry -448 if return_fse: -449 θ_fse += fse_angles -450 -451 if return_fse: -452 θ_fse /= len(seeds_nearX45) -453 -454 # Update labels and store the last mineral of the ensemble for polefigs. -455 if outdir is not None: -456 labels.append(f"$f_{{gbs}}$ = {params['gbs_threshold']}") -457 mineral.save( -458 f"{out_basepath}.npz", -459 postfix=f"X{params['gbs_threshold']}", -460 ) -461 -462 _log.info( -463 "elapsed walltime: %s", -464 _utils.readable_timestamp(np.abs(perf_counter() - wall_start)), -465 ) -466 _log.info( -467 "elapsed CPU time: %s", -468 _utils.readable_timestamp(np.abs(process_time() - clock_start)), -469 ) -470 -471 # Take ensemble means and optionally plot figure. -472 strains = timestamps * strain_rate -473 res = self.postprocess_ensemble( -474 strains, -475 angles, -476 point100_symmetry, -477 θ_fse, -478 labels, -479 ("o", "v", "s"), -480 outdir, -481 out_basepath, -482 target_interpolator=self.interp_GBS_Kaminski2004, -483 ) -484 result_angles, result_angles_err, result_point100_symmetry, target_angles = res -485 -486 # Check that FSE is correct. -487 # First, get theoretical FSE axis for simple shear. -488 # We want the angle from the Y axis (shear direction), so subtract from 90. -489 θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains] -490 nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0) -491 -492 # Check point symmetry of [100] at strains of 0%, 100%, 200%, 300% & 400%. -493 nt.assert_allclose( -494 [0.015, 0.52, 0.86, 0.93, 0.94], -495 point100_symmetry[0].take(i_strain_100p), -496 rtol=0, -497 atol=0.015, -498 ) -499 nt.assert_allclose( -500 [0.015, 0.42, 0.71, 0.77, 0.79], -501 point100_symmetry[1].take(i_strain_100p), -502 rtol=0, -503 atol=0.015, -504 ) -505 nt.assert_allclose( -506 [0.015, 0.36, 0.57, 0.6, 0.62], -507 point100_symmetry[2].take(i_strain_100p), -508 rtol=0, -509 atol=0.015, -510 ) -511 -512 # Check that standard deviation decreases or stagnates (0.01 tolerance). -513 # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance). -514 for angles, angles_err in zip(result_angles, result_angles_err): -515 assert np.all(np.diff(angles_err) < 0.01) -516 assert np.all(np.diff(angles[i_strain_100p[1] :]) < 0.01) -517 -518 def test_boundary_mobility(self, seed, outdir): -519 """Test that the grain boundary mobility parameter has an effect.""" -520 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. -521 strain_rate = 1.0 -522 get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate) -523 timestamps = np.linspace(0, 1, 201) # Solve until D₀t=1 ('shear' γ=2). -524 i_strain_50p = 50 # Index of 50% strain. -525 params = _io.DEFAULT_PARAMS -526 gbm_mobilities = (0, 10, 50, 125, 200) # Must be in ascending order. -527 markers = ("x", ".", "*", "d", "s") -528 angles = np.empty((len(gbm_mobilities), len(timestamps))) -529 point100_symmetry = np.empty_like(angles) -530 θ_fse = np.empty_like(angles) -531 minerals = [] -532 -533 optional_logging = cl.nullcontext() -534 if outdir is not None: -535 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility" -536 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -537 labels = [] -538 -539 with optional_logging: -540 for i, M in enumerate(gbm_mobilities): -541 params["gbm_mobility"] = M -542 out = self.run( -543 params, -544 timestamps, -545 strain_rate, -546 get_velocity_gradient, -547 shear_direction, -548 seed=seed, -549 log_param="gbm_mobility", -550 return_fse=True, -551 ) -552 minerals.append(out[0]) -553 angles[i] = out[1] -554 point100_symmetry[i] = out[2] -555 θ_fse[i] = out[3] -556 if outdir is not None: -557 labels.append(f"$M^∗$ = {params['gbm_mobility']}") -558 -559 if outdir is not None: -560 strains = timestamps * strain_rate -561 self.postprocess( -562 strains, -563 angles, -564 point100_symmetry, -565 np.mean(θ_fse, axis=0), -566 labels, -567 markers, -568 outdir, -569 out_basepath, -570 ) -571 -572 # Check that GBM speeds up the alignment. -573 _log.info("checking grain orientations...") -574 halfway = int(len(timestamps) / 2) -575 assert np.all( -576 np.array( -577 [ -578 θ[halfway] - angles[i][halfway] -579 for i, θ in enumerate(angles[:-1], start=1) -580 ] -581 ) -582 > 0 -583 ) -584 assert np.all( -585 np.array( -586 [θ[-1] - angles[i][-1] for i, θ in enumerate(angles[:-1], start=1)] -587 ) -588 > 0 -589 ) -590 # Check that M*=0 doesn't affect grain sizes. -591 _log.info("checking grain sizes...") -592 for i, time in enumerate(timestamps): -593 nt.assert_allclose( -594 minerals[0].fractions[i], -595 np.full(params["number_of_grains"], 1 / params["number_of_grains"]), -596 ) -597 # Check that M*=0 matches FSE past 100% strain. -598 nt.assert_allclose( -599 angles[0][i_strain_50p:], -600 np.mean(θ_fse, axis=0)[i_strain_50p:], -601 atol=1, -602 rtol=0, -603 ) -604 # Check that GBM causes decreasing grain size median. -605 assert np.all( -606 np.array( -607 [ -608 np.median(m.fractions[halfway]) -609 - np.median(minerals[i].fractions[halfway]) -610 for i, m in enumerate(minerals[:-1], start=1) -611 ] -612 ) -613 > 0 -614 ) -615 -616 def test_boudary_sliding(self, seed, outdir): -617 """Test that the grain boundary sliding parameter has an effect.""" -618 strain_rate = 1.0 -619 shear_direction = [1, 0, 0] # Used to calculate the angular diagnostics. -620 get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate) -621 timestamps = np.linspace(0, 2.5, 251) # Solve until D₀t=2.5 ('shear' γ=5). -622 i_strain_200p = 100 # Index of 50% strain. -623 params = _io.DEFAULT_PARAMS -624 gbs_thresholds = (0, 0.2, 0.4, 0.6) # Must be in ascending order. -625 markers = (".", "*", "d", "s") -626 angles = np.empty((len(gbs_thresholds), len(timestamps))) -627 point100_symmetry = np.empty_like(angles) -628 θ_fse = np.empty_like(angles) -629 minerals = [] -630 -631 optional_logging = cl.nullcontext() -632 if outdir is not None: -633 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_sliding" -634 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -635 labels = [] -636 -637 with optional_logging: -638 for i, f in enumerate(gbs_thresholds): -639 params["gbs_threshold"] = f -640 out = self.run( -641 params, -642 timestamps, -643 strain_rate, -644 get_velocity_gradient, -645 shear_direction, -646 seed=seed, -647 log_param="gbs_threshold", -648 return_fse=True, -649 ) -650 minerals.append(out[0]) -651 angles[i] = out[1] -652 point100_symmetry[i] = out[2] -653 θ_fse[i] = out[3] -654 if outdir is not None: -655 labels.append(f"$M^∗$ = {params['gbs_threshold']}") -656 -657 if outdir is not None: -658 strains = timestamps * strain_rate -659 self.postprocess( -660 strains, -661 angles, -662 point100_symmetry, -663 np.mean(θ_fse, axis=0), -664 labels, -665 markers, -666 outdir, -667 out_basepath, -668 ) -669 -670 # Check that GBS sets an upper bound on P_[100]. -671 _log.info("checking degree of [100] point symmetry...") -672 nt.assert_allclose( -673 np.full(len(point100_symmetry[0][i_strain_200p:]), 0.0), -674 point100_symmetry[0][i_strain_200p:] - 0.95, -675 atol=0.05, -676 rtol=0, -677 ) -678 nt.assert_allclose( -679 np.full(len(point100_symmetry[1][i_strain_200p:]), 0.0), -680 point100_symmetry[1][i_strain_200p:] - 0.78, -681 atol=0.05, -682 rtol=0, -683 ) -684 nt.assert_allclose( -685 np.full(len(point100_symmetry[2][i_strain_200p:]), 0.0), -686 point100_symmetry[2][i_strain_200p:] - 0.61, -687 atol=0.05, -688 rtol=0, -689 ) -690 nt.assert_allclose( -691 np.full(len(point100_symmetry[3][i_strain_200p:]), 0.0), -692 point100_symmetry[3][i_strain_200p:] - 0.44, -693 atol=0.055, -694 rtol=0, -695 ) -696 # Check that angles always reach within 5° of the shear direction. -697 _log.info("checking grain orientations...") -698 for θ in angles: -699 nt.assert_allclose( -700 np.full(len(θ[i_strain_200p:]), 0.0), -701 2.5 - θ[i_strain_200p:], -702 atol=2.5, -703 rtol=0, -704 ) + 78 _log.info(msg_start + "step %s/%s (t = %s)", t, n_timestamps - 1, time) + 79 + 80 deformation_gradient = mineral.update_orientations( + 81 params, + 82 deformation_gradient, + 83 get_velocity_gradient, + 84 pathline=(time, timestamps[t], cls.get_position), + 85 ) + 86 _log.debug( + 87 "› velocity gradient = %s", + 88 get_velocity_gradient(None).flatten(), + 89 ) + 90 _log.debug("› strain D₀t = %.2f", strain_rate * timestamps[t]) + 91 _log.debug( + 92 "› grain fractions: median = %s, max = %s, min = %s", + 93 np.median(mineral.fractions[-1]), + 94 np.max(mineral.fractions[-1]), + 95 np.min(mineral.fractions[-1]), + 96 ) + 97 if return_fse: + 98 _, fse_v = _diagnostics.finite_strain(deformation_gradient) + 99 θ_fse[t] = _diagnostics.smallest_angle(fse_v, shear_direction) +100 +101 # Compute texture diagnostics. +102 texture_symmetry = np.zeros(n_timestamps) +103 if use_bingham_average: +104 mean_angles = np.zeros(n_timestamps) +105 for idx, matrices in enumerate(mineral.orientations): +106 orientations_resampled, _ = _stats.resample_orientations( +107 matrices, mineral.fractions[idx], seed=seed +108 ) +109 if use_bingham_average: +110 direction_mean = _diagnostics.bingham_average( +111 orientations_resampled, +112 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], +113 ) +114 mean_angles[idx] = _diagnostics.smallest_angle( +115 direction_mean, shear_direction +116 ) +117 texture_symmetry[idx] = _diagnostics.symmetry( +118 orientations_resampled, +119 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], +120 )[0] +121 +122 if not use_bingham_average: +123 # Use SCCS axis (hexagonal symmetry) for the angle instead (opt). +124 mean_angles = np.array( +125 [ +126 _diagnostics.smallest_angle( +127 _diagnostics.anisotropy(v)[1][2, :], shear_direction +128 ) +129 for v in _minerals.voigt_averages([mineral], params) +130 ] +131 ) +132 +133 if return_fse: +134 return mineral, mean_angles, texture_symmetry, θ_fse +135 return mineral, mean_angles, texture_symmetry, None +136 +137 @classmethod +138 def postprocess( +139 cls, +140 strains, +141 angles, +142 point100_symmetry, +143 θ_fse, +144 labels, +145 markers, +146 outdir, +147 out_basepath, +148 target_interpolator=None, +149 ): +150 """Reusable postprocessing routine for olivine 2D simple shear simulations.""" +151 _log.info("postprocessing results...") +152 if target_interpolator is not None: +153 result_angles = angles.mean(axis=1) +154 result_angles_err = angles.std(axis=1) +155 result_point100_symmetry = point100_symmetry.mean(axis=1) +156 target_angles = target_interpolator(strains) +157 else: +158 result_angles = angles +159 result_angles_err = None +160 result_point100_symmetry = point100_symmetry +161 target_angles = None +162 +163 if outdir is not None: +164 schema = { +165 "delimiter": ",", +166 "missing": "-", +167 "fields": [ +168 { +169 "name": "strain", +170 "type": "integer", +171 "unit": "percent", +172 "fill": 999999, +173 } +174 ], +175 } +176 _io.save_scsv( +177 f"{out_basepath}_strains.scsv", +178 schema, +179 [[int(D * 200) for D in strains]], # Shear strain % is 200 * D₀. +180 ) +181 _vis.simple_shear_stationary_2d( +182 strains, +183 result_angles, +184 result_point100_symmetry, +185 target_angles=target_angles, +186 angles_err=result_angles_err, +187 savefile=f"{out_basepath}.png", +188 markers=markers, +189 θ_fse=θ_fse, +190 labels=labels, +191 ) +192 return result_angles, result_angles_err, result_point100_symmetry, target_angles +193 +194 @classmethod +195 def interp_GBM_Kaminski2001(cls, strains): +196 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" +197 _log.info("interpolating target CPO angles...") +198 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv") +199 cs_M0 = PchipInterpolator( +200 _utils.remove_nans(data.equivalent_strain_M0) / 200, +201 _utils.remove_nans(data.angle_M0), +202 ) +203 cs_M50 = PchipInterpolator( +204 _utils.remove_nans(data.equivalent_strain_M50) / 200, +205 _utils.remove_nans(data.angle_M50), +206 ) +207 cs_M200 = PchipInterpolator( +208 _utils.remove_nans(data.equivalent_strain_M200) / 200, +209 _utils.remove_nans(data.angle_M200), +210 ) +211 return [cs_M0(strains), cs_M50(strains), cs_M200(strains)] +212 +213 @classmethod +214 def interp_GBS_Kaminski2004(cls, strains): +215 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" +216 _log.info("interpolating target CPO angles...") +217 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv") +218 cs_X0 = PchipInterpolator( +219 _utils.remove_nans(data.dimensionless_time_X0), +220 45 + _utils.remove_nans(data.angle_X0), +221 ) +222 cs_X0d2 = PchipInterpolator( +223 _utils.remove_nans(data.dimensionless_time_X0d2), +224 45 + _utils.remove_nans(data.angle_X0d2), +225 ) +226 cs_X0d4 = PchipInterpolator( +227 _utils.remove_nans(data.dimensionless_time_X0d4), +228 45 + _utils.remove_nans(data.angle_X0d4), +229 ) +230 return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)] +231 +232 @pytest.mark.slow +233 def test_dvdx_GBM_ensemble( +234 self, +235 params_Kaminski2001_fig5_solid, # GBM = 0 +236 params_Kaminski2001_fig5_shortdash, # GBM = 50 +237 params_Kaminski2001_fig5_longdash, # GBM = 200 +238 seeds_nearX45, # Use `seeds` if you have lots of RAM and patience (or cores) +239 outdir, +240 ncpus, +241 ): +242 r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X). +243 +244 Velocity gradient: +245 $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$ +246 +247 Tests the effect of grain boundary migration, similar to Fig. 5 in +248 [Kaminski 2001](https://doi.org/10.1016%2Fs0012-821x%2801%2900356-9). +249 +250 """ +251 strain_rate = 5e-6 # Strain rate from Fraters & Billen, 2021, fig. 3. +252 timestamps = np.linspace(0, 2e5, 201) # Solve until D₀t=1 ('shear' γ=2). +253 n_timestamps = len(timestamps) +254 i_strain_50p = [0, 50, 100, 150, 200] # Indices for += 50% strain. +255 +256 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. +257 get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate) +258 +259 # Output setup with optional logging and data series labels. +260 θ_fse = np.empty(n_timestamps) +261 angles = np.empty((3, len(seeds_nearX45), n_timestamps)) +262 point100_symmetry = np.empty_like(angles) +263 optional_logging = cl.nullcontext() +264 if outdir is not None: +265 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_GBM_ensemble" +266 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +267 labels = [] +268 +269 with optional_logging: +270 wall_start = perf_counter() +271 clock_start = process_time() +272 for p, params in enumerate( +273 ( +274 params_Kaminski2001_fig5_solid, # GBM = 0 +275 params_Kaminski2001_fig5_shortdash, # GBM = 50 +276 params_Kaminski2001_fig5_longdash, # GBM = 200 +277 ), +278 ): +279 if p == 0: +280 return_fse = True +281 else: +282 return_fse = False +283 +284 _run = ft.partial( +285 self.run, +286 params, +287 timestamps, +288 strain_rate, +289 get_velocity_gradient, +290 shear_direction, +291 log_param="gbm_mobility", +292 use_bingham_average=False, +293 return_fse=return_fse, +294 ) +295 with Pool(processes=ncpus) as pool: +296 for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)): +297 mineral, mean_angles, texture_symmetry, fse_angles = out +298 angles[p, s, :] = mean_angles +299 point100_symmetry[p, s, :] = texture_symmetry +300 if return_fse: +301 θ_fse += fse_angles +302 +303 if return_fse: +304 θ_fse /= len(seeds_nearX45) +305 +306 # Update labels and store the last mineral of the ensemble for polefigs. +307 if outdir is not None: +308 labels.append(f"$M^∗$ = {params['gbm_mobility']}") +309 mineral.save( +310 f"{out_basepath}.npz", +311 postfix=f"M{params['gbm_mobility']}", +312 ) +313 +314 _log.info( +315 "elapsed walltime: %s", +316 _utils.readable_timestamp(np.abs(perf_counter() - wall_start)), +317 ) +318 _log.info( +319 "elapsed CPU time: %s", +320 _utils.readable_timestamp(np.abs(process_time() - clock_start)), +321 ) +322 +323 # Take ensemble means and optionally plot figure. +324 strains = timestamps * strain_rate +325 res = self.postprocess( +326 strains, +327 angles, +328 point100_symmetry, +329 θ_fse, +330 labels, +331 ("o", "v", "s"), +332 outdir, +333 out_basepath, +334 target_interpolator=self.interp_GBM_Kaminski2001, +335 ) +336 result_angles, result_angles_err, result_point100_symmetry, target_angles = res +337 +338 # Check that FSE is correct. +339 # First, get theoretical FSE axis for simple shear. +340 # We want the angle from the Y axis (shear direction), so subtract from 90. +341 θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains] +342 nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0) +343 +344 # Check that M*=0 angles match FSE, ignoring the first portion (<100% strain). +345 # Average orientations of near-isotropic distributions are unstable. +346 nt.assert_allclose( +347 θ_fse[i_strain_50p[2] :], +348 result_angles[0][i_strain_50p[2] :], +349 rtol=0.11, +350 atol=0, +351 ) +352 # Check that M*=0 matches target angles for strain > 100%. +353 nt.assert_allclose( +354 target_angles[0][i_strain_50p[2]], +355 result_angles[0][i_strain_50p[2]], +356 atol=1, +357 rtol=0, +358 ) +359 # Check that standard deviation decreases or stagnates (0.01 tolerance). +360 # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance). +361 for angles, angles_err in zip(result_angles, result_angles_err): +362 assert np.all(np.diff(angles_err) < 0.01) +363 assert np.all(np.diff(angles[i_strain_50p[1] :]) < 0.01) +364 +365 # Check point symmetry of [100] at strains of 0%, 50%, 100%, 150% & 200%. +366 nt.assert_allclose( +367 [0.015, 0.11, 0.19, 0.27, 0.34], +368 result_point100_symmetry[0].take(i_strain_50p), +369 rtol=0, +370 atol=0.015, +371 ) +372 nt.assert_allclose( +373 [0.015, 0.15, 0.33, 0.57, 0.72], +374 result_point100_symmetry[1].take(i_strain_50p), +375 rtol=0, +376 atol=0.015, +377 ) +378 nt.assert_allclose( +379 [0.015, 0.22, 0.64, 0.86, 0.91], +380 result_point100_symmetry[2].take(i_strain_50p), +381 rtol=0, +382 atol=0.015, +383 ) +384 +385 @pytest.mark.slow +386 def test_dudz_GBS_ensemble( +387 self, +388 params_Kaminski2004_fig4_circles, # GBS = 0 +389 params_Kaminski2004_fig4_squares, # GBS = 0.2 +390 params_Kaminski2004_fig4_triangles, # GBS = 0.4 +391 seeds_nearX45, # Use `seeds` if you have lots of RAM and patience (or cores) +392 outdir, +393 ncpus, +394 ): +395 r"""Test a-axis alignment to shear in X direction (init. SCCS near 45° from X). +396 +397 Velocity gradient: +398 $$\bm{L} = \begin{bmatrix} 0 & 0 & 2 \cr 0 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$ +399 +400 """ +401 strain_rate = 5e-6 # Strain rate from Fraters & Billen, 2021, fig. 3. +402 timestamps = np.linspace(0, 5e5, 251) # Solve until D₀t=2.5 ('shear' γ=5). +403 n_timestamps = len(timestamps) +404 i_strain_100p = [0, 50, 100, 150, 200] # Indices for += 100% strain. +405 +406 shear_direction = [1, 0, 0] # Used to calculate the angular diagnostics. +407 get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate) +408 +409 # Output setup with optional logging and data series labels. +410 θ_fse = np.empty(n_timestamps) +411 angles = np.empty((3, len(seeds_nearX45), n_timestamps)) +412 point100_symmetry = np.empty_like(angles) +413 optional_logging = cl.nullcontext() +414 if outdir is not None: +415 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dudz_GBS_ensemble" +416 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +417 labels = [] +418 +419 with optional_logging: +420 wall_start = perf_counter() +421 clock_start = process_time() +422 for p, params in enumerate( +423 ( +424 params_Kaminski2004_fig4_circles, # GBS = 0 +425 params_Kaminski2004_fig4_squares, # GBS = 0.2 +426 params_Kaminski2004_fig4_triangles, # GBS = 0.4 +427 ), +428 ): +429 if p == 0: +430 return_fse = True +431 else: +432 return_fse = False +433 +434 _run = ft.partial( +435 self.run, +436 params, +437 timestamps, +438 strain_rate, +439 get_velocity_gradient, +440 shear_direction, +441 log_param="gbs_threshold", +442 use_bingham_average=False, +443 return_fse=return_fse, +444 ) +445 with Pool(processes=ncpus) as pool: +446 for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)): +447 mineral, mean_angles, texture_symmetry, fse_angles = out +448 angles[p, s, :] = mean_angles +449 point100_symmetry[p, s, :] = texture_symmetry +450 if return_fse: +451 θ_fse += fse_angles +452 +453 if return_fse: +454 θ_fse /= len(seeds_nearX45) +455 +456 # Update labels and store the last mineral of the ensemble for polefigs. +457 if outdir is not None: +458 labels.append(f"$f_{{gbs}}$ = {params['gbs_threshold']}") +459 mineral.save( +460 f"{out_basepath}.npz", +461 postfix=f"X{params['gbs_threshold']}", +462 ) +463 +464 _log.info( +465 "elapsed walltime: %s", +466 _utils.readable_timestamp(np.abs(perf_counter() - wall_start)), +467 ) +468 _log.info( +469 "elapsed CPU time: %s", +470 _utils.readable_timestamp(np.abs(process_time() - clock_start)), +471 ) +472 +473 # Take ensemble means and optionally plot figure. +474 strains = timestamps * strain_rate +475 res = self.postprocess_ensemble( +476 strains, +477 angles, +478 point100_symmetry, +479 θ_fse, +480 labels, +481 ("o", "v", "s"), +482 outdir, +483 out_basepath, +484 target_interpolator=self.interp_GBS_Kaminski2004, +485 ) +486 result_angles, result_angles_err, result_point100_symmetry, target_angles = res +487 +488 # Check that FSE is correct. +489 # First, get theoretical FSE axis for simple shear. +490 # We want the angle from the Y axis (shear direction), so subtract from 90. +491 θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains] +492 nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0) +493 +494 # Check point symmetry of [100] at strains of 0%, 100%, 200%, 300% & 400%. +495 nt.assert_allclose( +496 [0.015, 0.52, 0.86, 0.93, 0.94], +497 point100_symmetry[0].take(i_strain_100p), +498 rtol=0, +499 atol=0.015, +500 ) +501 nt.assert_allclose( +502 [0.015, 0.42, 0.71, 0.77, 0.79], +503 point100_symmetry[1].take(i_strain_100p), +504 rtol=0, +505 atol=0.015, +506 ) +507 nt.assert_allclose( +508 [0.015, 0.36, 0.57, 0.6, 0.62], +509 point100_symmetry[2].take(i_strain_100p), +510 rtol=0, +511 atol=0.015, +512 ) +513 +514 # Check that standard deviation decreases or stagnates (0.01 tolerance). +515 # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance). +516 for angles, angles_err in zip(result_angles, result_angles_err): +517 assert np.all(np.diff(angles_err) < 0.01) +518 assert np.all(np.diff(angles[i_strain_100p[1] :]) < 0.01) +519 +520 def test_boundary_mobility(self, seed, outdir): +521 """Test that the grain boundary mobility parameter has an effect.""" +522 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. +523 strain_rate = 1.0 +524 get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate) +525 timestamps = np.linspace(0, 1, 201) # Solve until D₀t=1 ('shear' γ=2). +526 i_strain_50p = 50 # Index of 50% strain. +527 params = _io.DEFAULT_PARAMS +528 gbm_mobilities = (0, 10, 50, 125, 200) # Must be in ascending order. +529 markers = ("x", ".", "*", "d", "s") +530 angles = np.empty((len(gbm_mobilities), len(timestamps))) +531 point100_symmetry = np.empty_like(angles) +532 θ_fse = np.empty_like(angles) +533 minerals = [] +534 +535 optional_logging = cl.nullcontext() +536 if outdir is not None: +537 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility" +538 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +539 labels = [] +540 +541 with optional_logging: +542 for i, M in enumerate(gbm_mobilities): +543 params["gbm_mobility"] = M +544 out = self.run( +545 params, +546 timestamps, +547 strain_rate, +548 get_velocity_gradient, +549 shear_direction, +550 seed=seed, +551 log_param="gbm_mobility", +552 return_fse=True, +553 ) +554 minerals.append(out[0]) +555 angles[i] = out[1] +556 point100_symmetry[i] = out[2] +557 θ_fse[i] = out[3] +558 if outdir is not None: +559 labels.append(f"$M^∗$ = {params['gbm_mobility']}") +560 +561 if outdir is not None: +562 strains = timestamps * strain_rate +563 self.postprocess( +564 strains, +565 angles, +566 point100_symmetry, +567 np.mean(θ_fse, axis=0), +568 labels, +569 markers, +570 outdir, +571 out_basepath, +572 ) +573 +574 # Check that GBM speeds up the alignment. +575 _log.info("checking grain orientations...") +576 halfway = int(len(timestamps) / 2) +577 assert np.all( +578 np.array( +579 [ +580 θ[halfway] - angles[i][halfway] +581 for i, θ in enumerate(angles[:-1], start=1) +582 ] +583 ) +584 > 0 +585 ) +586 assert np.all( +587 np.array( +588 [θ[-1] - angles[i][-1] for i, θ in enumerate(angles[:-1], start=1)] +589 ) +590 > 0 +591 ) +592 # Check that M*=0 doesn't affect grain sizes. +593 _log.info("checking grain sizes...") +594 for i, time in enumerate(timestamps): +595 nt.assert_allclose( +596 minerals[0].fractions[i], +597 np.full(params["number_of_grains"], 1 / params["number_of_grains"]), +598 ) +599 # Check that M*=0 matches FSE past 100% strain. +600 nt.assert_allclose( +601 angles[0][i_strain_50p:], +602 np.mean(θ_fse, axis=0)[i_strain_50p:], +603 atol=1, +604 rtol=0, +605 ) +606 # Check that GBM causes decreasing grain size median. +607 assert np.all( +608 np.array( +609 [ +610 np.median(m.fractions[halfway]) +611 - np.median(minerals[i].fractions[halfway]) +612 for i, m in enumerate(minerals[:-1], start=1) +613 ] +614 ) +615 > 0 +616 ) +617 +618 def test_boudary_sliding(self, seed, outdir): +619 """Test that the grain boundary sliding parameter has an effect.""" +620 strain_rate = 1.0 +621 shear_direction = [1, 0, 0] # Used to calculate the angular diagnostics. +622 get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate) +623 timestamps = np.linspace(0, 2.5, 251) # Solve until D₀t=2.5 ('shear' γ=5). +624 i_strain_200p = 100 # Index of 50% strain. +625 params = _io.DEFAULT_PARAMS +626 gbs_thresholds = (0, 0.2, 0.4, 0.6) # Must be in ascending order. +627 markers = (".", "*", "d", "s") +628 angles = np.empty((len(gbs_thresholds), len(timestamps))) +629 point100_symmetry = np.empty_like(angles) +630 θ_fse = np.empty_like(angles) +631 minerals = [] +632 +633 optional_logging = cl.nullcontext() +634 if outdir is not None: +635 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_sliding" +636 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +637 labels = [] +638 +639 with optional_logging: +640 for i, f in enumerate(gbs_thresholds): +641 params["gbs_threshold"] = f +642 out = self.run( +643 params, +644 timestamps, +645 strain_rate, +646 get_velocity_gradient, +647 shear_direction, +648 seed=seed, +649 log_param="gbs_threshold", +650 return_fse=True, +651 ) +652 minerals.append(out[0]) +653 angles[i] = out[1] +654 point100_symmetry[i] = out[2] +655 θ_fse[i] = out[3] +656 if outdir is not None: +657 labels.append(f"$M^∗$ = {params['gbs_threshold']}") +658 +659 if outdir is not None: +660 strains = timestamps * strain_rate +661 self.postprocess( +662 strains, +663 angles, +664 point100_symmetry, +665 np.mean(θ_fse, axis=0), +666 labels, +667 markers, +668 outdir, +669 out_basepath, +670 ) +671 +672 # Check that GBS sets an upper bound on P_[100]. +673 _log.info("checking degree of [100] point symmetry...") +674 nt.assert_allclose( +675 np.full(len(point100_symmetry[0][i_strain_200p:]), 0.0), +676 point100_symmetry[0][i_strain_200p:] - 0.95, +677 atol=0.05, +678 rtol=0, +679 ) +680 nt.assert_allclose( +681 np.full(len(point100_symmetry[1][i_strain_200p:]), 0.0), +682 point100_symmetry[1][i_strain_200p:] - 0.78, +683 atol=0.05, +684 rtol=0, +685 ) +686 nt.assert_allclose( +687 np.full(len(point100_symmetry[2][i_strain_200p:]), 0.0), +688 point100_symmetry[2][i_strain_200p:] - 0.61, +689 atol=0.05, +690 rtol=0, +691 ) +692 nt.assert_allclose( +693 np.full(len(point100_symmetry[3][i_strain_200p:]), 0.0), +694 point100_symmetry[3][i_strain_200p:] - 0.44, +695 atol=0.055, +696 rtol=0, +697 ) +698 # Check that angles always reach within 5° of the shear direction. +699 _log.info("checking grain orientations...") +700 for θ in angles: +701 nt.assert_allclose( +702 np.full(len(θ[i_strain_200p:]), 0.0), +703 2.5 - θ[i_strain_200p:], +704 atol=2.5, +705 rtol=0, +706 ) +707 +708 @pytest.mark.slow +709 def test_ngrains(self, seed, outdir): +710 """Test that solvers work up to 10000 grains.""" +711 shear_direction = [0, 1, 0] +712 strain_rate = 1.0 +713 get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate) +714 timestamps = np.linspace(0, 1, 201) # Solve until D₀t=1 ('shear' γ=2). +715 params = _io.DEFAULT_PARAMS +716 grain_counts = (100, 1000, 2000, 5000, 10000) +717 +718 optional_logging = cl.nullcontext() +719 if outdir is not None: +720 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_ngrains" +721 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +722 +723 with optional_logging: +724 for i, N in enumerate(grain_counts): +725 params["number_of_grains"] = N +726 self.run( +727 params, +728 timestamps, +729 strain_rate, +730 get_velocity_gradient, +731 shear_direction, +732 seed=seed, +733 log_param="number_of_grains", +734 return_fse=True, +735 ) @@ -1610,70 +1675,72 @@

    67 msg_start = f"X = {params['gbs_threshold']}; " 68 case "gbm_mobility": 69 msg_start = f"M∗ = {params['gbm_mobility']}; " - 70 case _: - 71 msg_start = "" - 72 - 73 if seed is not None: - 74 msg_start += f"# {seed}; " - 75 - 76 _log.info(msg_start + "step %s/%s (t = %s)", t, n_timestamps - 1, time) + 70 case "number_of_grains": + 71 msg_start = f"N = {params['number_of_grains']}; " + 72 case _: + 73 msg_start = "" + 74 + 75 if seed is not None: + 76 msg_start += f"# {seed}; " 77 - 78 deformation_gradient = mineral.update_orientations( - 79 params, - 80 deformation_gradient, - 81 get_velocity_gradient, - 82 pathline=(time, timestamps[t], cls.get_position), - 83 ) - 84 _log.debug( - 85 "› velocity gradient = %s", - 86 get_velocity_gradient(None).flatten(), - 87 ) - 88 _log.debug("› strain D₀t = %.2f", strain_rate * timestamps[t]) - 89 _log.debug( - 90 "› grain fractions: median = %s, max = %s, min = %s", - 91 np.median(mineral.fractions[-1]), - 92 np.max(mineral.fractions[-1]), - 93 np.min(mineral.fractions[-1]), - 94 ) - 95 if return_fse: - 96 _, fse_v = _diagnostics.finite_strain(deformation_gradient) - 97 θ_fse[t] = _diagnostics.smallest_angle(fse_v, shear_direction) - 98 - 99 # Compute texture diagnostics. -100 texture_symmetry = np.zeros(n_timestamps) -101 if use_bingham_average: -102 mean_angles = np.zeros(n_timestamps) -103 for idx, matrices in enumerate(mineral.orientations): -104 orientations_resampled, _ = _stats.resample_orientations( -105 matrices, mineral.fractions[idx], seed=seed -106 ) -107 if use_bingham_average: -108 direction_mean = _diagnostics.bingham_average( -109 orientations_resampled, -110 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], -111 ) -112 mean_angles[idx] = _diagnostics.smallest_angle( -113 direction_mean, shear_direction -114 ) -115 texture_symmetry[idx] = _diagnostics.symmetry( -116 orientations_resampled, -117 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], -118 )[0] -119 -120 if not use_bingham_average: -121 # Use SCCS axis (hexagonal symmetry) for the angle instead (opt). -122 mean_angles = np.array( -123 [ -124 _diagnostics.smallest_angle( -125 _diagnostics.anisotropy(v)[1][2, :], shear_direction -126 ) -127 for v in _minerals.voigt_averages([mineral], params) -128 ] -129 ) -130 -131 if return_fse: -132 return mineral, mean_angles, texture_symmetry, θ_fse -133 return mineral, mean_angles, texture_symmetry, None + 78 _log.info(msg_start + "step %s/%s (t = %s)", t, n_timestamps - 1, time) + 79 + 80 deformation_gradient = mineral.update_orientations( + 81 params, + 82 deformation_gradient, + 83 get_velocity_gradient, + 84 pathline=(time, timestamps[t], cls.get_position), + 85 ) + 86 _log.debug( + 87 "› velocity gradient = %s", + 88 get_velocity_gradient(None).flatten(), + 89 ) + 90 _log.debug("› strain D₀t = %.2f", strain_rate * timestamps[t]) + 91 _log.debug( + 92 "› grain fractions: median = %s, max = %s, min = %s", + 93 np.median(mineral.fractions[-1]), + 94 np.max(mineral.fractions[-1]), + 95 np.min(mineral.fractions[-1]), + 96 ) + 97 if return_fse: + 98 _, fse_v = _diagnostics.finite_strain(deformation_gradient) + 99 θ_fse[t] = _diagnostics.smallest_angle(fse_v, shear_direction) +100 +101 # Compute texture diagnostics. +102 texture_symmetry = np.zeros(n_timestamps) +103 if use_bingham_average: +104 mean_angles = np.zeros(n_timestamps) +105 for idx, matrices in enumerate(mineral.orientations): +106 orientations_resampled, _ = _stats.resample_orientations( +107 matrices, mineral.fractions[idx], seed=seed +108 ) +109 if use_bingham_average: +110 direction_mean = _diagnostics.bingham_average( +111 orientations_resampled, +112 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], +113 ) +114 mean_angles[idx] = _diagnostics.smallest_angle( +115 direction_mean, shear_direction +116 ) +117 texture_symmetry[idx] = _diagnostics.symmetry( +118 orientations_resampled, +119 axis=_minerals.OLIVINE_PRIMARY_AXIS[mineral.fabric], +120 )[0] +121 +122 if not use_bingham_average: +123 # Use SCCS axis (hexagonal symmetry) for the angle instead (opt). +124 mean_angles = np.array( +125 [ +126 _diagnostics.smallest_angle( +127 _diagnostics.anisotropy(v)[1][2, :], shear_direction +128 ) +129 for v in _minerals.voigt_averages([mineral], params) +130 ] +131 ) +132 +133 if return_fse: +134 return mineral, mean_angles, texture_symmetry, θ_fse +135 return mineral, mean_angles, texture_symmetry, None @@ -1698,62 +1765,62 @@

    -
    135    @classmethod
    -136    def postprocess(
    -137        cls,
    -138        strains,
    -139        angles,
    -140        point100_symmetry,
    -141        θ_fse,
    -142        labels,
    -143        markers,
    -144        outdir,
    -145        out_basepath,
    -146        target_interpolator=None,
    -147    ):
    -148        """Reusable postprocessing routine for olivine 2D simple shear simulations."""
    -149        _log.info("postprocessing results...")
    -150        if target_interpolator is not None:
    -151            result_angles = angles.mean(axis=1)
    -152            result_angles_err = angles.std(axis=1)
    -153            result_point100_symmetry = point100_symmetry.mean(axis=1)
    -154            target_angles = target_interpolator(strains)
    -155        else:
    -156            result_angles = angles
    -157            result_angles_err = None
    -158            result_point100_symmetry = point100_symmetry
    -159            target_angles = None
    -160
    -161        if outdir is not None:
    -162            schema = {
    -163                "delimiter": ",",
    -164                "missing": "-",
    -165                "fields": [
    -166                    {
    -167                        "name": "strain",
    -168                        "type": "integer",
    -169                        "unit": "percent",
    -170                        "fill": 999999,
    -171                    }
    -172                ],
    -173            }
    -174            _io.save_scsv(
    -175                f"{out_basepath}_strains.scsv",
    -176                schema,
    -177                [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    -178            )
    -179            _vis.simple_shear_stationary_2d(
    -180                strains,
    -181                result_angles,
    -182                result_point100_symmetry,
    -183                target_angles=target_angles,
    -184                angles_err=result_angles_err,
    -185                savefile=f"{out_basepath}.png",
    -186                markers=markers,
    -187                θ_fse=θ_fse,
    -188                labels=labels,
    -189            )
    -190        return result_angles, result_angles_err, result_point100_symmetry, target_angles
    +            
    137    @classmethod
    +138    def postprocess(
    +139        cls,
    +140        strains,
    +141        angles,
    +142        point100_symmetry,
    +143        θ_fse,
    +144        labels,
    +145        markers,
    +146        outdir,
    +147        out_basepath,
    +148        target_interpolator=None,
    +149    ):
    +150        """Reusable postprocessing routine for olivine 2D simple shear simulations."""
    +151        _log.info("postprocessing results...")
    +152        if target_interpolator is not None:
    +153            result_angles = angles.mean(axis=1)
    +154            result_angles_err = angles.std(axis=1)
    +155            result_point100_symmetry = point100_symmetry.mean(axis=1)
    +156            target_angles = target_interpolator(strains)
    +157        else:
    +158            result_angles = angles
    +159            result_angles_err = None
    +160            result_point100_symmetry = point100_symmetry
    +161            target_angles = None
    +162
    +163        if outdir is not None:
    +164            schema = {
    +165                "delimiter": ",",
    +166                "missing": "-",
    +167                "fields": [
    +168                    {
    +169                        "name": "strain",
    +170                        "type": "integer",
    +171                        "unit": "percent",
    +172                        "fill": 999999,
    +173                    }
    +174                ],
    +175            }
    +176            _io.save_scsv(
    +177                f"{out_basepath}_strains.scsv",
    +178                schema,
    +179                [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    +180            )
    +181            _vis.simple_shear_stationary_2d(
    +182                strains,
    +183                result_angles,
    +184                result_point100_symmetry,
    +185                target_angles=target_angles,
    +186                angles_err=result_angles_err,
    +187                savefile=f"{out_basepath}.png",
    +188                markers=markers,
    +189                θ_fse=θ_fse,
    +190                labels=labels,
    +191            )
    +192        return result_angles, result_angles_err, result_point100_symmetry, target_angles
     
    @@ -1774,24 +1841,24 @@

    -
    192    @classmethod
    -193    def interp_GBM_Kaminski2001(cls, strains):
    -194        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    -195        _log.info("interpolating target CPO angles...")
    -196        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv")
    -197        cs_M0 = PchipInterpolator(
    -198            _utils.remove_nans(data.equivalent_strain_M0) / 200,
    -199            _utils.remove_nans(data.angle_M0),
    -200        )
    -201        cs_M50 = PchipInterpolator(
    -202            _utils.remove_nans(data.equivalent_strain_M50) / 200,
    -203            _utils.remove_nans(data.angle_M50),
    -204        )
    -205        cs_M200 = PchipInterpolator(
    -206            _utils.remove_nans(data.equivalent_strain_M200) / 200,
    -207            _utils.remove_nans(data.angle_M200),
    -208        )
    -209        return [cs_M0(strains), cs_M50(strains), cs_M200(strains)]
    +            
    194    @classmethod
    +195    def interp_GBM_Kaminski2001(cls, strains):
    +196        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    +197        _log.info("interpolating target CPO angles...")
    +198        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv")
    +199        cs_M0 = PchipInterpolator(
    +200            _utils.remove_nans(data.equivalent_strain_M0) / 200,
    +201            _utils.remove_nans(data.angle_M0),
    +202        )
    +203        cs_M50 = PchipInterpolator(
    +204            _utils.remove_nans(data.equivalent_strain_M50) / 200,
    +205            _utils.remove_nans(data.angle_M50),
    +206        )
    +207        cs_M200 = PchipInterpolator(
    +208            _utils.remove_nans(data.equivalent_strain_M200) / 200,
    +209            _utils.remove_nans(data.angle_M200),
    +210        )
    +211        return [cs_M0(strains), cs_M50(strains), cs_M200(strains)]
     
    @@ -1812,24 +1879,24 @@

    -
    211    @classmethod
    -212    def interp_GBS_Kaminski2004(cls, strains):
    -213        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    -214        _log.info("interpolating target CPO angles...")
    -215        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv")
    -216        cs_X0 = PchipInterpolator(
    -217            _utils.remove_nans(data.dimensionless_time_X0),
    -218            45 + _utils.remove_nans(data.angle_X0),
    -219        )
    -220        cs_X0d2 = PchipInterpolator(
    -221            _utils.remove_nans(data.dimensionless_time_X0d2),
    -222            45 + _utils.remove_nans(data.angle_X0d2),
    -223        )
    -224        cs_X0d4 = PchipInterpolator(
    -225            _utils.remove_nans(data.dimensionless_time_X0d4),
    -226            45 + _utils.remove_nans(data.angle_X0d4),
    -227        )
    -228        return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)]
    +            
    213    @classmethod
    +214    def interp_GBS_Kaminski2004(cls, strains):
    +215        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    +216        _log.info("interpolating target CPO angles...")
    +217        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv")
    +218        cs_X0 = PchipInterpolator(
    +219            _utils.remove_nans(data.dimensionless_time_X0),
    +220            45 + _utils.remove_nans(data.angle_X0),
    +221        )
    +222        cs_X0d2 = PchipInterpolator(
    +223            _utils.remove_nans(data.dimensionless_time_X0d2),
    +224            45 + _utils.remove_nans(data.angle_X0d2),
    +225        )
    +226        cs_X0d4 = PchipInterpolator(
    +227            _utils.remove_nans(data.dimensionless_time_X0d4),
    +228            45 + _utils.remove_nans(data.angle_X0d4),
    +229        )
    +230        return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)]
     
    @@ -1850,158 +1917,158 @@

    -
    230    @pytest.mark.slow
    -231    def test_dvdx_GBM_ensemble(
    -232        self,
    -233        params_Kaminski2001_fig5_solid,  # GBM = 0
    -234        params_Kaminski2001_fig5_shortdash,  # GBM = 50
    -235        params_Kaminski2001_fig5_longdash,  # GBM = 200
    -236        seeds_nearX45,  # Use `seeds` if you have lots of RAM and patience (or cores)
    -237        outdir,
    -238        ncpus,
    -239    ):
    -240        r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X).
    -241
    -242        Velocity gradient:
    -243        $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$
    -244
    -245        Tests the effect of grain boundary migration, similar to Fig. 5 in
    -246        [Kaminski 2001](https://doi.org/10.1016%2Fs0012-821x%2801%2900356-9).
    -247
    -248        """
    -249        strain_rate = 5e-6  # Strain rate from Fraters & Billen, 2021, fig. 3.
    -250        timestamps = np.linspace(0, 2e5, 201)  # Solve until D₀t=1 ('shear' γ=2).
    -251        n_timestamps = len(timestamps)
    -252        i_strain_50p = [0, 50, 100, 150, 200]  # Indices for += 50% strain.
    -253
    -254        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    -255        get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate)
    -256
    -257        # Output setup with optional logging and data series labels.
    -258        θ_fse = np.empty(n_timestamps)
    -259        angles = np.empty((3, len(seeds_nearX45), n_timestamps))
    -260        point100_symmetry = np.empty_like(angles)
    -261        optional_logging = cl.nullcontext()
    -262        if outdir is not None:
    -263            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_GBM_ensemble"
    -264            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    -265            labels = []
    -266
    -267        with optional_logging:
    -268            wall_start = perf_counter()
    -269            clock_start = process_time()
    -270            for p, params in enumerate(
    -271                (
    -272                    params_Kaminski2001_fig5_solid,  # GBM = 0
    -273                    params_Kaminski2001_fig5_shortdash,  # GBM = 50
    -274                    params_Kaminski2001_fig5_longdash,  # GBM = 200
    -275                ),
    -276            ):
    -277                if p == 0:
    -278                    return_fse = True
    -279                else:
    -280                    return_fse = False
    -281
    -282                _run = ft.partial(
    -283                    self.run,
    -284                    params,
    -285                    timestamps,
    -286                    strain_rate,
    -287                    get_velocity_gradient,
    -288                    shear_direction,
    -289                    log_param="gbm_mobility",
    -290                    use_bingham_average=False,
    -291                    return_fse=return_fse,
    -292                )
    -293                with Pool(processes=ncpus) as pool:
    -294                    for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)):
    -295                        mineral, mean_angles, texture_symmetry, fse_angles = out
    -296                        angles[p, s, :] = mean_angles
    -297                        point100_symmetry[p, s, :] = texture_symmetry
    -298                        if return_fse:
    -299                            θ_fse += fse_angles
    -300
    -301                if return_fse:
    -302                    θ_fse /= len(seeds_nearX45)
    -303
    -304                # Update labels and store the last mineral of the ensemble for polefigs.
    -305                if outdir is not None:
    -306                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    -307                    mineral.save(
    -308                        f"{out_basepath}.npz",
    -309                        postfix=f"M{params['gbm_mobility']}",
    -310                    )
    -311
    -312            _log.info(
    -313                "elapsed walltime: %s",
    -314                _utils.readable_timestamp(np.abs(perf_counter() - wall_start)),
    -315            )
    -316            _log.info(
    -317                "elapsed CPU time: %s",
    -318                _utils.readable_timestamp(np.abs(process_time() - clock_start)),
    -319            )
    -320
    -321        # Take ensemble means and optionally plot figure.
    -322        strains = timestamps * strain_rate
    -323        res = self.postprocess(
    -324            strains,
    -325            angles,
    -326            point100_symmetry,
    -327            θ_fse,
    -328            labels,
    -329            ("o", "v", "s"),
    -330            outdir,
    -331            out_basepath,
    -332            target_interpolator=self.interp_GBM_Kaminski2001,
    -333        )
    -334        result_angles, result_angles_err, result_point100_symmetry, target_angles = res
    -335
    -336        # Check that FSE is correct.
    -337        # First, get theoretical FSE axis for simple shear.
    -338        # We want the angle from the Y axis (shear direction), so subtract from 90.
    -339        θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains]
    -340        nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0)
    -341
    -342        # Check that M*=0 angles match FSE, ignoring the first portion (<100% strain).
    -343        # Average orientations of near-isotropic distributions are unstable.
    -344        nt.assert_allclose(
    -345            θ_fse[i_strain_50p[2] :],
    -346            result_angles[0][i_strain_50p[2] :],
    -347            rtol=0.11,
    -348            atol=0,
    -349        )
    -350        # Check that M*=0 matches target angles for strain > 100%.
    -351        nt.assert_allclose(
    -352            target_angles[0][i_strain_50p[2]],
    -353            result_angles[0][i_strain_50p[2]],
    -354            atol=1,
    -355            rtol=0,
    -356        )
    -357        # Check that standard deviation decreases or stagnates (0.01 tolerance).
    -358        # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance).
    -359        for angles, angles_err in zip(result_angles, result_angles_err):
    -360            assert np.all(np.diff(angles_err) < 0.01)
    -361            assert np.all(np.diff(angles[i_strain_50p[1] :]) < 0.01)
    -362
    -363        # Check point symmetry of [100] at strains of 0%, 50%, 100%, 150% & 200%.
    -364        nt.assert_allclose(
    -365            [0.015, 0.11, 0.19, 0.27, 0.34],
    -366            result_point100_symmetry[0].take(i_strain_50p),
    -367            rtol=0,
    -368            atol=0.015,
    -369        )
    -370        nt.assert_allclose(
    -371            [0.015, 0.15, 0.33, 0.57, 0.72],
    -372            result_point100_symmetry[1].take(i_strain_50p),
    -373            rtol=0,
    -374            atol=0.015,
    -375        )
    -376        nt.assert_allclose(
    -377            [0.015, 0.22, 0.64, 0.86, 0.91],
    -378            result_point100_symmetry[2].take(i_strain_50p),
    -379            rtol=0,
    -380            atol=0.015,
    -381        )
    +            
    232    @pytest.mark.slow
    +233    def test_dvdx_GBM_ensemble(
    +234        self,
    +235        params_Kaminski2001_fig5_solid,  # GBM = 0
    +236        params_Kaminski2001_fig5_shortdash,  # GBM = 50
    +237        params_Kaminski2001_fig5_longdash,  # GBM = 200
    +238        seeds_nearX45,  # Use `seeds` if you have lots of RAM and patience (or cores)
    +239        outdir,
    +240        ncpus,
    +241    ):
    +242        r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X).
    +243
    +244        Velocity gradient:
    +245        $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$
    +246
    +247        Tests the effect of grain boundary migration, similar to Fig. 5 in
    +248        [Kaminski 2001](https://doi.org/10.1016%2Fs0012-821x%2801%2900356-9).
    +249
    +250        """
    +251        strain_rate = 5e-6  # Strain rate from Fraters & Billen, 2021, fig. 3.
    +252        timestamps = np.linspace(0, 2e5, 201)  # Solve until D₀t=1 ('shear' γ=2).
    +253        n_timestamps = len(timestamps)
    +254        i_strain_50p = [0, 50, 100, 150, 200]  # Indices for += 50% strain.
    +255
    +256        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    +257        get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate)
    +258
    +259        # Output setup with optional logging and data series labels.
    +260        θ_fse = np.empty(n_timestamps)
    +261        angles = np.empty((3, len(seeds_nearX45), n_timestamps))
    +262        point100_symmetry = np.empty_like(angles)
    +263        optional_logging = cl.nullcontext()
    +264        if outdir is not None:
    +265            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_GBM_ensemble"
    +266            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +267            labels = []
    +268
    +269        with optional_logging:
    +270            wall_start = perf_counter()
    +271            clock_start = process_time()
    +272            for p, params in enumerate(
    +273                (
    +274                    params_Kaminski2001_fig5_solid,  # GBM = 0
    +275                    params_Kaminski2001_fig5_shortdash,  # GBM = 50
    +276                    params_Kaminski2001_fig5_longdash,  # GBM = 200
    +277                ),
    +278            ):
    +279                if p == 0:
    +280                    return_fse = True
    +281                else:
    +282                    return_fse = False
    +283
    +284                _run = ft.partial(
    +285                    self.run,
    +286                    params,
    +287                    timestamps,
    +288                    strain_rate,
    +289                    get_velocity_gradient,
    +290                    shear_direction,
    +291                    log_param="gbm_mobility",
    +292                    use_bingham_average=False,
    +293                    return_fse=return_fse,
    +294                )
    +295                with Pool(processes=ncpus) as pool:
    +296                    for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)):
    +297                        mineral, mean_angles, texture_symmetry, fse_angles = out
    +298                        angles[p, s, :] = mean_angles
    +299                        point100_symmetry[p, s, :] = texture_symmetry
    +300                        if return_fse:
    +301                            θ_fse += fse_angles
    +302
    +303                if return_fse:
    +304                    θ_fse /= len(seeds_nearX45)
    +305
    +306                # Update labels and store the last mineral of the ensemble for polefigs.
    +307                if outdir is not None:
    +308                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    +309                    mineral.save(
    +310                        f"{out_basepath}.npz",
    +311                        postfix=f"M{params['gbm_mobility']}",
    +312                    )
    +313
    +314            _log.info(
    +315                "elapsed walltime: %s",
    +316                _utils.readable_timestamp(np.abs(perf_counter() - wall_start)),
    +317            )
    +318            _log.info(
    +319                "elapsed CPU time: %s",
    +320                _utils.readable_timestamp(np.abs(process_time() - clock_start)),
    +321            )
    +322
    +323        # Take ensemble means and optionally plot figure.
    +324        strains = timestamps * strain_rate
    +325        res = self.postprocess(
    +326            strains,
    +327            angles,
    +328            point100_symmetry,
    +329            θ_fse,
    +330            labels,
    +331            ("o", "v", "s"),
    +332            outdir,
    +333            out_basepath,
    +334            target_interpolator=self.interp_GBM_Kaminski2001,
    +335        )
    +336        result_angles, result_angles_err, result_point100_symmetry, target_angles = res
    +337
    +338        # Check that FSE is correct.
    +339        # First, get theoretical FSE axis for simple shear.
    +340        # We want the angle from the Y axis (shear direction), so subtract from 90.
    +341        θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains]
    +342        nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0)
    +343
    +344        # Check that M*=0 angles match FSE, ignoring the first portion (<100% strain).
    +345        # Average orientations of near-isotropic distributions are unstable.
    +346        nt.assert_allclose(
    +347            θ_fse[i_strain_50p[2] :],
    +348            result_angles[0][i_strain_50p[2] :],
    +349            rtol=0.11,
    +350            atol=0,
    +351        )
    +352        # Check that M*=0 matches target angles for strain > 100%.
    +353        nt.assert_allclose(
    +354            target_angles[0][i_strain_50p[2]],
    +355            result_angles[0][i_strain_50p[2]],
    +356            atol=1,
    +357            rtol=0,
    +358        )
    +359        # Check that standard deviation decreases or stagnates (0.01 tolerance).
    +360        # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance).
    +361        for angles, angles_err in zip(result_angles, result_angles_err):
    +362            assert np.all(np.diff(angles_err) < 0.01)
    +363            assert np.all(np.diff(angles[i_strain_50p[1] :]) < 0.01)
    +364
    +365        # Check point symmetry of [100] at strains of 0%, 50%, 100%, 150% & 200%.
    +366        nt.assert_allclose(
    +367            [0.015, 0.11, 0.19, 0.27, 0.34],
    +368            result_point100_symmetry[0].take(i_strain_50p),
    +369            rtol=0,
    +370            atol=0.015,
    +371        )
    +372        nt.assert_allclose(
    +373            [0.015, 0.15, 0.33, 0.57, 0.72],
    +374            result_point100_symmetry[1].take(i_strain_50p),
    +375            rtol=0,
    +376            atol=0.015,
    +377        )
    +378        nt.assert_allclose(
    +379            [0.015, 0.22, 0.64, 0.86, 0.91],
    +380            result_point100_symmetry[2].take(i_strain_50p),
    +381            rtol=0,
    +382            atol=0.015,
    +383        )
     
    @@ -2028,140 +2095,140 @@

    -
    383    @pytest.mark.slow
    -384    def test_dudz_GBS_ensemble(
    -385        self,
    -386        params_Kaminski2004_fig4_circles,  # GBS = 0
    -387        params_Kaminski2004_fig4_squares,  # GBS = 0.2
    -388        params_Kaminski2004_fig4_triangles,  # GBS = 0.4
    -389        seeds_nearX45,  # Use `seeds` if you have lots of RAM and patience (or cores)
    -390        outdir,
    -391        ncpus,
    -392    ):
    -393        r"""Test a-axis alignment to shear in X direction (init. SCCS near 45° from X).
    -394
    -395        Velocity gradient:
    -396        $$\bm{L} = \begin{bmatrix} 0 & 0 & 2 \cr 0 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$
    -397
    -398        """
    -399        strain_rate = 5e-6  # Strain rate from Fraters & Billen, 2021, fig. 3.
    -400        timestamps = np.linspace(0, 5e5, 251)  # Solve until D₀t=2.5 ('shear' γ=5).
    -401        n_timestamps = len(timestamps)
    -402        i_strain_100p = [0, 50, 100, 150, 200]  # Indices for += 100% strain.
    -403
    -404        shear_direction = [1, 0, 0]  # Used to calculate the angular diagnostics.
    -405        get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate)
    -406
    -407        # Output setup with optional logging and data series labels.
    -408        θ_fse = np.empty(n_timestamps)
    -409        angles = np.empty((3, len(seeds_nearX45), n_timestamps))
    -410        point100_symmetry = np.empty_like(angles)
    -411        optional_logging = cl.nullcontext()
    -412        if outdir is not None:
    -413            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dudz_GBS_ensemble"
    -414            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    -415            labels = []
    -416
    -417        with optional_logging:
    -418            wall_start = perf_counter()
    -419            clock_start = process_time()
    -420            for p, params in enumerate(
    -421                (
    -422                    params_Kaminski2004_fig4_circles,  # GBS = 0
    -423                    params_Kaminski2004_fig4_squares,  # GBS = 0.2
    -424                    params_Kaminski2004_fig4_triangles,  # GBS = 0.4
    -425                ),
    -426            ):
    -427                if p == 0:
    -428                    return_fse = True
    -429                else:
    -430                    return_fse = False
    -431
    -432                _run = ft.partial(
    -433                    self.run,
    -434                    params,
    -435                    timestamps,
    -436                    strain_rate,
    -437                    get_velocity_gradient,
    -438                    shear_direction,
    -439                    log_param="gbs_threshold",
    -440                    use_bingham_average=False,
    -441                    return_fse=return_fse,
    -442                )
    -443                with Pool(processes=ncpus) as pool:
    -444                    for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)):
    -445                        mineral, mean_angles, texture_symmetry, fse_angles = out
    -446                        angles[p, s, :] = mean_angles
    -447                        point100_symmetry[p, s, :] = texture_symmetry
    -448                        if return_fse:
    -449                            θ_fse += fse_angles
    -450
    -451                if return_fse:
    -452                    θ_fse /= len(seeds_nearX45)
    -453
    -454                # Update labels and store the last mineral of the ensemble for polefigs.
    -455                if outdir is not None:
    -456                    labels.append(f"$f_{{gbs}}$ = {params['gbs_threshold']}")
    -457                    mineral.save(
    -458                        f"{out_basepath}.npz",
    -459                        postfix=f"X{params['gbs_threshold']}",
    -460                    )
    -461
    -462            _log.info(
    -463                "elapsed walltime: %s",
    -464                _utils.readable_timestamp(np.abs(perf_counter() - wall_start)),
    -465            )
    -466            _log.info(
    -467                "elapsed CPU time: %s",
    -468                _utils.readable_timestamp(np.abs(process_time() - clock_start)),
    -469            )
    -470
    -471        # Take ensemble means and optionally plot figure.
    -472        strains = timestamps * strain_rate
    -473        res = self.postprocess_ensemble(
    -474            strains,
    -475            angles,
    -476            point100_symmetry,
    -477            θ_fse,
    -478            labels,
    -479            ("o", "v", "s"),
    -480            outdir,
    -481            out_basepath,
    -482            target_interpolator=self.interp_GBS_Kaminski2004,
    -483        )
    -484        result_angles, result_angles_err, result_point100_symmetry, target_angles = res
    -485
    -486        # Check that FSE is correct.
    -487        # First, get theoretical FSE axis for simple shear.
    -488        # We want the angle from the Y axis (shear direction), so subtract from 90.
    -489        θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains]
    -490        nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0)
    -491
    -492        # Check point symmetry of [100] at strains of 0%, 100%, 200%, 300% & 400%.
    -493        nt.assert_allclose(
    -494            [0.015, 0.52, 0.86, 0.93, 0.94],
    -495            point100_symmetry[0].take(i_strain_100p),
    -496            rtol=0,
    -497            atol=0.015,
    -498        )
    -499        nt.assert_allclose(
    -500            [0.015, 0.42, 0.71, 0.77, 0.79],
    -501            point100_symmetry[1].take(i_strain_100p),
    -502            rtol=0,
    -503            atol=0.015,
    -504        )
    -505        nt.assert_allclose(
    -506            [0.015, 0.36, 0.57, 0.6, 0.62],
    -507            point100_symmetry[2].take(i_strain_100p),
    -508            rtol=0,
    -509            atol=0.015,
    -510        )
    -511
    -512        # Check that standard deviation decreases or stagnates (0.01 tolerance).
    -513        # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance).
    -514        for angles, angles_err in zip(result_angles, result_angles_err):
    -515            assert np.all(np.diff(angles_err) < 0.01)
    -516            assert np.all(np.diff(angles[i_strain_100p[1] :]) < 0.01)
    +            
    385    @pytest.mark.slow
    +386    def test_dudz_GBS_ensemble(
    +387        self,
    +388        params_Kaminski2004_fig4_circles,  # GBS = 0
    +389        params_Kaminski2004_fig4_squares,  # GBS = 0.2
    +390        params_Kaminski2004_fig4_triangles,  # GBS = 0.4
    +391        seeds_nearX45,  # Use `seeds` if you have lots of RAM and patience (or cores)
    +392        outdir,
    +393        ncpus,
    +394    ):
    +395        r"""Test a-axis alignment to shear in X direction (init. SCCS near 45° from X).
    +396
    +397        Velocity gradient:
    +398        $$\bm{L} = \begin{bmatrix} 0 & 0 & 2 \cr 0 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$
    +399
    +400        """
    +401        strain_rate = 5e-6  # Strain rate from Fraters & Billen, 2021, fig. 3.
    +402        timestamps = np.linspace(0, 5e5, 251)  # Solve until D₀t=2.5 ('shear' γ=5).
    +403        n_timestamps = len(timestamps)
    +404        i_strain_100p = [0, 50, 100, 150, 200]  # Indices for += 100% strain.
    +405
    +406        shear_direction = [1, 0, 0]  # Used to calculate the angular diagnostics.
    +407        get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate)
    +408
    +409        # Output setup with optional logging and data series labels.
    +410        θ_fse = np.empty(n_timestamps)
    +411        angles = np.empty((3, len(seeds_nearX45), n_timestamps))
    +412        point100_symmetry = np.empty_like(angles)
    +413        optional_logging = cl.nullcontext()
    +414        if outdir is not None:
    +415            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dudz_GBS_ensemble"
    +416            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +417            labels = []
    +418
    +419        with optional_logging:
    +420            wall_start = perf_counter()
    +421            clock_start = process_time()
    +422            for p, params in enumerate(
    +423                (
    +424                    params_Kaminski2004_fig4_circles,  # GBS = 0
    +425                    params_Kaminski2004_fig4_squares,  # GBS = 0.2
    +426                    params_Kaminski2004_fig4_triangles,  # GBS = 0.4
    +427                ),
    +428            ):
    +429                if p == 0:
    +430                    return_fse = True
    +431                else:
    +432                    return_fse = False
    +433
    +434                _run = ft.partial(
    +435                    self.run,
    +436                    params,
    +437                    timestamps,
    +438                    strain_rate,
    +439                    get_velocity_gradient,
    +440                    shear_direction,
    +441                    log_param="gbs_threshold",
    +442                    use_bingham_average=False,
    +443                    return_fse=return_fse,
    +444                )
    +445                with Pool(processes=ncpus) as pool:
    +446                    for s, out in enumerate(pool.imap_unordered(_run, seeds_nearX45)):
    +447                        mineral, mean_angles, texture_symmetry, fse_angles = out
    +448                        angles[p, s, :] = mean_angles
    +449                        point100_symmetry[p, s, :] = texture_symmetry
    +450                        if return_fse:
    +451                            θ_fse += fse_angles
    +452
    +453                if return_fse:
    +454                    θ_fse /= len(seeds_nearX45)
    +455
    +456                # Update labels and store the last mineral of the ensemble for polefigs.
    +457                if outdir is not None:
    +458                    labels.append(f"$f_{{gbs}}$ = {params['gbs_threshold']}")
    +459                    mineral.save(
    +460                        f"{out_basepath}.npz",
    +461                        postfix=f"X{params['gbs_threshold']}",
    +462                    )
    +463
    +464            _log.info(
    +465                "elapsed walltime: %s",
    +466                _utils.readable_timestamp(np.abs(perf_counter() - wall_start)),
    +467            )
    +468            _log.info(
    +469                "elapsed CPU time: %s",
    +470                _utils.readable_timestamp(np.abs(process_time() - clock_start)),
    +471            )
    +472
    +473        # Take ensemble means and optionally plot figure.
    +474        strains = timestamps * strain_rate
    +475        res = self.postprocess_ensemble(
    +476            strains,
    +477            angles,
    +478            point100_symmetry,
    +479            θ_fse,
    +480            labels,
    +481            ("o", "v", "s"),
    +482            outdir,
    +483            out_basepath,
    +484            target_interpolator=self.interp_GBS_Kaminski2004,
    +485        )
    +486        result_angles, result_angles_err, result_point100_symmetry, target_angles = res
    +487
    +488        # Check that FSE is correct.
    +489        # First, get theoretical FSE axis for simple shear.
    +490        # We want the angle from the Y axis (shear direction), so subtract from 90.
    +491        θ_fse_eq = [90 - _utils.angle_fse_simpleshear(strain) for strain in strains]
    +492        nt.assert_allclose(θ_fse, θ_fse_eq, rtol=1e-7, atol=0)
    +493
    +494        # Check point symmetry of [100] at strains of 0%, 100%, 200%, 300% & 400%.
    +495        nt.assert_allclose(
    +496            [0.015, 0.52, 0.86, 0.93, 0.94],
    +497            point100_symmetry[0].take(i_strain_100p),
    +498            rtol=0,
    +499            atol=0.015,
    +500        )
    +501        nt.assert_allclose(
    +502            [0.015, 0.42, 0.71, 0.77, 0.79],
    +503            point100_symmetry[1].take(i_strain_100p),
    +504            rtol=0,
    +505            atol=0.015,
    +506        )
    +507        nt.assert_allclose(
    +508            [0.015, 0.36, 0.57, 0.6, 0.62],
    +509            point100_symmetry[2].take(i_strain_100p),
    +510            rtol=0,
    +511            atol=0.015,
    +512        )
    +513
    +514        # Check that standard deviation decreases or stagnates (0.01 tolerance).
    +515        # Check for smooth decrease or stagnation in ensemble average (0.01 tolerance).
    +516        for angles, angles_err in zip(result_angles, result_angles_err):
    +517            assert np.all(np.diff(angles_err) < 0.01)
    +518            assert np.all(np.diff(angles[i_strain_100p[1] :]) < 0.01)
     
    @@ -2184,103 +2251,103 @@

    -
    518    def test_boundary_mobility(self, seed, outdir):
    -519        """Test that the grain boundary mobility parameter has an effect."""
    -520        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    -521        strain_rate = 1.0
    -522        get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate)
    -523        timestamps = np.linspace(0, 1, 201)  # Solve until D₀t=1 ('shear' γ=2).
    -524        i_strain_50p = 50  # Index of 50% strain.
    -525        params = _io.DEFAULT_PARAMS
    -526        gbm_mobilities = (0, 10, 50, 125, 200)  # Must be in ascending order.
    -527        markers = ("x", ".", "*", "d", "s")
    -528        angles = np.empty((len(gbm_mobilities), len(timestamps)))
    -529        point100_symmetry = np.empty_like(angles)
    -530        θ_fse = np.empty_like(angles)
    -531        minerals = []
    -532
    -533        optional_logging = cl.nullcontext()
    -534        if outdir is not None:
    -535            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility"
    -536            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    -537            labels = []
    -538
    -539        with optional_logging:
    -540            for i, M in enumerate(gbm_mobilities):
    -541                params["gbm_mobility"] = M
    -542                out = self.run(
    -543                    params,
    -544                    timestamps,
    -545                    strain_rate,
    -546                    get_velocity_gradient,
    -547                    shear_direction,
    -548                    seed=seed,
    -549                    log_param="gbm_mobility",
    -550                    return_fse=True,
    -551                )
    -552                minerals.append(out[0])
    -553                angles[i] = out[1]
    -554                point100_symmetry[i] = out[2]
    -555                θ_fse[i] = out[3]
    -556                if outdir is not None:
    -557                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    -558
    -559        if outdir is not None:
    -560            strains = timestamps * strain_rate
    -561            self.postprocess(
    -562                strains,
    -563                angles,
    -564                point100_symmetry,
    -565                np.mean(θ_fse, axis=0),
    -566                labels,
    -567                markers,
    -568                outdir,
    -569                out_basepath,
    -570            )
    -571
    -572        # Check that GBM speeds up the alignment.
    -573        _log.info("checking grain orientations...")
    -574        halfway = int(len(timestamps) / 2)
    -575        assert np.all(
    -576            np.array(
    -577                [
    -578                    θ[halfway] - angles[i][halfway]
    -579                    for i, θ in enumerate(angles[:-1], start=1)
    -580                ]
    -581            )
    -582            > 0
    -583        )
    -584        assert np.all(
    -585            np.array(
    -586                [θ[-1] - angles[i][-1] for i, θ in enumerate(angles[:-1], start=1)]
    -587            )
    -588            > 0
    -589        )
    -590        # Check that M*=0 doesn't affect grain sizes.
    -591        _log.info("checking grain sizes...")
    -592        for i, time in enumerate(timestamps):
    -593            nt.assert_allclose(
    -594                minerals[0].fractions[i],
    -595                np.full(params["number_of_grains"], 1 / params["number_of_grains"]),
    -596            )
    -597        # Check that M*=0 matches FSE past 100% strain.
    -598        nt.assert_allclose(
    -599            angles[0][i_strain_50p:],
    -600            np.mean(θ_fse, axis=0)[i_strain_50p:],
    -601            atol=1,
    -602            rtol=0,
    -603        )
    -604        # Check that GBM causes decreasing grain size median.
    -605        assert np.all(
    -606            np.array(
    -607                [
    -608                    np.median(m.fractions[halfway])
    -609                    - np.median(minerals[i].fractions[halfway])
    -610                    for i, m in enumerate(minerals[:-1], start=1)
    -611                ]
    -612            )
    -613            > 0
    -614        )
    +            
    520    def test_boundary_mobility(self, seed, outdir):
    +521        """Test that the grain boundary mobility parameter has an effect."""
    +522        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    +523        strain_rate = 1.0
    +524        get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate)
    +525        timestamps = np.linspace(0, 1, 201)  # Solve until D₀t=1 ('shear' γ=2).
    +526        i_strain_50p = 50  # Index of 50% strain.
    +527        params = _io.DEFAULT_PARAMS
    +528        gbm_mobilities = (0, 10, 50, 125, 200)  # Must be in ascending order.
    +529        markers = ("x", ".", "*", "d", "s")
    +530        angles = np.empty((len(gbm_mobilities), len(timestamps)))
    +531        point100_symmetry = np.empty_like(angles)
    +532        θ_fse = np.empty_like(angles)
    +533        minerals = []
    +534
    +535        optional_logging = cl.nullcontext()
    +536        if outdir is not None:
    +537            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility"
    +538            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +539            labels = []
    +540
    +541        with optional_logging:
    +542            for i, M in enumerate(gbm_mobilities):
    +543                params["gbm_mobility"] = M
    +544                out = self.run(
    +545                    params,
    +546                    timestamps,
    +547                    strain_rate,
    +548                    get_velocity_gradient,
    +549                    shear_direction,
    +550                    seed=seed,
    +551                    log_param="gbm_mobility",
    +552                    return_fse=True,
    +553                )
    +554                minerals.append(out[0])
    +555                angles[i] = out[1]
    +556                point100_symmetry[i] = out[2]
    +557                θ_fse[i] = out[3]
    +558                if outdir is not None:
    +559                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    +560
    +561        if outdir is not None:
    +562            strains = timestamps * strain_rate
    +563            self.postprocess(
    +564                strains,
    +565                angles,
    +566                point100_symmetry,
    +567                np.mean(θ_fse, axis=0),
    +568                labels,
    +569                markers,
    +570                outdir,
    +571                out_basepath,
    +572            )
    +573
    +574        # Check that GBM speeds up the alignment.
    +575        _log.info("checking grain orientations...")
    +576        halfway = int(len(timestamps) / 2)
    +577        assert np.all(
    +578            np.array(
    +579                [
    +580                    θ[halfway] - angles[i][halfway]
    +581                    for i, θ in enumerate(angles[:-1], start=1)
    +582                ]
    +583            )
    +584            > 0
    +585        )
    +586        assert np.all(
    +587            np.array(
    +588                [θ[-1] - angles[i][-1] for i, θ in enumerate(angles[:-1], start=1)]
    +589            )
    +590            > 0
    +591        )
    +592        # Check that M*=0 doesn't affect grain sizes.
    +593        _log.info("checking grain sizes...")
    +594        for i, time in enumerate(timestamps):
    +595            nt.assert_allclose(
    +596                minerals[0].fractions[i],
    +597                np.full(params["number_of_grains"], 1 / params["number_of_grains"]),
    +598            )
    +599        # Check that M*=0 matches FSE past 100% strain.
    +600        nt.assert_allclose(
    +601            angles[0][i_strain_50p:],
    +602            np.mean(θ_fse, axis=0)[i_strain_50p:],
    +603            atol=1,
    +604            rtol=0,
    +605        )
    +606        # Check that GBM causes decreasing grain size median.
    +607        assert np.all(
    +608            np.array(
    +609                [
    +610                    np.median(m.fractions[halfway])
    +611                    - np.median(minerals[i].fractions[halfway])
    +612                    for i, m in enumerate(minerals[:-1], start=1)
    +613                ]
    +614            )
    +615            > 0
    +616        )
     
    @@ -2300,95 +2367,95 @@

    -
    616    def test_boudary_sliding(self, seed, outdir):
    -617        """Test that the grain boundary sliding parameter has an effect."""
    -618        strain_rate = 1.0
    -619        shear_direction = [1, 0, 0]  # Used to calculate the angular diagnostics.
    -620        get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate)
    -621        timestamps = np.linspace(0, 2.5, 251)  # Solve until D₀t=2.5 ('shear' γ=5).
    -622        i_strain_200p = 100  # Index of 50% strain.
    -623        params = _io.DEFAULT_PARAMS
    -624        gbs_thresholds = (0, 0.2, 0.4, 0.6)  # Must be in ascending order.
    -625        markers = (".", "*", "d", "s")
    -626        angles = np.empty((len(gbs_thresholds), len(timestamps)))
    -627        point100_symmetry = np.empty_like(angles)
    -628        θ_fse = np.empty_like(angles)
    -629        minerals = []
    -630
    -631        optional_logging = cl.nullcontext()
    -632        if outdir is not None:
    -633            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_sliding"
    -634            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    -635            labels = []
    -636
    -637        with optional_logging:
    -638            for i, f in enumerate(gbs_thresholds):
    -639                params["gbs_threshold"] = f
    -640                out = self.run(
    -641                    params,
    -642                    timestamps,
    -643                    strain_rate,
    -644                    get_velocity_gradient,
    -645                    shear_direction,
    -646                    seed=seed,
    -647                    log_param="gbs_threshold",
    -648                    return_fse=True,
    -649                )
    -650                minerals.append(out[0])
    -651                angles[i] = out[1]
    -652                point100_symmetry[i] = out[2]
    -653                θ_fse[i] = out[3]
    -654                if outdir is not None:
    -655                    labels.append(f"$M^∗$ = {params['gbs_threshold']}")
    -656
    -657        if outdir is not None:
    -658            strains = timestamps * strain_rate
    -659            self.postprocess(
    -660                strains,
    -661                angles,
    -662                point100_symmetry,
    -663                np.mean(θ_fse, axis=0),
    -664                labels,
    -665                markers,
    -666                outdir,
    -667                out_basepath,
    -668            )
    -669
    -670        # Check that GBS sets an upper bound on P_[100].
    -671        _log.info("checking degree of [100] point symmetry...")
    -672        nt.assert_allclose(
    -673            np.full(len(point100_symmetry[0][i_strain_200p:]), 0.0),
    -674            point100_symmetry[0][i_strain_200p:] - 0.95,
    -675            atol=0.05,
    -676            rtol=0,
    -677        )
    -678        nt.assert_allclose(
    -679            np.full(len(point100_symmetry[1][i_strain_200p:]), 0.0),
    -680            point100_symmetry[1][i_strain_200p:] - 0.78,
    -681            atol=0.05,
    -682            rtol=0,
    -683        )
    -684        nt.assert_allclose(
    -685            np.full(len(point100_symmetry[2][i_strain_200p:]), 0.0),
    -686            point100_symmetry[2][i_strain_200p:] - 0.61,
    -687            atol=0.05,
    -688            rtol=0,
    -689        )
    -690        nt.assert_allclose(
    -691            np.full(len(point100_symmetry[3][i_strain_200p:]), 0.0),
    -692            point100_symmetry[3][i_strain_200p:] - 0.44,
    -693            atol=0.055,
    -694            rtol=0,
    -695        )
    -696        # Check that angles always reach within 5° of the shear direction.
    -697        _log.info("checking grain orientations...")
    -698        for θ in angles:
    -699            nt.assert_allclose(
    -700                np.full(len(θ[i_strain_200p:]), 0.0),
    -701                2.5 - θ[i_strain_200p:],
    -702                atol=2.5,
    -703                rtol=0,
    -704            )
    +            
    618    def test_boudary_sliding(self, seed, outdir):
    +619        """Test that the grain boundary sliding parameter has an effect."""
    +620        strain_rate = 1.0
    +621        shear_direction = [1, 0, 0]  # Used to calculate the angular diagnostics.
    +622        get_velocity_gradient = _dv.simple_shear_2d("X", "Z", strain_rate)
    +623        timestamps = np.linspace(0, 2.5, 251)  # Solve until D₀t=2.5 ('shear' γ=5).
    +624        i_strain_200p = 100  # Index of 50% strain.
    +625        params = _io.DEFAULT_PARAMS
    +626        gbs_thresholds = (0, 0.2, 0.4, 0.6)  # Must be in ascending order.
    +627        markers = (".", "*", "d", "s")
    +628        angles = np.empty((len(gbs_thresholds), len(timestamps)))
    +629        point100_symmetry = np.empty_like(angles)
    +630        θ_fse = np.empty_like(angles)
    +631        minerals = []
    +632
    +633        optional_logging = cl.nullcontext()
    +634        if outdir is not None:
    +635            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_sliding"
    +636            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +637            labels = []
    +638
    +639        with optional_logging:
    +640            for i, f in enumerate(gbs_thresholds):
    +641                params["gbs_threshold"] = f
    +642                out = self.run(
    +643                    params,
    +644                    timestamps,
    +645                    strain_rate,
    +646                    get_velocity_gradient,
    +647                    shear_direction,
    +648                    seed=seed,
    +649                    log_param="gbs_threshold",
    +650                    return_fse=True,
    +651                )
    +652                minerals.append(out[0])
    +653                angles[i] = out[1]
    +654                point100_symmetry[i] = out[2]
    +655                θ_fse[i] = out[3]
    +656                if outdir is not None:
    +657                    labels.append(f"$M^∗$ = {params['gbs_threshold']}")
    +658
    +659        if outdir is not None:
    +660            strains = timestamps * strain_rate
    +661            self.postprocess(
    +662                strains,
    +663                angles,
    +664                point100_symmetry,
    +665                np.mean(θ_fse, axis=0),
    +666                labels,
    +667                markers,
    +668                outdir,
    +669                out_basepath,
    +670            )
    +671
    +672        # Check that GBS sets an upper bound on P_[100].
    +673        _log.info("checking degree of [100] point symmetry...")
    +674        nt.assert_allclose(
    +675            np.full(len(point100_symmetry[0][i_strain_200p:]), 0.0),
    +676            point100_symmetry[0][i_strain_200p:] - 0.95,
    +677            atol=0.05,
    +678            rtol=0,
    +679        )
    +680        nt.assert_allclose(
    +681            np.full(len(point100_symmetry[1][i_strain_200p:]), 0.0),
    +682            point100_symmetry[1][i_strain_200p:] - 0.78,
    +683            atol=0.05,
    +684            rtol=0,
    +685        )
    +686        nt.assert_allclose(
    +687            np.full(len(point100_symmetry[2][i_strain_200p:]), 0.0),
    +688            point100_symmetry[2][i_strain_200p:] - 0.61,
    +689            atol=0.05,
    +690            rtol=0,
    +691        )
    +692        nt.assert_allclose(
    +693            np.full(len(point100_symmetry[3][i_strain_200p:]), 0.0),
    +694            point100_symmetry[3][i_strain_200p:] - 0.44,
    +695            atol=0.055,
    +696            rtol=0,
    +697        )
    +698        # Check that angles always reach within 5° of the shear direction.
    +699        _log.info("checking grain orientations...")
    +700        for θ in angles:
    +701            nt.assert_allclose(
    +702                np.full(len(θ[i_strain_200p:]), 0.0),
    +703                2.5 - θ[i_strain_200p:],
    +704                atol=2.5,
    +705                rtol=0,
    +706            )
     
    @@ -2396,6 +2463,54 @@

    + +
    + +
    +
    @pytest.mark.slow
    + + def + test_ngrains(self, seed, outdir): + + + +
    + +
    708    @pytest.mark.slow
    +709    def test_ngrains(self, seed, outdir):
    +710        """Test that solvers work up to 10000 grains."""
    +711        shear_direction = [0, 1, 0]
    +712        strain_rate = 1.0
    +713        get_velocity_gradient = _dv.simple_shear_2d("Y", "X", strain_rate)
    +714        timestamps = np.linspace(0, 1, 201)  # Solve until D₀t=1 ('shear' γ=2).
    +715        params = _io.DEFAULT_PARAMS
    +716        grain_counts = (100, 1000, 2000, 5000, 10000)
    +717
    +718        optional_logging = cl.nullcontext()
    +719        if outdir is not None:
    +720            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_ngrains"
    +721            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +722
    +723        with optional_logging:
    +724            for i, N in enumerate(grain_counts):
    +725                params["number_of_grains"] = N
    +726                self.run(
    +727                    params,
    +728                    timestamps,
    +729                    strain_rate,
    +730                    get_velocity_gradient,
    +731                    shear_direction,
    +732                    seed=seed,
    +733                    log_param="number_of_grains",
    +734                    return_fse=True,
    +735                )
    +
    + + +

    Test that solvers work up to 10000 grains.

    +
    + +