diff --git a/pydrex/diagnostics.html b/pydrex/diagnostics.html index 7a97eba2..bfe15c3f 100644 --- a/pydrex/diagnostics.html +++ b/pydrex/diagnostics.html @@ -473,8 +473,8 @@

355 fluctuations compared to the raw eigenvalue diagnostics. 356 357 """ -358 P1, G1, _ = symmetry(orientations, axis=axis1) -359 P2, G2, _ = symmetry(orientations, axis=axis2) +358 P1, G1, _ = symmetry_pgr(orientations, axis=axis1) +359 P2, G2, _ = symmetry_pgr(orientations, axis=axis2) 360 return 0.5 * (2 - (P1 / (G1 + P1)) - (G2 / (G2 + P2))) 361 362 @@ -1043,8 +1043,8 @@

356 fluctuations compared to the raw eigenvalue diagnostics. 357 358 """ -359 P1, G1, _ = symmetry(orientations, axis=axis1) -360 P2, G2, _ = symmetry(orientations, axis=axis2) +359 P1, G1, _ = symmetry_pgr(orientations, axis=axis1) +360 P2, G2, _ = symmetry_pgr(orientations, axis=axis2) 361 return 0.5 * (2 - (P1 / (G1 + P1)) - (G2 / (G2 + P2))) diff --git a/pydrex/minerals.html b/pydrex/minerals.html index b6015aeb..979ce9b5 100644 --- a/pydrex/minerals.html +++ b/pydrex/minerals.html @@ -421,18 +421,18 @@

267 else: 268 shape_of_orientations = "(?)" 269 -270 return ( -271 self.__class__.__qualname__ -272 + f"(phase={self.phase!s}, " -273 + f"fabric={self.fabric!s}, " -274 + f"regime={self.regime!s}, " -275 + f"n_grains={self.n_grains!s}, " -276 + f"fractions=<{self.fractions.__class__.__qualname__}" -277 + f" of {self.fractions[0].__class__.__qualname__} {shape_of_fractions}>, " -278 + f"orientations=<{self.orientations.__class__.__qualname__}" -279 + f" of {self.orientations[0].__class__.__qualname__}" -280 + f" {shape_of_orientations}>)" -281 ) +270 obj = self.__class__.__qualname__ +271 phase = f"(phase={self.phase!r}, " +272 fabric = f"fabric={self.fabric!r}, " +273 regime = f"regime={self.regime!r}, " +274 n_grains = f"n_grains={self.n_grains}, " +275 _fclass = self.fractions.__class__.__qualname__ +276 _f0class = self.fractions[0].__class__.__qualname__ +277 frac = f"fractions=<{_fclass} of {_f0class} {shape_of_fractions}>, " +278 _oclass = self.orientations.__class__.__qualname__ +279 _o0class = self.orientations[0].__class__.__qualname__ +280 orient = f"orientations=<{_oclass} of {_o0class} {shape_of_orientations}>)" +281 return f"{obj}{phase}{fabric}{regime}{n_grains}{frac}{orient}" 282 283 def _repr_pretty_(self, p, cycle): 284 # Format to use when printing to IPython or other interactive console. @@ -521,217 +521,219 @@

367 elif self.phase == _core.MineralPhase.enstatite: 368 volume_fraction = config["enstatite_fraction"] 369 else: -370 assert False # Should never happen. -371 -372 strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2 -373 strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max() -374 deformation_gradient, orientations, fractions = _utils.extract_vars( -375 y, self.n_grains -376 ) -377 # Uses nondimensional values of strain rate and velocity gradient. -378 orientations_diff, fractions_diff = _core.derivatives( -379 phase=self.phase, -380 fabric=self.fabric, -381 n_grains=self.n_grains, -382 orientations=orientations, -383 fractions=fractions, -384 strain_rate=strain_rate / strain_rate_max, -385 velocity_gradient=velocity_gradient / strain_rate_max, -386 stress_exponent=config["stress_exponent"], -387 deformation_exponent=config["deformation_exponent"], -388 nucleation_efficiency=config["nucleation_efficiency"], -389 gbm_mobility=config["gbm_mobility"], -390 volume_fraction=volume_fraction, -391 ) -392 return np.hstack( -393 ( -394 (velocity_gradient @ deformation_gradient).flatten(), -395 orientations_diff.flatten() * strain_rate_max, -396 fractions_diff * strain_rate_max, -397 ) -398 ) -399 -400 def perform_step(solver): -401 """Perform SciPy solver step and appropriate processing.""" -402 message = solver.step() -403 if message is not None and solver.status == "failed": -404 raise _err.IterationError(message) -405 # _log.debug( -406 # "%s step_size=%e", solver.__class__.__qualname__, solver.step_size -407 # ) -408 -409 deformation_gradient, orientations, fractions = _utils.extract_vars( -410 solver.y, self.n_grains -411 ) -412 orientations, fractions = _utils.apply_gbs( -413 orientations, -414 fractions, -415 config["gbs_threshold"], -416 self.orientations[-1], -417 self.n_grains, -418 ) -419 solver.y[9:] = np.hstack((orientations.flatten(), fractions)) -420 -421 # ===== Initialise and run the solver using the above callables ===== +370 raise ValueError( +371 f"phase must be a valid `MineralPhase`, not {self.phase}" +372 ) +373 +374 strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2 +375 strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max() +376 deformation_gradient, orientations, fractions = _utils.extract_vars( +377 y, self.n_grains +378 ) +379 # Uses nondimensional values of strain rate and velocity gradient. +380 orientations_diff, fractions_diff = _core.derivatives( +381 phase=self.phase, +382 fabric=self.fabric, +383 n_grains=self.n_grains, +384 orientations=orientations, +385 fractions=fractions, +386 strain_rate=strain_rate / strain_rate_max, +387 velocity_gradient=velocity_gradient / strain_rate_max, +388 stress_exponent=config["stress_exponent"], +389 deformation_exponent=config["deformation_exponent"], +390 nucleation_efficiency=config["nucleation_efficiency"], +391 gbm_mobility=config["gbm_mobility"], +392 volume_fraction=volume_fraction, +393 ) +394 return np.hstack( +395 ( +396 (velocity_gradient @ deformation_gradient).flatten(), +397 orientations_diff.flatten() * strain_rate_max, +398 fractions_diff * strain_rate_max, +399 ) +400 ) +401 +402 def perform_step(solver): +403 """Perform SciPy solver step and appropriate processing.""" +404 message = solver.step() +405 if message is not None and solver.status == "failed": +406 raise _err.IterationError(message) +407 # _log.debug( +408 # "%s step_size=%e", solver.__class__.__qualname__, solver.step_size +409 # ) +410 +411 deformation_gradient, orientations, fractions = _utils.extract_vars( +412 solver.y, self.n_grains +413 ) +414 orientations, fractions = _utils.apply_gbs( +415 orientations, +416 fractions, +417 config["gbs_threshold"], +418 self.orientations[-1], +419 self.n_grains, +420 ) +421 solver.y[9:] = np.hstack((orientations.flatten(), fractions)) 422 -423 time_start, time_end, get_position = pathline -424 if not callable(get_velocity_gradient): -425 raise ValueError( -426 "unable to evaluate velocity gradient callable." -427 + " You must provide a callable with signature f(x)" -428 + " that returns a 3x3 matrix." -429 ) -430 if not callable(get_position): -431 raise ValueError( -432 "unable to evaluate position callable." -433 + " You must provide a callable with signature f(t)" -434 + " that returns a 3-component array." -435 ) -436 -437 y_start = np.hstack( -438 ( -439 deformation_gradient.flatten(), -440 self.orientations[-1].flatten(), -441 self.fractions[-1], -442 ) -443 ) -444 solver = LSODA( -445 eval_rhs, -446 time_start, -447 y_start, -448 time_end, -449 atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12), -450 rtol=kwargs.pop("rtol", 1e-6), -451 first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1), -452 # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)), -453 lband=self.lband, -454 uband=self.uband, -455 **kwargs, -456 ) -457 perform_step(solver) -458 while solver.status == "running": -459 perform_step(solver) -460 -461 # Extract final values for this simulation step, append to storage. -462 deformation_gradient, orientations, fractions = _utils.extract_vars( -463 solver.y.squeeze(), self.n_grains -464 ) -465 self.orientations.append(orientations) -466 self.fractions.append(fractions) -467 return deformation_gradient -468 -469 def save(self, filename, postfix=None): -470 """Save CPO data for all stored timesteps to a `numpy` NPZ file. -471 -472 If `postfix` is not `None`, the data is appended to the NPZ file -473 in fields ending with "`_postfix`". -474 -475 Raises a `ValueError` if the data shapes are not compatible. +423 # ===== Initialise and run the solver using the above callables ===== +424 +425 time_start, time_end, get_position = pathline +426 if not callable(get_velocity_gradient): +427 raise ValueError( +428 "unable to evaluate velocity gradient callable." +429 + " You must provide a callable with signature f(x)" +430 + " that returns a 3x3 matrix." +431 ) +432 if not callable(get_position): +433 raise ValueError( +434 "unable to evaluate position callable." +435 + " You must provide a callable with signature f(t)" +436 + " that returns a 3-component array." +437 ) +438 +439 y_start = np.hstack( +440 ( +441 deformation_gradient.flatten(), +442 self.orientations[-1].flatten(), +443 self.fractions[-1], +444 ) +445 ) +446 solver = LSODA( +447 eval_rhs, +448 time_start, +449 y_start, +450 time_end, +451 atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12), +452 rtol=kwargs.pop("rtol", 1e-6), +453 first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1), +454 # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)), +455 lband=self.lband, +456 uband=self.uband, +457 **kwargs, +458 ) +459 perform_step(solver) +460 while solver.status == "running": +461 perform_step(solver) +462 +463 # Extract final values for this simulation step, append to storage. +464 deformation_gradient, orientations, fractions = _utils.extract_vars( +465 solver.y.squeeze(), self.n_grains +466 ) +467 self.orientations.append(orientations) +468 self.fractions.append(fractions) +469 return deformation_gradient +470 +471 def save(self, filename, postfix=None): +472 """Save CPO data for all stored timesteps to a `numpy` NPZ file. +473 +474 If `postfix` is not `None`, the data is appended to the NPZ file +475 in fields ending with "`_postfix`". 476 -477 See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`. +477 Raises a `ValueError` if the data shapes are not compatible. 478 -479 """ -480 if len(self.fractions) != len(self.orientations): -481 raise ValueError( -482 "Length of stored results must match." -483 + " You've supplied currupted data with:\n" -484 + f"- {len(self.fractions)} grain size results, and\n" -485 + f"- {len(self.orientations)} orientation results." -486 ) -487 if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains: -488 data = { -489 "meta": np.array( -490 [self.phase, self.fabric, self.regime], dtype=np.uint8 -491 ), -492 "fractions": np.stack(self.fractions), -493 "orientations": np.stack(self.orientations), -494 } -495 # Create parent directories, resolve relative paths. -496 _io.resolve_path(filename) -497 # Append to file, requires postfix (unique name). -498 if postfix is not None: -499 archive = ZipFile(filename, mode="a", allowZip64=True) -500 for key in data.keys(): -501 with archive.open( -502 f"{key}_{postfix}", "w", force_zip64=True -503 ) as file: -504 buffer = io.BytesIO() -505 np.save(buffer, data[key]) -506 file.write(buffer.getvalue()) -507 buffer.close() -508 else: -509 np.savez(filename, **data) -510 else: -511 raise ValueError( -512 "Size of CPO data arrays must match number of grains." -513 + " You've supplied corrupted data with:\n" -514 + f"- `n_grains = {self.n_grains}`,\n" -515 + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n" -516 + f"- `orientations[0].shape = {self.orientations[0].shape}`." -517 ) -518 -519 def load(self, filename, postfix=None): -520 """Load CPO data from a `numpy` NPZ file. -521 -522 If `postfix` is not `None`, data is read from fields ending with "`_postfix`". +479 See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`. +480 +481 """ +482 if len(self.fractions) != len(self.orientations): +483 raise ValueError( +484 "Length of stored results must match." +485 + " You've supplied currupted data with:\n" +486 + f"- {len(self.fractions)} grain size results, and\n" +487 + f"- {len(self.orientations)} orientation results." +488 ) +489 if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains: +490 data = { +491 "meta": np.array( +492 [self.phase, self.fabric, self.regime], dtype=np.uint8 +493 ), +494 "fractions": np.stack(self.fractions), +495 "orientations": np.stack(self.orientations), +496 } +497 # Create parent directories, resolve relative paths. +498 _io.resolve_path(filename) +499 # Append to file, requires postfix (unique name). +500 if postfix is not None: +501 archive = ZipFile(filename, mode="a", allowZip64=True) +502 for key in data.keys(): +503 with archive.open( +504 f"{key}_{postfix}", "w", force_zip64=True +505 ) as file: +506 buffer = io.BytesIO() +507 np.save(buffer, data[key]) +508 file.write(buffer.getvalue()) +509 buffer.close() +510 else: +511 np.savez(filename, **data) +512 else: +513 raise ValueError( +514 "Size of CPO data arrays must match number of grains." +515 + " You've supplied corrupted data with:\n" +516 + f"- `n_grains = {self.n_grains}`,\n" +517 + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n" +518 + f"- `orientations[0].shape = {self.orientations[0].shape}`." +519 ) +520 +521 def load(self, filename, postfix=None): +522 """Load CPO data from a `numpy` NPZ file. 523 -524 See also: `Mineral.save`, `Mineral.from_file`. +524 If `postfix` is not `None`, data is read from fields ending with "`_postfix`". 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 self.fractions = list(data[f"fractions_{postfix}"]) -535 self.orientations = list(data[f"orientations_{postfix}"]) -536 else: -537 phase, fabric, regime = data["meta"] -538 self.fractions = list(data["fractions"]) -539 self.orientations = list(data["orientations"]) -540 -541 self.phase = phase -542 self.fabric = fabric -543 self.regime = regime -544 self.orientations_init = self.orientations[0] -545 self.fractions_init = self.fractions[0] -546 -547 @classmethod -548 def from_file(cls, filename, postfix=None): -549 """Construct a `Mineral` instance using data from a `numpy` NPZ file. -550 -551 If `postfix` is not `None`, data is read from fields ending with “`_postfix`”. +526 See also: `Mineral.save`, `Mineral.from_file`. +527 +528 """ +529 if not filename.endswith(".npz"): +530 raise ValueError( +531 f"Must only load from numpy NPZ format. Cannot load from {filename}." +532 ) +533 data = np.load(filename) +534 if postfix is not None: +535 phase, fabric, regime = data[f"meta_{postfix}"] +536 self.fractions = list(data[f"fractions_{postfix}"]) +537 self.orientations = list(data[f"orientations_{postfix}"]) +538 else: +539 phase, fabric, regime = data["meta"] +540 self.fractions = list(data["fractions"]) +541 self.orientations = list(data["orientations"]) +542 +543 self.phase = phase +544 self.fabric = fabric +545 self.regime = regime +546 self.orientations_init = self.orientations[0] +547 self.fractions_init = self.fractions[0] +548 +549 @classmethod +550 def from_file(cls, filename, postfix=None): +551 """Construct a `Mineral` instance using data from a `numpy` NPZ file. 552 -553 See also: `Mineral.save`, `Mineral.load`. +553 If `postfix` is not `None`, data is read from fields ending with “`_postfix`”. 554 -555 """ -556 if not filename.endswith(".npz"): -557 raise ValueError( -558 f"Must only load from numpy NPZ format. Cannot load from {filename}." -559 ) -560 data = np.load(filename) -561 if postfix is not None: -562 phase, fabric, regime = data[f"meta_{postfix}"] -563 fractions = list(data[f"fractions_{postfix}"]) -564 orientations = list(data[f"orientations_{postfix}"]) -565 else: -566 phase, fabric, regime = data["meta"] -567 fractions = list(data["fractions"]) -568 orientations = list(data["orientations"]) -569 -570 mineral = cls( -571 phase, -572 fabric, -573 regime, -574 n_grains=len(fractions[0]), -575 fractions_init=fractions[0], -576 orientations_init=orientations[0], -577 ) -578 mineral.fractions = fractions -579 mineral.orientations = orientations -580 return mineral +555 See also: `Mineral.save`, `Mineral.load`. +556 +557 """ +558 if not filename.endswith(".npz"): +559 raise ValueError( +560 f"Must only load from numpy NPZ format. Cannot load from {filename}." +561 ) +562 data = np.load(filename) +563 if postfix is not None: +564 phase, fabric, regime = data[f"meta_{postfix}"] +565 fractions = list(data[f"fractions_{postfix}"]) +566 orientations = list(data[f"orientations_{postfix}"]) +567 else: +568 phase, fabric, regime = data["meta"] +569 fractions = list(data["fractions"]) +570 orientations = list(data["orientations"]) +571 +572 mineral = cls( +573 phase, +574 fabric, +575 regime, +576 n_grains=len(fractions[0]), +577 fractions_init=fractions[0], +578 orientations_init=orientations[0], +579 ) +580 mineral.fractions = fractions +581 mineral.orientations = orientations +582 return mineral @@ -1039,18 +1041,18 @@

268 else: 269 shape_of_orientations = "(?)" 270 -271 return ( -272 self.__class__.__qualname__ -273 + f"(phase={self.phase!s}, " -274 + f"fabric={self.fabric!s}, " -275 + f"regime={self.regime!s}, " -276 + f"n_grains={self.n_grains!s}, " -277 + f"fractions=<{self.fractions.__class__.__qualname__}" -278 + f" of {self.fractions[0].__class__.__qualname__} {shape_of_fractions}>, " -279 + f"orientations=<{self.orientations.__class__.__qualname__}" -280 + f" of {self.orientations[0].__class__.__qualname__}" -281 + f" {shape_of_orientations}>)" -282 ) +271 obj = self.__class__.__qualname__ +272 phase = f"(phase={self.phase!r}, " +273 fabric = f"fabric={self.fabric!r}, " +274 regime = f"regime={self.regime!r}, " +275 n_grains = f"n_grains={self.n_grains}, " +276 _fclass = self.fractions.__class__.__qualname__ +277 _f0class = self.fractions[0].__class__.__qualname__ +278 frac = f"fractions=<{_fclass} of {_f0class} {shape_of_fractions}>, " +279 _oclass = self.orientations.__class__.__qualname__ +280 _o0class = self.orientations[0].__class__.__qualname__ +281 orient = f"orientations=<{_oclass} of {_o0class} {shape_of_orientations}>)" +282 return f"{obj}{phase}{fabric}{regime}{n_grains}{frac}{orient}" 283 284 def _repr_pretty_(self, p, cycle): 285 # Format to use when printing to IPython or other interactive console. @@ -1139,217 +1141,219 @@

368 elif self.phase == _core.MineralPhase.enstatite: 369 volume_fraction = config["enstatite_fraction"] 370 else: -371 assert False # Should never happen. -372 -373 strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2 -374 strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max() -375 deformation_gradient, orientations, fractions = _utils.extract_vars( -376 y, self.n_grains -377 ) -378 # Uses nondimensional values of strain rate and velocity gradient. -379 orientations_diff, fractions_diff = _core.derivatives( -380 phase=self.phase, -381 fabric=self.fabric, -382 n_grains=self.n_grains, -383 orientations=orientations, -384 fractions=fractions, -385 strain_rate=strain_rate / strain_rate_max, -386 velocity_gradient=velocity_gradient / strain_rate_max, -387 stress_exponent=config["stress_exponent"], -388 deformation_exponent=config["deformation_exponent"], -389 nucleation_efficiency=config["nucleation_efficiency"], -390 gbm_mobility=config["gbm_mobility"], -391 volume_fraction=volume_fraction, -392 ) -393 return np.hstack( -394 ( -395 (velocity_gradient @ deformation_gradient).flatten(), -396 orientations_diff.flatten() * strain_rate_max, -397 fractions_diff * strain_rate_max, -398 ) -399 ) -400 -401 def perform_step(solver): -402 """Perform SciPy solver step and appropriate processing.""" -403 message = solver.step() -404 if message is not None and solver.status == "failed": -405 raise _err.IterationError(message) -406 # _log.debug( -407 # "%s step_size=%e", solver.__class__.__qualname__, solver.step_size -408 # ) -409 -410 deformation_gradient, orientations, fractions = _utils.extract_vars( -411 solver.y, self.n_grains -412 ) -413 orientations, fractions = _utils.apply_gbs( -414 orientations, -415 fractions, -416 config["gbs_threshold"], -417 self.orientations[-1], -418 self.n_grains, -419 ) -420 solver.y[9:] = np.hstack((orientations.flatten(), fractions)) -421 -422 # ===== Initialise and run the solver using the above callables ===== +371 raise ValueError( +372 f"phase must be a valid `MineralPhase`, not {self.phase}" +373 ) +374 +375 strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2 +376 strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max() +377 deformation_gradient, orientations, fractions = _utils.extract_vars( +378 y, self.n_grains +379 ) +380 # Uses nondimensional values of strain rate and velocity gradient. +381 orientations_diff, fractions_diff = _core.derivatives( +382 phase=self.phase, +383 fabric=self.fabric, +384 n_grains=self.n_grains, +385 orientations=orientations, +386 fractions=fractions, +387 strain_rate=strain_rate / strain_rate_max, +388 velocity_gradient=velocity_gradient / strain_rate_max, +389 stress_exponent=config["stress_exponent"], +390 deformation_exponent=config["deformation_exponent"], +391 nucleation_efficiency=config["nucleation_efficiency"], +392 gbm_mobility=config["gbm_mobility"], +393 volume_fraction=volume_fraction, +394 ) +395 return np.hstack( +396 ( +397 (velocity_gradient @ deformation_gradient).flatten(), +398 orientations_diff.flatten() * strain_rate_max, +399 fractions_diff * strain_rate_max, +400 ) +401 ) +402 +403 def perform_step(solver): +404 """Perform SciPy solver step and appropriate processing.""" +405 message = solver.step() +406 if message is not None and solver.status == "failed": +407 raise _err.IterationError(message) +408 # _log.debug( +409 # "%s step_size=%e", solver.__class__.__qualname__, solver.step_size +410 # ) +411 +412 deformation_gradient, orientations, fractions = _utils.extract_vars( +413 solver.y, self.n_grains +414 ) +415 orientations, fractions = _utils.apply_gbs( +416 orientations, +417 fractions, +418 config["gbs_threshold"], +419 self.orientations[-1], +420 self.n_grains, +421 ) +422 solver.y[9:] = np.hstack((orientations.flatten(), fractions)) 423 -424 time_start, time_end, get_position = pathline -425 if not callable(get_velocity_gradient): -426 raise ValueError( -427 "unable to evaluate velocity gradient callable." -428 + " You must provide a callable with signature f(x)" -429 + " that returns a 3x3 matrix." -430 ) -431 if not callable(get_position): -432 raise ValueError( -433 "unable to evaluate position callable." -434 + " You must provide a callable with signature f(t)" -435 + " that returns a 3-component array." -436 ) -437 -438 y_start = np.hstack( -439 ( -440 deformation_gradient.flatten(), -441 self.orientations[-1].flatten(), -442 self.fractions[-1], -443 ) -444 ) -445 solver = LSODA( -446 eval_rhs, -447 time_start, -448 y_start, -449 time_end, -450 atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12), -451 rtol=kwargs.pop("rtol", 1e-6), -452 first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1), -453 # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)), -454 lband=self.lband, -455 uband=self.uband, -456 **kwargs, -457 ) -458 perform_step(solver) -459 while solver.status == "running": -460 perform_step(solver) -461 -462 # Extract final values for this simulation step, append to storage. -463 deformation_gradient, orientations, fractions = _utils.extract_vars( -464 solver.y.squeeze(), self.n_grains -465 ) -466 self.orientations.append(orientations) -467 self.fractions.append(fractions) -468 return deformation_gradient -469 -470 def save(self, filename, postfix=None): -471 """Save CPO data for all stored timesteps to a `numpy` NPZ file. -472 -473 If `postfix` is not `None`, the data is appended to the NPZ file -474 in fields ending with "`_postfix`". -475 -476 Raises a `ValueError` if the data shapes are not compatible. +424 # ===== Initialise and run the solver using the above callables ===== +425 +426 time_start, time_end, get_position = pathline +427 if not callable(get_velocity_gradient): +428 raise ValueError( +429 "unable to evaluate velocity gradient callable." +430 + " You must provide a callable with signature f(x)" +431 + " that returns a 3x3 matrix." +432 ) +433 if not callable(get_position): +434 raise ValueError( +435 "unable to evaluate position callable." +436 + " You must provide a callable with signature f(t)" +437 + " that returns a 3-component array." +438 ) +439 +440 y_start = np.hstack( +441 ( +442 deformation_gradient.flatten(), +443 self.orientations[-1].flatten(), +444 self.fractions[-1], +445 ) +446 ) +447 solver = LSODA( +448 eval_rhs, +449 time_start, +450 y_start, +451 time_end, +452 atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12), +453 rtol=kwargs.pop("rtol", 1e-6), +454 first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1), +455 # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)), +456 lband=self.lband, +457 uband=self.uband, +458 **kwargs, +459 ) +460 perform_step(solver) +461 while solver.status == "running": +462 perform_step(solver) +463 +464 # Extract final values for this simulation step, append to storage. +465 deformation_gradient, orientations, fractions = _utils.extract_vars( +466 solver.y.squeeze(), self.n_grains +467 ) +468 self.orientations.append(orientations) +469 self.fractions.append(fractions) +470 return deformation_gradient +471 +472 def save(self, filename, postfix=None): +473 """Save CPO data for all stored timesteps to a `numpy` NPZ file. +474 +475 If `postfix` is not `None`, the data is appended to the NPZ file +476 in fields ending with "`_postfix`". 477 -478 See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`. +478 Raises a `ValueError` if the data shapes are not compatible. 479 -480 """ -481 if len(self.fractions) != len(self.orientations): -482 raise ValueError( -483 "Length of stored results must match." -484 + " You've supplied currupted data with:\n" -485 + f"- {len(self.fractions)} grain size results, and\n" -486 + f"- {len(self.orientations)} orientation results." -487 ) -488 if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains: -489 data = { -490 "meta": np.array( -491 [self.phase, self.fabric, self.regime], dtype=np.uint8 -492 ), -493 "fractions": np.stack(self.fractions), -494 "orientations": np.stack(self.orientations), -495 } -496 # Create parent directories, resolve relative paths. -497 _io.resolve_path(filename) -498 # Append to file, requires postfix (unique name). -499 if postfix is not None: -500 archive = ZipFile(filename, mode="a", allowZip64=True) -501 for key in data.keys(): -502 with archive.open( -503 f"{key}_{postfix}", "w", force_zip64=True -504 ) as file: -505 buffer = io.BytesIO() -506 np.save(buffer, data[key]) -507 file.write(buffer.getvalue()) -508 buffer.close() -509 else: -510 np.savez(filename, **data) -511 else: -512 raise ValueError( -513 "Size of CPO data arrays must match number of grains." -514 + " You've supplied corrupted data with:\n" -515 + f"- `n_grains = {self.n_grains}`,\n" -516 + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n" -517 + f"- `orientations[0].shape = {self.orientations[0].shape}`." -518 ) -519 -520 def load(self, filename, postfix=None): -521 """Load CPO data from a `numpy` NPZ file. -522 -523 If `postfix` is not `None`, data is read from fields ending with "`_postfix`". +480 See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`. +481 +482 """ +483 if len(self.fractions) != len(self.orientations): +484 raise ValueError( +485 "Length of stored results must match." +486 + " You've supplied currupted data with:\n" +487 + f"- {len(self.fractions)} grain size results, and\n" +488 + f"- {len(self.orientations)} orientation results." +489 ) +490 if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains: +491 data = { +492 "meta": np.array( +493 [self.phase, self.fabric, self.regime], dtype=np.uint8 +494 ), +495 "fractions": np.stack(self.fractions), +496 "orientations": np.stack(self.orientations), +497 } +498 # Create parent directories, resolve relative paths. +499 _io.resolve_path(filename) +500 # Append to file, requires postfix (unique name). +501 if postfix is not None: +502 archive = ZipFile(filename, mode="a", allowZip64=True) +503 for key in data.keys(): +504 with archive.open( +505 f"{key}_{postfix}", "w", force_zip64=True +506 ) as file: +507 buffer = io.BytesIO() +508 np.save(buffer, data[key]) +509 file.write(buffer.getvalue()) +510 buffer.close() +511 else: +512 np.savez(filename, **data) +513 else: +514 raise ValueError( +515 "Size of CPO data arrays must match number of grains." +516 + " You've supplied corrupted data with:\n" +517 + f"- `n_grains = {self.n_grains}`,\n" +518 + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n" +519 + f"- `orientations[0].shape = {self.orientations[0].shape}`." +520 ) +521 +522 def load(self, filename, postfix=None): +523 """Load CPO data from a `numpy` NPZ file. 524 -525 See also: `Mineral.save`, `Mineral.from_file`. +525 If `postfix` is not `None`, data is read from fields ending with "`_postfix`". 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 self.fractions = list(data[f"fractions_{postfix}"]) -536 self.orientations = list(data[f"orientations_{postfix}"]) -537 else: -538 phase, fabric, regime = data["meta"] -539 self.fractions = list(data["fractions"]) -540 self.orientations = list(data["orientations"]) -541 -542 self.phase = phase -543 self.fabric = fabric -544 self.regime = regime -545 self.orientations_init = self.orientations[0] -546 self.fractions_init = self.fractions[0] -547 -548 @classmethod -549 def from_file(cls, filename, postfix=None): -550 """Construct a `Mineral` instance using data from a `numpy` NPZ file. -551 -552 If `postfix` is not `None`, data is read from fields ending with “`_postfix`”. +527 See also: `Mineral.save`, `Mineral.from_file`. +528 +529 """ +530 if not filename.endswith(".npz"): +531 raise ValueError( +532 f"Must only load from numpy NPZ format. Cannot load from {filename}." +533 ) +534 data = np.load(filename) +535 if postfix is not None: +536 phase, fabric, regime = data[f"meta_{postfix}"] +537 self.fractions = list(data[f"fractions_{postfix}"]) +538 self.orientations = list(data[f"orientations_{postfix}"]) +539 else: +540 phase, fabric, regime = data["meta"] +541 self.fractions = list(data["fractions"]) +542 self.orientations = list(data["orientations"]) +543 +544 self.phase = phase +545 self.fabric = fabric +546 self.regime = regime +547 self.orientations_init = self.orientations[0] +548 self.fractions_init = self.fractions[0] +549 +550 @classmethod +551 def from_file(cls, filename, postfix=None): +552 """Construct a `Mineral` instance using data from a `numpy` NPZ file. 553 -554 See also: `Mineral.save`, `Mineral.load`. +554 If `postfix` is not `None`, data is read from fields ending with “`_postfix`”. 555 -556 """ -557 if not filename.endswith(".npz"): -558 raise ValueError( -559 f"Must only load from numpy NPZ format. Cannot load from {filename}." -560 ) -561 data = np.load(filename) -562 if postfix is not None: -563 phase, fabric, regime = data[f"meta_{postfix}"] -564 fractions = list(data[f"fractions_{postfix}"]) -565 orientations = list(data[f"orientations_{postfix}"]) -566 else: -567 phase, fabric, regime = data["meta"] -568 fractions = list(data["fractions"]) -569 orientations = list(data["orientations"]) -570 -571 mineral = cls( -572 phase, -573 fabric, -574 regime, -575 n_grains=len(fractions[0]), -576 fractions_init=fractions[0], -577 orientations_init=orientations[0], -578 ) -579 mineral.fractions = fractions -580 mineral.orientations = orientations -581 return mineral +556 See also: `Mineral.save`, `Mineral.load`. +557 +558 """ +559 if not filename.endswith(".npz"): +560 raise ValueError( +561 f"Must only load from numpy NPZ format. Cannot load from {filename}." +562 ) +563 data = np.load(filename) +564 if postfix is not None: +565 phase, fabric, regime = data[f"meta_{postfix}"] +566 fractions = list(data[f"fractions_{postfix}"]) +567 orientations = list(data[f"orientations_{postfix}"]) +568 else: +569 phase, fabric, regime = data["meta"] +570 fractions = list(data["fractions"]) +571 orientations = list(data["orientations"]) +572 +573 mineral = cls( +574 phase, +575 fabric, +576 regime, +577 n_grains=len(fractions[0]), +578 fractions_init=fractions[0], +579 orientations_init=orientations[0], +580 ) +581 mineral.fractions = fractions +582 mineral.orientations = orientations +583 return mineral @@ -1655,104 +1659,106 @@

368 elif self.phase == _core.MineralPhase.enstatite: 369 volume_fraction = config["enstatite_fraction"] 370 else: -371 assert False # Should never happen. -372 -373 strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2 -374 strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max() -375 deformation_gradient, orientations, fractions = _utils.extract_vars( -376 y, self.n_grains -377 ) -378 # Uses nondimensional values of strain rate and velocity gradient. -379 orientations_diff, fractions_diff = _core.derivatives( -380 phase=self.phase, -381 fabric=self.fabric, -382 n_grains=self.n_grains, -383 orientations=orientations, -384 fractions=fractions, -385 strain_rate=strain_rate / strain_rate_max, -386 velocity_gradient=velocity_gradient / strain_rate_max, -387 stress_exponent=config["stress_exponent"], -388 deformation_exponent=config["deformation_exponent"], -389 nucleation_efficiency=config["nucleation_efficiency"], -390 gbm_mobility=config["gbm_mobility"], -391 volume_fraction=volume_fraction, -392 ) -393 return np.hstack( -394 ( -395 (velocity_gradient @ deformation_gradient).flatten(), -396 orientations_diff.flatten() * strain_rate_max, -397 fractions_diff * strain_rate_max, -398 ) -399 ) -400 -401 def perform_step(solver): -402 """Perform SciPy solver step and appropriate processing.""" -403 message = solver.step() -404 if message is not None and solver.status == "failed": -405 raise _err.IterationError(message) -406 # _log.debug( -407 # "%s step_size=%e", solver.__class__.__qualname__, solver.step_size -408 # ) -409 -410 deformation_gradient, orientations, fractions = _utils.extract_vars( -411 solver.y, self.n_grains -412 ) -413 orientations, fractions = _utils.apply_gbs( -414 orientations, -415 fractions, -416 config["gbs_threshold"], -417 self.orientations[-1], -418 self.n_grains, -419 ) -420 solver.y[9:] = np.hstack((orientations.flatten(), fractions)) -421 -422 # ===== Initialise and run the solver using the above callables ===== +371 raise ValueError( +372 f"phase must be a valid `MineralPhase`, not {self.phase}" +373 ) +374 +375 strain_rate = (velocity_gradient + velocity_gradient.transpose()) / 2 +376 strain_rate_max = np.abs(la.eigvalsh(strain_rate)).max() +377 deformation_gradient, orientations, fractions = _utils.extract_vars( +378 y, self.n_grains +379 ) +380 # Uses nondimensional values of strain rate and velocity gradient. +381 orientations_diff, fractions_diff = _core.derivatives( +382 phase=self.phase, +383 fabric=self.fabric, +384 n_grains=self.n_grains, +385 orientations=orientations, +386 fractions=fractions, +387 strain_rate=strain_rate / strain_rate_max, +388 velocity_gradient=velocity_gradient / strain_rate_max, +389 stress_exponent=config["stress_exponent"], +390 deformation_exponent=config["deformation_exponent"], +391 nucleation_efficiency=config["nucleation_efficiency"], +392 gbm_mobility=config["gbm_mobility"], +393 volume_fraction=volume_fraction, +394 ) +395 return np.hstack( +396 ( +397 (velocity_gradient @ deformation_gradient).flatten(), +398 orientations_diff.flatten() * strain_rate_max, +399 fractions_diff * strain_rate_max, +400 ) +401 ) +402 +403 def perform_step(solver): +404 """Perform SciPy solver step and appropriate processing.""" +405 message = solver.step() +406 if message is not None and solver.status == "failed": +407 raise _err.IterationError(message) +408 # _log.debug( +409 # "%s step_size=%e", solver.__class__.__qualname__, solver.step_size +410 # ) +411 +412 deformation_gradient, orientations, fractions = _utils.extract_vars( +413 solver.y, self.n_grains +414 ) +415 orientations, fractions = _utils.apply_gbs( +416 orientations, +417 fractions, +418 config["gbs_threshold"], +419 self.orientations[-1], +420 self.n_grains, +421 ) +422 solver.y[9:] = np.hstack((orientations.flatten(), fractions)) 423 -424 time_start, time_end, get_position = pathline -425 if not callable(get_velocity_gradient): -426 raise ValueError( -427 "unable to evaluate velocity gradient callable." -428 + " You must provide a callable with signature f(x)" -429 + " that returns a 3x3 matrix." -430 ) -431 if not callable(get_position): -432 raise ValueError( -433 "unable to evaluate position callable." -434 + " You must provide a callable with signature f(t)" -435 + " that returns a 3-component array." -436 ) -437 -438 y_start = np.hstack( -439 ( -440 deformation_gradient.flatten(), -441 self.orientations[-1].flatten(), -442 self.fractions[-1], -443 ) -444 ) -445 solver = LSODA( -446 eval_rhs, -447 time_start, -448 y_start, -449 time_end, -450 atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12), -451 rtol=kwargs.pop("rtol", 1e-6), -452 first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1), -453 # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)), -454 lband=self.lband, -455 uband=self.uband, -456 **kwargs, -457 ) -458 perform_step(solver) -459 while solver.status == "running": -460 perform_step(solver) -461 -462 # Extract final values for this simulation step, append to storage. -463 deformation_gradient, orientations, fractions = _utils.extract_vars( -464 solver.y.squeeze(), self.n_grains -465 ) -466 self.orientations.append(orientations) -467 self.fractions.append(fractions) -468 return deformation_gradient +424 # ===== Initialise and run the solver using the above callables ===== +425 +426 time_start, time_end, get_position = pathline +427 if not callable(get_velocity_gradient): +428 raise ValueError( +429 "unable to evaluate velocity gradient callable." +430 + " You must provide a callable with signature f(x)" +431 + " that returns a 3x3 matrix." +432 ) +433 if not callable(get_position): +434 raise ValueError( +435 "unable to evaluate position callable." +436 + " You must provide a callable with signature f(t)" +437 + " that returns a 3-component array." +438 ) +439 +440 y_start = np.hstack( +441 ( +442 deformation_gradient.flatten(), +443 self.orientations[-1].flatten(), +444 self.fractions[-1], +445 ) +446 ) +447 solver = LSODA( +448 eval_rhs, +449 time_start, +450 y_start, +451 time_end, +452 atol=kwargs.pop("atol", np.abs(y_start * 1e-6) + 1e-12), +453 rtol=kwargs.pop("rtol", 1e-6), +454 first_step=kwargs.pop("first_step", np.abs(time_end - time_start) * 1e-1), +455 # max_step=kwargs.pop("max_step", np.abs(time_end - time_start)), +456 lband=self.lband, +457 uband=self.uband, +458 **kwargs, +459 ) +460 perform_step(solver) +461 while solver.status == "running": +462 perform_step(solver) +463 +464 # Extract final values for this simulation step, append to storage. +465 deformation_gradient, orientations, fractions = _utils.extract_vars( +466 solver.y.squeeze(), self.n_grains +467 ) +468 self.orientations.append(orientations) +469 self.fractions.append(fractions) +470 return deformation_gradient @@ -1798,55 +1804,55 @@

-
470    def save(self, filename, postfix=None):
-471        """Save CPO data for all stored timesteps to a `numpy` NPZ file.
-472
-473        If `postfix` is not `None`, the data is appended to the NPZ file
-474        in fields ending with "`_postfix`".
-475
-476        Raises a `ValueError` if the data shapes are not compatible.
+            
472    def save(self, filename, postfix=None):
+473        """Save CPO data for all stored timesteps to a `numpy` NPZ file.
+474
+475        If `postfix` is not `None`, the data is appended to the NPZ file
+476        in fields ending with "`_postfix`".
 477
-478        See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`.
+478        Raises a `ValueError` if the data shapes are not compatible.
 479
-480        """
-481        if len(self.fractions) != len(self.orientations):
-482            raise ValueError(
-483                "Length of stored results must match."
-484                + " You've supplied currupted data with:\n"
-485                + f"- {len(self.fractions)} grain size results, and\n"
-486                + f"- {len(self.orientations)} orientation results."
-487            )
-488        if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains:
-489            data = {
-490                "meta": np.array(
-491                    [self.phase, self.fabric, self.regime], dtype=np.uint8
-492                ),
-493                "fractions": np.stack(self.fractions),
-494                "orientations": np.stack(self.orientations),
-495            }
-496            # Create parent directories, resolve relative paths.
-497            _io.resolve_path(filename)
-498            # Append to file, requires postfix (unique name).
-499            if postfix is not None:
-500                archive = ZipFile(filename, mode="a", allowZip64=True)
-501                for key in data.keys():
-502                    with archive.open(
-503                        f"{key}_{postfix}", "w", force_zip64=True
-504                    ) as file:
-505                        buffer = io.BytesIO()
-506                        np.save(buffer, data[key])
-507                        file.write(buffer.getvalue())
-508                        buffer.close()
-509            else:
-510                np.savez(filename, **data)
-511        else:
-512            raise ValueError(
-513                "Size of CPO data arrays must match number of grains."
-514                + " You've supplied corrupted data with:\n"
-515                + f"- `n_grains = {self.n_grains}`,\n"
-516                + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n"
-517                + f"- `orientations[0].shape = {self.orientations[0].shape}`."
-518            )
+480        See also: `numpy.savez`, `Mineral.load`, `Mineral.from_file`.
+481
+482        """
+483        if len(self.fractions) != len(self.orientations):
+484            raise ValueError(
+485                "Length of stored results must match."
+486                + " You've supplied currupted data with:\n"
+487                + f"- {len(self.fractions)} grain size results, and\n"
+488                + f"- {len(self.orientations)} orientation results."
+489            )
+490        if self.fractions[0].shape[0] == self.orientations[0].shape[0] == self.n_grains:
+491            data = {
+492                "meta": np.array(
+493                    [self.phase, self.fabric, self.regime], dtype=np.uint8
+494                ),
+495                "fractions": np.stack(self.fractions),
+496                "orientations": np.stack(self.orientations),
+497            }
+498            # Create parent directories, resolve relative paths.
+499            _io.resolve_path(filename)
+500            # Append to file, requires postfix (unique name).
+501            if postfix is not None:
+502                archive = ZipFile(filename, mode="a", allowZip64=True)
+503                for key in data.keys():
+504                    with archive.open(
+505                        f"{key}_{postfix}", "w", force_zip64=True
+506                    ) as file:
+507                        buffer = io.BytesIO()
+508                        np.save(buffer, data[key])
+509                        file.write(buffer.getvalue())
+510                        buffer.close()
+511            else:
+512                np.savez(filename, **data)
+513        else:
+514            raise ValueError(
+515                "Size of CPO data arrays must match number of grains."
+516                + " You've supplied corrupted data with:\n"
+517                + f"- `n_grains = {self.n_grains}`,\n"
+518                + f"- `fractions[0].shape = {self.fractions[0].shape}`, and\n"
+519                + f"- `orientations[0].shape = {self.orientations[0].shape}`."
+520            )
 
@@ -1873,33 +1879,33 @@

-
520    def load(self, filename, postfix=None):
-521        """Load CPO data from a `numpy` NPZ file.
-522
-523        If `postfix` is not `None`, data is read from fields ending with "`_postfix`".
+            
522    def load(self, filename, postfix=None):
+523        """Load CPO data from a `numpy` NPZ file.
 524
-525        See also: `Mineral.save`, `Mineral.from_file`.
+525        If `postfix` is not `None`, data is read from fields ending with "`_postfix`".
 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            self.fractions = list(data[f"fractions_{postfix}"])
-536            self.orientations = list(data[f"orientations_{postfix}"])
-537        else:
-538            phase, fabric, regime = data["meta"]
-539            self.fractions = list(data["fractions"])
-540            self.orientations = list(data["orientations"])
-541
-542        self.phase = phase
-543        self.fabric = fabric
-544        self.regime = regime
-545        self.orientations_init = self.orientations[0]
-546        self.fractions_init = self.fractions[0]
+527        See also: `Mineral.save`, `Mineral.from_file`.
+528
+529        """
+530        if not filename.endswith(".npz"):
+531            raise ValueError(
+532                f"Must only load from numpy NPZ format. Cannot load from {filename}."
+533            )
+534        data = np.load(filename)
+535        if postfix is not None:
+536            phase, fabric, regime = data[f"meta_{postfix}"]
+537            self.fractions = list(data[f"fractions_{postfix}"])
+538            self.orientations = list(data[f"orientations_{postfix}"])
+539        else:
+540            phase, fabric, regime = data["meta"]
+541            self.fractions = list(data["fractions"])
+542            self.orientations = list(data["orientations"])
+543
+544        self.phase = phase
+545        self.fabric = fabric
+546        self.regime = regime
+547        self.orientations_init = self.orientations[0]
+548        self.fractions_init = self.fractions[0]
 
@@ -1924,40 +1930,40 @@

-
548    @classmethod
-549    def from_file(cls, filename, postfix=None):
-550        """Construct a `Mineral` instance using data from a `numpy` NPZ file.
-551
-552        If `postfix` is not `None`, data is read from fields ending with “`_postfix`”.
+            
550    @classmethod
+551    def from_file(cls, filename, postfix=None):
+552        """Construct a `Mineral` instance using data from a `numpy` NPZ file.
 553
-554        See also: `Mineral.save`, `Mineral.load`.
+554        If `postfix` is not `None`, data is read from fields ending with “`_postfix`”.
 555
-556        """
-557        if not filename.endswith(".npz"):
-558            raise ValueError(
-559                f"Must only load from numpy NPZ format. Cannot load from {filename}."
-560            )
-561        data = np.load(filename)
-562        if postfix is not None:
-563            phase, fabric, regime = data[f"meta_{postfix}"]
-564            fractions = list(data[f"fractions_{postfix}"])
-565            orientations = list(data[f"orientations_{postfix}"])
-566        else:
-567            phase, fabric, regime = data["meta"]
-568            fractions = list(data["fractions"])
-569            orientations = list(data["orientations"])
-570
-571        mineral = cls(
-572            phase,
-573            fabric,
-574            regime,
-575            n_grains=len(fractions[0]),
-576            fractions_init=fractions[0],
-577            orientations_init=orientations[0],
-578        )
-579        mineral.fractions = fractions
-580        mineral.orientations = orientations
-581        return mineral
+556        See also: `Mineral.save`, `Mineral.load`.
+557
+558        """
+559        if not filename.endswith(".npz"):
+560            raise ValueError(
+561                f"Must only load from numpy NPZ format. Cannot load from {filename}."
+562            )
+563        data = np.load(filename)
+564        if postfix is not None:
+565            phase, fabric, regime = data[f"meta_{postfix}"]
+566            fractions = list(data[f"fractions_{postfix}"])
+567            orientations = list(data[f"orientations_{postfix}"])
+568        else:
+569            phase, fabric, regime = data["meta"]
+570            fractions = list(data["fractions"])
+571            orientations = list(data["orientations"])
+572
+573        mineral = cls(
+574            phase,
+575            fabric,
+576            regime,
+577            n_grains=len(fractions[0]),
+578            fractions_init=fractions[0],
+579            orientations_init=orientations[0],
+580        )
+581        mineral.fractions = fractions
+582        mineral.orientations = orientations
+583        return mineral
 
diff --git a/pydrex/pathlines.html b/pydrex/pathlines.html index b35f4e9a..3f281819 100644 --- a/pydrex/pathlines.html +++ b/pydrex/pathlines.html @@ -94,122 +94,129 @@

14 min_coords, 15 max_coords, 16 max_strain, - 17 **kwargs, - 18): - 19 """Determine the pathline for a particle in a steady state flow. - 20 - 21 The pathline will terminate at the given `final_location` and follow a curve - 22 determined by the velocity gradient. It works for both 2D (rectangular) and 3D - 23 (orthopiped¹) domains, so long as the provided callables expect/return arrays of the - 24 appropriate dimension. - 25 - 26 .. note:: - 27 The pathline is calculated backwards in time (t < 0) from the given endpoint. - 28 Therefore, the returned position callable should be evaluated at negative times. - 29 - 30 Args: - 31 - `final_location` (array) — coordinates of the final location - 32 - `get_velocity` (callable) — returns velocity vector at a point - 33 - `get_velocity_gradient` (callable) — returns velocity gradient matrix at a point - 34 - `min_coords` (array) — lower bound coordinates of the box - 35 - `max_coords` (array) — upper bound coordinates of the box - 36 - `max_strain` (float) — target strain (given as “tensorial” strain ε) at the final - 37 location, useful if the pathline never inflows into the domain (the pathline will - 38 only be traced backwards until a strain of 0 is reached, unless a domain boundary - 39 is reached first) - 40 - 41 Optional keyword arguments will be passed to `scipy.integrate.solve_ivp`. However, - 42 some of the arguments to the `solve_ivp` call may not be modified, and a warning - 43 will be raised if they are provided. - 44 - 45 Returns a tuple containing the time points and an interpolant that can be used - 46 to evaluate the pathline position (see `scipy.integrate.OdeSolution`). - 47 - 48 ¹An “orthopiped” is a 3D rectangle (called a “box” when we are in a hurry), see - 49 <https://www.whatistoday.net/2020/04/cuboid-dilemma.html>. - 50 - 51 """ + 17 regular_steps=None, + 18 **kwargs, + 19): + 20 """Determine the pathline for a particle in a steady state flow. + 21 + 22 The pathline will terminate at the given `final_location` and follow a curve + 23 determined by the velocity gradient. It works for both 2D (rectangular) and 3D + 24 (orthopiped¹) domains, so long as the provided callables expect/return arrays of the + 25 appropriate dimension. + 26 + 27 .. note:: + 28 The pathline is calculated backwards in time (t < 0) from the given endpoint. + 29 Therefore, the returned position callable should be evaluated at negative times. + 30 + 31 Args: + 32 - `final_location` (array) — coordinates of the final location + 33 - `get_velocity` (callable) — returns velocity vector at a point + 34 - `get_velocity_gradient` (callable) — returns velocity gradient matrix at a point + 35 - `min_coords` (array) — lower bound coordinates of the box + 36 - `max_coords` (array) — upper bound coordinates of the box + 37 - `max_strain` (float) — target strain (given as “tensorial” strain ε) at the final + 38 location, useful if the pathline never inflows into the domain (the pathline will + 39 only be traced backwards until a strain of 0 is reached, unless a domain boundary + 40 is reached first) + 41 - `regular_steps` (float, optional) — number of time steps to use for regular + 42 resampling between the start (t << 0) and end (t <= 0) of the pathline + 43 (if `None`, which is the default, then the timestamps obtained from + 44 `scipy.integrate.solve_ivp` are returned instead) + 45 + 46 Optional keyword arguments will be passed to `scipy.integrate.solve_ivp`. However, + 47 some of the arguments to the `solve_ivp` call may not be modified, and a warning + 48 will be raised if they are provided. + 49 + 50 Returns a tuple containing the time points and an interpolant that can be used + 51 to evaluate the pathline position (see `scipy.integrate.OdeSolution`). 52 - 53 def _terminate( - 54 time, point, get_velocity, get_velocity_gradient, min_coords, max_coords - 55 ): - 56 # Track “previous” (last seen) timestamp and total strain value. - 57 nonlocal _time_prev, _strain - 58 - 59 if _is_inside(point, min_coords, max_coords): - 60 = _utils.strain_increment( - 61 time - _time_prev, get_velocity_gradient(point) - 62 ) - 63 if time > _time_prev: # Timestamps jump around for SciPy to find the root. - 64 _strain += - 65 else: # Subtract strain increment because we are going backwards in time. - 66 _strain -= - 67 _time_prev = time - 68 return _strain - 69 # If we are outside the domain, always terminate. - 70 return 0 - 71 - 72 _terminate.terminal = True - 73 _strain = max_strain - 74 _time_prev = 0 - 75 _event_flag = False + 53 ¹An “orthopiped” is a 3D rectangle (called a “box” when we are in a hurry), see + 54 <https://www.whatistoday.net/2020/04/cuboid-dilemma.html>. + 55 + 56 """ + 57 + 58 def _terminate( + 59 time, point, get_velocity, get_velocity_gradient, min_coords, max_coords + 60 ): + 61 # Track “previous” (last seen) timestamp and total strain value. + 62 nonlocal _time_prev, _strain + 63 + 64 if _is_inside(point, min_coords, max_coords): + 65 = _utils.strain_increment( + 66 time - _time_prev, get_velocity_gradient(point) + 67 ) + 68 if time > _time_prev: # Timestamps jump around for SciPy to find the root. + 69 _strain += + 70 else: # Subtract strain increment because we are going backwards in time. + 71 _strain -= + 72 _time_prev = time + 73 return _strain + 74 # If we are outside the domain, always terminate. + 75 return 0 76 - 77 # Illegal keyword args, check the call below. Remove them and warn about it. - 78 for key in ("events", "jac", "dense_output", "args"): - 79 try: - 80 kwargs.pop(key) - 81 except KeyError: - 82 continue - 83 else: - 84 _log.warning("ignoring illegal keyword argument: %s", key) - 85 - 86 # We don't want to stop at a particular time, - 87 # so integrate time for 100 Myr, in seconds (“forever”). - 88 path = si.solve_ivp( - 89 _ivp_func, - 90 [0, -100e6 * 365.25 * 8.64e4], - 91 final_location, - 92 method=kwargs.pop("method", "LSODA"), - 93 events=[_terminate], - 94 args=(get_velocity, get_velocity_gradient, min_coords, max_coords), - 95 dense_output=True, - 96 jac=_ivp_jac, - 97 atol=kwargs.pop("atol", 1e-8), - 98 rtol=kwargs.pop("rtol", 1e-5), - 99 **kwargs, -100 ) -101 _log.info( -102 "calculated pathline from %s (t = %e) to %s (t = %e)", -103 path.sol(path.t[0]), -104 path.t[0], -105 path.sol(path.t[-2]), -106 path.t[-2], -107 ) -108 -109 # Remove the last timestep — integration stops one step after a terminal event. -110 return path.t[:-1], path.sol -111 -112 -113def _ivp_func(time, point, get_velocity, get_velocity_gradient, min_coords, max_coords): -114 """Internal use only, must have the same signature as `get_pathline`.""" -115 if _is_inside(point, min_coords, max_coords): -116 return get_velocity(point) -117 return np.zeros_like(point) + 77 _terminate.terminal = True + 78 _strain = max_strain + 79 _time_prev = 0 + 80 _event_flag = False + 81 + 82 # Illegal keyword args, check the call below. Remove them and warn about it. + 83 for key in ("events", "jac", "dense_output", "args"): + 84 try: + 85 kwargs.pop(key) + 86 except KeyError: + 87 continue + 88 else: + 89 _log.warning("ignoring illegal keyword argument: %s", key) + 90 + 91 # We don't want to stop at a particular time, + 92 # so integrate time for 100 Myr, in seconds (“forever”). + 93 path = si.solve_ivp( + 94 _ivp_func, + 95 [0, -100e6 * 365.25 * 8.64e4], + 96 final_location, + 97 method=kwargs.pop("method", "LSODA"), + 98 events=[_terminate], + 99 args=(get_velocity, get_velocity_gradient, min_coords, max_coords), +100 dense_output=True, +101 jac=_ivp_jac, +102 atol=kwargs.pop("atol", 1e-8), +103 rtol=kwargs.pop("rtol", 1e-5), +104 **kwargs, +105 ) +106 _log.info( +107 "calculated pathline from %s (t = %e) to %s (t = %e)", +108 path.sol(path.t[0]), +109 path.t[0], +110 path.sol(path.t[-1]), +111 path.t[-1], +112 ) +113 +114 if regular_steps is None: +115 return path.t[::-1], path.sol +116 else: +117 return np.linspace(path.t[-1], path.t[0], regular_steps + 1), path.sol 118 119 -120def _ivp_jac(time, point, get_velocity, get_velocity_gradient, min_coords, max_coords): -121 """Internal use only, must have the same signature as `_ivp_func`.""" +120def _ivp_func(time, point, get_velocity, get_velocity_gradient, min_coords, max_coords): +121 """Internal use only, must have the same signature as `get_pathline`.""" 122 if _is_inside(point, min_coords, max_coords): -123 return get_velocity_gradient(point) -124 return np.zeros((np.array(point).size,) * 2) +123 return get_velocity(point) +124 return np.zeros_like(point) 125 126 -127def _is_inside(point, min_coords, max_coords): -128 """Check if the point lies within the numerical domain.""" -129 assert np.array(point).size == len(min_coords) == len(max_coords) -130 if np.any(np.array(point) < min_coords) or np.any(np.array(point) > max_coords): -131 return False -132 return True +127def _ivp_jac(time, point, get_velocity, get_velocity_gradient, min_coords, max_coords): +128 """Internal use only, must have the same signature as `_ivp_func`.""" +129 if _is_inside(point, min_coords, max_coords): +130 return get_velocity_gradient(point) +131 return np.zeros((np.array(point).size,) * 2) +132 +133 +134def _is_inside(point, min_coords, max_coords): +135 """Check if the point lies within the numerical domain.""" +136 assert np.array(point).size == len(min_coords) == len(max_coords) +137 if np.any(np.array(point) < min_coords) or np.any(np.array(point) > max_coords): +138 return False +139 return True

@@ -219,7 +226,7 @@

def - get_pathline( final_location, get_velocity, get_velocity_gradient, min_coords, max_coords, max_strain, **kwargs): + get_pathline( final_location, get_velocity, get_velocity_gradient, min_coords, max_coords, max_strain, regular_steps=None, **kwargs): @@ -232,100 +239,107 @@

15 min_coords, 16 max_coords, 17 max_strain, - 18 **kwargs, - 19): - 20 """Determine the pathline for a particle in a steady state flow. - 21 - 22 The pathline will terminate at the given `final_location` and follow a curve - 23 determined by the velocity gradient. It works for both 2D (rectangular) and 3D - 24 (orthopiped¹) domains, so long as the provided callables expect/return arrays of the - 25 appropriate dimension. - 26 - 27 .. note:: - 28 The pathline is calculated backwards in time (t < 0) from the given endpoint. - 29 Therefore, the returned position callable should be evaluated at negative times. - 30 - 31 Args: - 32 - `final_location` (array) — coordinates of the final location - 33 - `get_velocity` (callable) — returns velocity vector at a point - 34 - `get_velocity_gradient` (callable) — returns velocity gradient matrix at a point - 35 - `min_coords` (array) — lower bound coordinates of the box - 36 - `max_coords` (array) — upper bound coordinates of the box - 37 - `max_strain` (float) — target strain (given as “tensorial” strain ε) at the final - 38 location, useful if the pathline never inflows into the domain (the pathline will - 39 only be traced backwards until a strain of 0 is reached, unless a domain boundary - 40 is reached first) - 41 - 42 Optional keyword arguments will be passed to `scipy.integrate.solve_ivp`. However, - 43 some of the arguments to the `solve_ivp` call may not be modified, and a warning - 44 will be raised if they are provided. - 45 - 46 Returns a tuple containing the time points and an interpolant that can be used - 47 to evaluate the pathline position (see `scipy.integrate.OdeSolution`). - 48 - 49 ¹An “orthopiped” is a 3D rectangle (called a “box” when we are in a hurry), see - 50 <https://www.whatistoday.net/2020/04/cuboid-dilemma.html>. - 51 - 52 """ + 18 regular_steps=None, + 19 **kwargs, + 20): + 21 """Determine the pathline for a particle in a steady state flow. + 22 + 23 The pathline will terminate at the given `final_location` and follow a curve + 24 determined by the velocity gradient. It works for both 2D (rectangular) and 3D + 25 (orthopiped¹) domains, so long as the provided callables expect/return arrays of the + 26 appropriate dimension. + 27 + 28 .. note:: + 29 The pathline is calculated backwards in time (t < 0) from the given endpoint. + 30 Therefore, the returned position callable should be evaluated at negative times. + 31 + 32 Args: + 33 - `final_location` (array) — coordinates of the final location + 34 - `get_velocity` (callable) — returns velocity vector at a point + 35 - `get_velocity_gradient` (callable) — returns velocity gradient matrix at a point + 36 - `min_coords` (array) — lower bound coordinates of the box + 37 - `max_coords` (array) — upper bound coordinates of the box + 38 - `max_strain` (float) — target strain (given as “tensorial” strain ε) at the final + 39 location, useful if the pathline never inflows into the domain (the pathline will + 40 only be traced backwards until a strain of 0 is reached, unless a domain boundary + 41 is reached first) + 42 - `regular_steps` (float, optional) — number of time steps to use for regular + 43 resampling between the start (t << 0) and end (t <= 0) of the pathline + 44 (if `None`, which is the default, then the timestamps obtained from + 45 `scipy.integrate.solve_ivp` are returned instead) + 46 + 47 Optional keyword arguments will be passed to `scipy.integrate.solve_ivp`. However, + 48 some of the arguments to the `solve_ivp` call may not be modified, and a warning + 49 will be raised if they are provided. + 50 + 51 Returns a tuple containing the time points and an interpolant that can be used + 52 to evaluate the pathline position (see `scipy.integrate.OdeSolution`). 53 - 54 def _terminate( - 55 time, point, get_velocity, get_velocity_gradient, min_coords, max_coords - 56 ): - 57 # Track “previous” (last seen) timestamp and total strain value. - 58 nonlocal _time_prev, _strain - 59 - 60 if _is_inside(point, min_coords, max_coords): - 61 = _utils.strain_increment( - 62 time - _time_prev, get_velocity_gradient(point) - 63 ) - 64 if time > _time_prev: # Timestamps jump around for SciPy to find the root. - 65 _strain += - 66 else: # Subtract strain increment because we are going backwards in time. - 67 _strain -= - 68 _time_prev = time - 69 return _strain - 70 # If we are outside the domain, always terminate. - 71 return 0 - 72 - 73 _terminate.terminal = True - 74 _strain = max_strain - 75 _time_prev = 0 - 76 _event_flag = False + 54 ¹An “orthopiped” is a 3D rectangle (called a “box” when we are in a hurry), see + 55 <https://www.whatistoday.net/2020/04/cuboid-dilemma.html>. + 56 + 57 """ + 58 + 59 def _terminate( + 60 time, point, get_velocity, get_velocity_gradient, min_coords, max_coords + 61 ): + 62 # Track “previous” (last seen) timestamp and total strain value. + 63 nonlocal _time_prev, _strain + 64 + 65 if _is_inside(point, min_coords, max_coords): + 66 = _utils.strain_increment( + 67 time - _time_prev, get_velocity_gradient(point) + 68 ) + 69 if time > _time_prev: # Timestamps jump around for SciPy to find the root. + 70 _strain += + 71 else: # Subtract strain increment because we are going backwards in time. + 72 _strain -= + 73 _time_prev = time + 74 return _strain + 75 # If we are outside the domain, always terminate. + 76 return 0 77 - 78 # Illegal keyword args, check the call below. Remove them and warn about it. - 79 for key in ("events", "jac", "dense_output", "args"): - 80 try: - 81 kwargs.pop(key) - 82 except KeyError: - 83 continue - 84 else: - 85 _log.warning("ignoring illegal keyword argument: %s", key) - 86 - 87 # We don't want to stop at a particular time, - 88 # so integrate time for 100 Myr, in seconds (“forever”). - 89 path = si.solve_ivp( - 90 _ivp_func, - 91 [0, -100e6 * 365.25 * 8.64e4], - 92 final_location, - 93 method=kwargs.pop("method", "LSODA"), - 94 events=[_terminate], - 95 args=(get_velocity, get_velocity_gradient, min_coords, max_coords), - 96 dense_output=True, - 97 jac=_ivp_jac, - 98 atol=kwargs.pop("atol", 1e-8), - 99 rtol=kwargs.pop("rtol", 1e-5), -100 **kwargs, -101 ) -102 _log.info( -103 "calculated pathline from %s (t = %e) to %s (t = %e)", -104 path.sol(path.t[0]), -105 path.t[0], -106 path.sol(path.t[-2]), -107 path.t[-2], -108 ) -109 -110 # Remove the last timestep — integration stops one step after a terminal event. -111 return path.t[:-1], path.sol + 78 _terminate.terminal = True + 79 _strain = max_strain + 80 _time_prev = 0 + 81 _event_flag = False + 82 + 83 # Illegal keyword args, check the call below. Remove them and warn about it. + 84 for key in ("events", "jac", "dense_output", "args"): + 85 try: + 86 kwargs.pop(key) + 87 except KeyError: + 88 continue + 89 else: + 90 _log.warning("ignoring illegal keyword argument: %s", key) + 91 + 92 # We don't want to stop at a particular time, + 93 # so integrate time for 100 Myr, in seconds (“forever”). + 94 path = si.solve_ivp( + 95 _ivp_func, + 96 [0, -100e6 * 365.25 * 8.64e4], + 97 final_location, + 98 method=kwargs.pop("method", "LSODA"), + 99 events=[_terminate], +100 args=(get_velocity, get_velocity_gradient, min_coords, max_coords), +101 dense_output=True, +102 jac=_ivp_jac, +103 atol=kwargs.pop("atol", 1e-8), +104 rtol=kwargs.pop("rtol", 1e-5), +105 **kwargs, +106 ) +107 _log.info( +108 "calculated pathline from %s (t = %e) to %s (t = %e)", +109 path.sol(path.t[0]), +110 path.t[0], +111 path.sol(path.t[-1]), +112 path.t[-1], +113 ) +114 +115 if regular_steps is None: +116 return path.t[::-1], path.sol +117 else: +118 return np.linspace(path.t[-1], path.t[0], regular_steps + 1), path.sol

@@ -355,6 +369,10 @@

location, useful if the pathline never inflows into the domain (the pathline will only be traced backwards until a strain of 0 is reached, unless a domain boundary is reached first) +
  • regular_steps (float, optional) — number of time steps to use for regular +resampling between the start (t << 0) and end (t <= 0) of the pathline +(if None, which is the default, then the timestamps obtained from +scipy.integrate.solve_ivp are returned instead)
  • Optional keyword arguments will be passed to scipy.integrate.solve_ivp. However, diff --git a/pydrex/utils.html b/pydrex/utils.html index c177b6a7..34db29e1 100644 --- a/pydrex/utils.html +++ b/pydrex/utils.html @@ -66,7 +66,7 @@

    API Documentation

    default_ncpus
  • - get_steps + diff_like
  • angle_fse_simpleshear @@ -203,21 +203,21 @@

    93 return 1 94 95 - 96def get_steps(a): + 96def diff_like(a): 97 """Get forward difference of 2D array `a`, with repeated last elements. 98 99 The repeated last elements ensure that output and input arrays have equal shape. 100 101 Examples: 102 -103 >>> get_steps(np.array([1, 2, 3, 4, 5])) +103 >>> diff_like(np.array([1, 2, 3, 4, 5])) 104 array([[1, 1, 1, 1, 1]]) 105 -106 >>> get_steps(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10]])) +106 >>> diff_like(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10]])) 107 array([[1, 1, 1, 1, 1], 108 [2, 3, 3, 1, 1]]) 109 -110 >>> get_steps(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10], [1, 0, 0, 0, np.inf]])) +110 >>> diff_like(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10], [1, 0, 0, 0, np.inf]])) 111 array([[ 1., 1., 1., 1., 1.], 112 [ 2., 3., 3., 1., 1.], 113 [-1., 0., 0., inf, nan]]) @@ -526,41 +526,41 @@

    -
    - +
    +
    def - get_steps(a): + diff_like(a): - +
    - -
     97def get_steps(a):
    - 98    """Get forward difference of 2D array `a`, with repeated last elements.
    - 99
    -100    The repeated last elements ensure that output and input arrays have equal shape.
    -101
    -102    Examples:
    -103
    -104    >>> get_steps(np.array([1, 2, 3, 4, 5]))
    -105    array([[1, 1, 1, 1, 1]])
    -106
    -107    >>> get_steps(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10]]))
    -108    array([[1, 1, 1, 1, 1],
    -109           [2, 3, 3, 1, 1]])
    -110
    -111    >>> get_steps(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10], [1, 0, 0, 0, np.inf]]))
    -112    array([[ 1.,  1.,  1.,  1.,  1.],
    -113           [ 2.,  3.,  3.,  1.,  1.],
    -114           [-1.,  0.,  0., inf, nan]])
    -115
    -116    """
    -117    a2 = np.atleast_2d(a)
    -118    return np.diff(
    -119        a2, append=np.reshape(a2[:, -1] + (a2[:, -1] - a2[:, -2]), (a2.shape[0], 1))
    -120    )
    +    
    +            
     97def diff_like(a):
    + 98    """Get forward difference of 2D array `a`, with repeated last elements.
    + 99
    +100    The repeated last elements ensure that output and input arrays have equal shape.
    +101
    +102    Examples:
    +103
    +104    >>> diff_like(np.array([1, 2, 3, 4, 5]))
    +105    array([[1, 1, 1, 1, 1]])
    +106
    +107    >>> diff_like(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10]]))
    +108    array([[1, 1, 1, 1, 1],
    +109           [2, 3, 3, 1, 1]])
    +110
    +111    >>> diff_like(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10], [1, 0, 0, 0, np.inf]]))
    +112    array([[ 1.,  1.,  1.,  1.,  1.],
    +113           [ 2.,  3.,  3.,  1.,  1.],
    +114           [-1.,  0.,  0., inf, nan]])
    +115
    +116    """
    +117    a2 = np.atleast_2d(a)
    +118    return np.diff(
    +119        a2, append=np.reshape(a2[:, -1] + (a2[:, -1] - a2[:, -2]), (a2.shape[0], 1))
    +120    )
     
    @@ -571,20 +571,20 @@

    Examples:

    -
    >>> get_steps(np.array([1, 2, 3, 4, 5]))
    +
    >>> diff_like(np.array([1, 2, 3, 4, 5]))
     array([[1, 1, 1, 1, 1]])
     
    -
    >>> get_steps(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10]]))
    +
    >>> diff_like(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10]]))
     array([[1, 1, 1, 1, 1],
            [2, 3, 3, 1, 1]])
     
    -
    >>> get_steps(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10], [1, 0, 0, 0, np.inf]]))
    +
    >>> diff_like(np.array([[1, 2, 3, 4, 5], [1, 3, 6, 9, 10], [1, 0, 0, 0, np.inf]]))
     array([[ 1.,  1.,  1.,  1.,  1.],
            [ 2.,  3.,  3.,  1.,  1.],
            [-1.,  0.,  0., inf, nan]])
    diff --git a/pydrex/velocity.html b/pydrex/velocity.html
    index bf4117d3..e81b1aa5 100644
    --- a/pydrex/velocity.html
    +++ b/pydrex/velocity.html
    @@ -212,8 +212,8 @@ 

    122 Args: 123 - `direction` (one of {"X", "Y", "Z"}) — velocity vector direction 124 - `deformation_plane` (one of {"X", "Y", "Z"}) — direction of velocity gradient -125 - `strain_rate` (float) — 1/2 × strength of velocity gradient (i.e. magnitude of the -126 velocity at a unit distance from the shear plane) +125 - `strain_rate` (float) — 1/2 × magnitude of the largest eigenvalue of the velocity +126 gradient 127 128 .. note:: 129 Input arrays to the returned callables must have homogeneous element types. @@ -457,8 +457,8 @@

    123 Args: 124 - `direction` (one of {"X", "Y", "Z"}) — velocity vector direction 125 - `deformation_plane` (one of {"X", "Y", "Z"}) — direction of velocity gradient -126 - `strain_rate` (float) — 1/2 × strength of velocity gradient (i.e. magnitude of the -127 velocity at a unit distance from the shear plane) +126 - `strain_rate` (float) — 1/2 × magnitude of the largest eigenvalue of the velocity +127 gradient 128 129 .. note:: 130 Input arrays to the returned callables must have homogeneous element types. @@ -518,8 +518,8 @@

    • direction (one of {"X", "Y", "Z"}) — velocity vector direction
    • deformation_plane (one of {"X", "Y", "Z"}) — direction of velocity gradient
    • -
    • strain_rate (float) — 1/2 × strength of velocity gradient (i.e. magnitude of the -velocity at a unit distance from the shear plane)
    • +
    • strain_rate (float) — 1/2 × magnitude of the largest eigenvalue of the velocity +gradient
    diff --git a/search.js b/search.js index da3fded2..c7d7a300 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 (pre-alpha)\nand therefore subject to breaking changes without notice.

    \n\n
    \n\n

    About

    \n\n

    Viscoplastic deformation of minerals, e.g. in Earth's mantle, leads to distinct\nsignatures in the mineral texture. Many minerals naturally occur in\npolycrystalline form, which means that they are composed of many grains with\ndifferent volumes and lattice orientations. Preferential alignment of the\naverage lattice orientation is called crystallographic preferred orientation\n(CPO). PyDRex simulates the development and evolution of CPO in deforming\npolycrystals, as well as tracking macroscopic finite strain measures.\nCurrently, the code supports olivine and enstatite mineral phases. The\nfollowing features are provided:

    \n\n
      \n
    • JIT-compiled CPO solver, based on the D-Rex model, which updates the\npolycrystal orientation distribution depending on the macroscopic velocity\ngradients
    • \n
    • Mineral class which stores attributes of a distinct mineral phase in the\npolycrystal and its texture snapshots
    • \n
    • Voigt averaging to calculate the average elastic tensor of a textured,\nmultiphase polycrystal
    • \n
    • Decomposition of average elastic tensors into components attributed to\nminerals with distinct lattice symmetries
    • \n
    • Crystallographic pole figure visualisation (contouring is a work in progress)
    • \n
    • [work in progress] Texture diagnostics: M-index, bingham average,\nPoint-Girdle-Random symmetry, coaxial a.k.a \"BA\" index, etc.
    • \n
    • [work in progress] Seismic anisotropy diagnostics: % tensorial anisotropy,\nhexagonal symmetry a.k.a transverse isotropy direction, etc.
    • \n
    \n\n

    The core CPO solver is based on the original Fortran 90 implementation by \u00c9douard Kaminski,\nwhich can be downloaded from this link (~90KB).\nThe reference papers are Kaminski & Ribe (2001)\nand Kaminski & Ribe (2004),\nand an open-access paper which discusses the model is Fraters & Billen (2021).

    \n\n

    Installation

    \n\n

    The minimum required Python version is set using requires-python in the\npyproject.toml file.\nFor installation instructions,\nsee the README file.

    \n\n

    Documentation

    \n\n

    The website menu can be used to discover the public API of this package.\nSome of the tests are also documented and can serve as usage examples.\nTheir docstrings can be viewed in this section.\nDocumentation is also available from the Python REPL via the help() method.

    \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 plastic deformation 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 (unrecrystallised) physical grains. Dynamic recrystallization is modelled using\nstatistical expressions which approximate the interaction of each grain with an\neffective medium based on the averaged dislocation energy of all other grains. Note that\nthe model is not suited to situations where static recrystallization processes are\nsignificant.

    \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 pydrex.mock 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 a .toml file.\nFor now just pass a dictionary to config in the Mineral.update_orientations method.\nA draft of the input file spec is shown below:

    \n\n
    \n
    # PyDRex TOML configuration specification.\n# Exactly one valid combination of fields from the [input] section are required,\n# the rest is optional.\n\n# Simulation name is optional but recommended.\nname = "pydrex-spec"\n\n# Input files/options are given in this section:\n[input]\n\n# Input data can be provided in one of three ways:\n# 1. An input mesh with the steady-state numerical velocity gradient field\n#    and a plain text SCSV file specifying the FINAL locations of the polycrystals.\n#    In this case, polycrystals will first be back-propagated along flow pathlines,\n#    and then forward-propagated while the CPO is calculated.\n#    The SCSV file should have column names 'X', 'Y', 'Z' for 3D or any two of those for 2D.\n# 2. A built-in (analytical) velocity gradient function from `pydrex.velocity_gradients`,\n#    its arguments, and INITIAL locations of the polycrystals. In this case,\n#    polycrystals will immediately be forward-advected in the specified field.\n# 3. Pre-computed pathline files with velocity gradients at each point.\n#    These can be either plain text SCSV files or binary NPZ files.\n#    They should have columns/fields called: 'X_id', 'Y_id', 'Z_id', 'L11_id', 'L12_id', 'L13_id', etc.\n#    where 'id' is replaced by an unique identifier of the particle/pathline.\n#    If a field called 't' is also present, it will be used for the timestamps.\n#    Alternatively, a fixed timestep for all paths can be specified using `timestep`.\n# 4. Names of fields to be read from a geodynamics framework during runtime (not implemented yet).\n\n# Example for method 1, not only .vtu but any format supported by meshio should work:\n# mesh = "filename.vtu"\n# locations_final = "filename.scsv"\n# timestep = 1e9\n\n# Example for method 2:\nvelocity_gradient = ["simple_shear_2d", "Y", "X", 5e-6]\nlocations_initial = "start.scsv"\ntimestep = 1e9\n\n# Example for method 3:\n# timestep = 1e9\n# paths = ["path001.npz", "path002.scsv"]\n\n# In cases where the pathlines do not exit the domain,\n# a maximum strain threshold can bee provided, after which advection is halted.\n# max_strain = 10\n\n# Output files/options are given in this section:\n[output]\n\n# Optional output directory, will be created if missing.\n# This is also relative to the parent directory of the TOML file,\n# unless an absolute path is given.\ndirectory = "out"\n\n# Optional choice of mineral phases to include in raw output.\n# Raw output means rotation matrices and grain volumes, so 10 floats per grain per mineral.\n# By default, raw output for all supported minerals is saved.\nraw_output = ["olivine"]\n\n# Optional choice of mineral phases to include in diagnostic output.\n# Diagnostic output includes texture symmetry, strength and mean angle results.\n# By default, diagnostic output for all supported minerals is saved.\ndiagnostics = ["olivine"]\n\n# Should anisotropy postprocessing results be calculated?\n# This uses voigt averaging so the effective values for the multiphase polycrystal are calculated.\nanisotropy = true\n\n# Optional pathline output files (velocity gradients, positions, timestamps, particle ids).\n# Pathline output files use the same format as pathline inputs (by default, they are not produced).\n# They are stored inside the output directory unless absolute paths are given.\n# paths = ["pathline001.scsv"]\n\n# Optional logging level for log files.\n# This sets the log level for all log files, overriding the default value of "WARNING".\n# Supported levels are controlled by Python's logging module.\n# Usually they are "CRITICAL", "ERROR", "WARNING", "INFO" and "DEBUG".\nlog_level = "DEBUG"\n\n# DREX and simulation parameters are given in this section:\n[parameters]\n\n# Optional olivine volume fraction to use for multiphase simulations.\n# If enstatite_fraction is provided, they must sum to 1.\n# Otherwise, the remainder is assumed to be enstatite.\n# olivine_fraction = 1.\n\n# Optional enstatite volume fraction to use for multiphase simulations.\n# If olivine_fraction is provided, they must sum to 1.\n# Otherwise, the remainder is assumed to be olivine.\n# enstatite_fraction = 0.\n\n# Optional initial olivine fabric. A-type by default.\ninitial_olivine_fabric = "A"\n\n# Optional DREX stress_exponent, see documentation for details.\nstress_exponent = 1.5\n\n# Optional DREX deformation_exponent, see documentation for details.\ndeformation_exponent = 3.5\n\n# Optional DREX grain boudary mobility, see documentation for details.\ngbm_mobility = 125\n\n# Optional DREX grain boundary sliding threshold, see documentation for details.\ngbs_threshold = 0.3\n\n# Optional DREX nucleation efficiency, see documentation for details.\nnucleation_efficiency = 5.0\n\n# Optional number of (initial) grains per mineral phase per polycrystal.\nnumber_of_grains = 2000\n
    \n
    \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
    • data (array) \u2014 Nx3x3 array of orientation matrices
    • \n
    • density (bool, optional) \u2014 plot contoured pole figures, False by default
    • \n
    • ref_axes (string, optional) \u2014 letters specifying the horizontal and vertical\naxes of the pole figure, and respective labels
    • \n
    • hkl (array, optional) \u2014 crystallographic axis (one of the slip\ndirections of olivine, i.e. [1, 0, 0], [0, 1, 0] or [0, 0, 1])
    • \n
    • density_kwargs (dict, optional) \u2014 keyword arguments to pass to\npydrex.stats.point_density if density=True
    • \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: ~matplotlib.transforms.BboxBase or None\n clip_on: bool\n clip_path: Patch or (Path, Transform) or None\n facecolor or fc: color\n figure: ~matplotlib.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: list of .AbstractPathEffect\n picker: None or bool or float or callable\n position: [left, bottom, width, height] or ~matplotlib.transforms.Bbox\n prop_cycle: ~cycler.Cycler\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: ~matplotlib.transforms.Transform\n url: str\n visible: bool\n xbound: (lower: float, upper: float)\n xlabel: str\n xlim: (left: float, right: float)\n xmargin: float greater than -0.5\n xscale: unknown\n xticklabels: unknown\n xticks: unknown\n ybound: (lower: float, upper: float)\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 and argument handling for command line tools.

    \n
    \n\n

    All CLI handlers should be registered in the CLI_HANDLERS namedtuple,\nwhich ensures that they will be installed as executable scripts alongside the package.

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

    PyDRex script to show information about serialized CPO data.

    \n\n

    Lists the keys that should be used for the postfix in pydrex.Mineral.load and\npydrex.Mineral.from_file.

    \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 by default.

    \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(), npz_file_inspector=NPZFileInspector())"}, "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
    • CRSS = Critical Resolved Shear Stress,\ni.e. threshold stress required to initiate slip on a slip system,\nnormalised to the stress required to initiate slip on the softest slip system
    • \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., 0., 0.],\n [ 0., 0., 1.],\n [ 0., -1., 0.]],\n\n [[ 0., 0., -1.],\n [ 0., 0., 0.],\n [ 1., 0., 0.]],\n\n [[ 0., 1., 0.],\n [-1., 0., 0.],\n [ 0., 0., 0.]]])"}, "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
    • phase (MineralPhase) \u2014 ordinal number of the mineral phase
    • \n
    • fabric (MineralFabric) \u2014 ordinal number of the fabric type
    • \n
    • n_grains (int) \u2014 number of \"grains\" i.e. discrete volume segments
    • \n
    • orientations (array) \u2014 n_grainsx3x3 orientations (direction cosines)
    • \n
    • fractions (array) \u2014 volume fractions of the grains relative to aggregate volume
    • \n
    • strain_rate (array) \u2014 3x3 dimensionless macroscopic strain-rate tensor
    • \n
    • velocity_gradient (array) \u2014 3x3 dimensionless macroscopic velocity gradient
    • \n
    • stress_exponent (float) \u2014 p in dislocation_density \u221d shear_stress^p
    • \n
    • deformation_exponent (float) \u2014 n in shear_stress \u221d |deformation_rate|^(1/n)
    • \n
    • nucleation_efficiency (float) \u2014 parameter controlling grain nucleation
    • \n
    • gmb_mobility (float) \u2014 grain boundary mobility parameter
    • \n
    • volume_fraction (float) \u2014 volume fraction of the mineral phase relative to\nother phases (multiphase simulations)
    • \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.elasticity_components": {"fullname": "pydrex.diagnostics.elasticity_components", "modulename": "pydrex.diagnostics", "qualname": "elasticity_components", "kind": "function", "doc": "

    Calculate elasticity decompositions for the given elasticity tensors.

    \n\n

    Args:

    \n\n
      \n
    • voigt_matrices (array) \u2014 the Nx6x6 Voigt matrix representations of the averaged\nelasticity tensors for a series of polycrystal textures
    • \n
    \n\n

    Returns a dictionary with the following data series:

    \n\n
      \n
    • 'bulk_modulus' \u2014 the computed bulk modulus for each Voigt matrix C
    • \n
    • 'shear_modulus' \u2014 the computed shear modulus for each Voigt matrix C
    • \n
    • 'percent_anisotropy' \u2014 for each Voigt matrix C, the total percentage of the\nnorm of the elastic tensor ||C|| that deviates from the norm of the \"closest\"\nisotropic elasticity tensor
    • \n
    • 'percent_hexagonal' \u2014 for each C, the percentage of ||C|| attributed to\nhexagonally symmetric minerals
    • \n
    • 'percent_tetragonal' \u2014 for each C, the percentage of ||C|| attributed to\ntetragonally symmetric minerals
    • \n
    • 'percent_orthorhombic' \u2014 for each C, the percentage of ||C|| attributed to\northorhombically symmetric minerals
    • \n
    • 'percent_monoclinic' \u2014 for each C, the percentage of ||C|| attributed to\nmonoclinically symmetric minerals
    • \n
    • 'percent_triclinic' \u2014 for each C, the percentage of ||C|| attributed to\ntriclinically \"symmetric\" minerals (no mirror planes)
    • \n
    • 'hexagonal_axis' \u2014 for each C, the axis of hexagonal symmetry for the \"closest\"\nhexagonally symmetric approximation to C, a.k.a. the \"transverse isotropy\" axis
    • \n
    \n\n
    \n\n

    Only 5 symmetry classes are relevant for elasticity decomposition,\ncompared to the usual 6 used to describe crystal families.\nCrystals with cubic symmetry contribute to the isotropic elasticity tensor,\nbecause the lattice spacing is identical in all orthogonal directions.\nNote also that the trigonal crystal system is not a crystal family\n(it belongs to the hexagonal family).

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

    Compute Bingham average of 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 largest principal strain value and the vector defining the axis of\nmaximum extension (longest semiaxis of the finite strain ellipsoid) from the 3x3\ndeformation gradient tensor.

    \n", "signature": "(deformation_gradient, driver='ev'):", "funcdef": "def"}, "pydrex.diagnostics.symmetry_pgr": {"fullname": "pydrex.diagnostics.symmetry_pgr", "modulename": "pydrex.diagnostics", "qualname": "symmetry_pgr", "kind": "function", "doc": "

    Compute texture symmetry eigenvalue diagnostics from grain 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_indices": {"fullname": "pydrex.diagnostics.misorientation_indices", "modulename": "pydrex.diagnostics", "qualname": "misorientation_indices", "kind": "function", "doc": "

    Calculate M-indices for a series of polycrystal textures.

    \n\n

    Calculate M-index using misorientation_index for a series of texture snapshots.\nThe orientation_stack is a NxMx3x3 array of orientations where N is the number of\ntexture snapshots and M is the number of grains.

    \n\n

    Uses the multiprocessing library to calculate texture indices for multiple snapshots\nsimultaneously. If ncpus is None the number of CPU cores to use is chosen\nautomatically based on the maximum number available to the Python interpreter,\notherwise the specified number of cores is requested. Alternatively, an existing\ninstance of multiprocessing.Pool can be provided.

    \n\n

    See misorientation_index for documentation of the remaining arguments.

    \n", "signature": "(\torientation_stack,\tsystem: pydrex.geometry.LatticeSystem,\tbins=None,\tncpus=None,\tpool=None):", "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 argument specifies the lattice system which determines intrinsic\nsymmetry degeneracies and the maximum allowable misorientation angle.\nSee _geo.LatticeSystem for supported systems.

    \n\n
    \n\n

    This method must be able to allocate an array of shape\n$ \\frac{N!}{2(N-2)!}\u00d7 M^{2} $\nfor N the length of orientations and M the number of symmetry operations for\nthe given system.

    \n\n
    \n\n

    See Skemer et al. (2005).

    \n", "signature": "(orientations, system: pydrex.geometry.LatticeSystem, bins=None):", "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.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.\nOptionally project the vector onto the plane (given by its unit normal)\nbefore calculating the angle.

    \n", "signature": "(vector, axis, plane=None):", "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
    • message \u2014 explanation of the error
    • \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.LatticeSystem": {"fullname": "pydrex.geometry.LatticeSystem", "modulename": "pydrex.geometry", "qualname": "LatticeSystem", "kind": "class", "doc": "

    Crystallographic lattice systems supported by postprocessing methods.

    \n\n

    The value of a member is (a, b) with a and b as given in the table below.\nThe additional row lists the maximum misorientation angle between two crystallites\nfor the given lattice system.

    \n\n
            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).

    \n", "bases": "enum.Enum"}, "pydrex.geometry.LatticeSystem.triclinic": {"fullname": "pydrex.geometry.LatticeSystem.triclinic", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.triclinic", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.triclinic: (1, 1)>"}, "pydrex.geometry.LatticeSystem.monoclinic": {"fullname": "pydrex.geometry.LatticeSystem.monoclinic", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.monoclinic", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.monoclinic: (2, 2)>"}, "pydrex.geometry.LatticeSystem.orthorhombic": {"fullname": "pydrex.geometry.LatticeSystem.orthorhombic", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.orthorhombic", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.orthorhombic: (2, 4)>"}, "pydrex.geometry.LatticeSystem.rhombohedral": {"fullname": "pydrex.geometry.LatticeSystem.rhombohedral", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.rhombohedral", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.rhombohedral: (3, 6)>"}, "pydrex.geometry.LatticeSystem.tetragonal": {"fullname": "pydrex.geometry.LatticeSystem.tetragonal", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.tetragonal", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.tetragonal: (4, 8)>"}, "pydrex.geometry.LatticeSystem.hexagonal": {"fullname": "pydrex.geometry.LatticeSystem.hexagonal", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.hexagonal", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.hexagonal: (6, 12)>"}, "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
    • \u03d5 is the longitude (\u201cazimuth\u201d) \u2208 [0, 2\u03c0)
    • \n
    • \u03b8 is the colatitude (\u201cinclination\u201d) \u2208 [0, \u03c0)
    • \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
    • \u03d5 is the longitude (\u201cazimuth\u201d) \u2208 [0, 2\u03c0)
    • \n
    • \u03b8 is the colatitude (\u201cinclination\u201d) \u2208 [0, \u03c0)
    • \n
    \n\n

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

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

    Calculate minimum misorientation angles for collections of rotation quaternions.

    \n\n

    Calculate the smallest angular distance between any quaternions q1_array[:, i] and\nq2_array[:, j], where i == j and the first dimensions of q1_array and q2_array\nare of equal length (the output will also be this long):

    \n\n
    q1_array.shape      q2_array.shape      len(output)\n---------------------------------------------------\nNxAx4               NxBx4               N\n
    \n\n
    \n\n

    This method must be able to allocate a floating point array of shape Nx(A*B)

    \n\n
    \n\n

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

    \n\n

    See also:

    \n\n\n", "signature": "(q1_array, q2_array):", "funcdef": "def"}, "pydrex.geometry.symmetry_operations": {"fullname": "pydrex.geometry.symmetry_operations", "modulename": "pydrex.geometry", "qualname": "symmetry_operations", "kind": "function", "doc": "

    Get sequence of symmetry operations for the given LatticeSystem.

    \n\n

    Returned transforms are either quaternions (for rotations of the lattice) or 4x4\nmatrices which pre-multiply a quaternion to give a reflected variant (reflections\nare improper rotations and cannot be represented as quaternions or SciPy rotation\nmatrices).

    \n", "signature": "(system: pydrex.geometry.LatticeSystem):", "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)\nis optimised to preserve area. See 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.reshape((len(a), len(a)))\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.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
    • PyDRex configuration files, which specify simulation parameters and initial conditions
    • \n
    • 'SCSV' files, CSV files with YAML frontmatter for (small) scientific datasets
    • \n
    • Mesh files via meshio, to set up final mineral positions in steady flows.
    • \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': 3500, '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

    Prints the YAML header section to output and returns a NamedTuple with columns of\nthe csv data. See also save_scsv.

    \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
    • stream \u2014 open output stream (e.g. file handle) where data should be written
    • \n
    • schema \u2014 SCSV schema dictionary, with 'delimiter', 'missing' and 'fields' keys
    • \n
    • comments (optional) \u2014 array of comments to be written above the schema, each on\na new line with an '#' prefix
    • \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
    • file \u2014 path to the file where the data should be written
    • \n
    • schema \u2014 SCSV schema dictionary, with 'delimiter', 'missing' and 'fields' keys
    • \n
    • data \u2014 data arrays (columns) of equal length
    • \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.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 directory.

    \n", "signature": "(directory):", "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.CONSOLE_LOGGER": {"fullname": "pydrex.logger.CONSOLE_LOGGER", "modulename": "pydrex.logger", "qualname": "CONSOLE_LOGGER", "kind": "variable", "doc": "

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

    \n", "signature": "(exec_type, exec_value, exec_traceback):", "funcdef": "def"}, "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
    • level (string) \u2014 logging level name e.g. \"DEBUG\", \"ERROR\", etc.\nSee Python's logging module for details.
    • \n
    • handler (optional, logging.Handler) \u2014 alternative handler to control instead\nof the default, CONSOLE_LOGGER.
    • \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\n

    Acronyms:

    \n\n
      \n
    • CPO = Crystallographic preferred orientation,\ni.e. preferential clustering of polycrystal grain orientations in SO(3),\nleading to an overall anisotropic orientation distribution
    • \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\n[88K download]

    \n", "default_value": "array([[320.71, 69.84, 71.22, 0. , 0. , 0. ],\n [ 69.84, 197.25, 74.8 , 0. , 0. , 0. ],\n [ 71.22, 74.8 , 234.32, 0. , 0. , 0. ],\n [ 0. , 0. , 0. , 63.77, 0. , 0. ],\n [ 0. , 0. , 0. , 0. , 77.67, 0. ],\n [ 0. , 0. , 0. , 0. , 0. , 78.36]])"}, "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\n[88K download]

    \n", "default_value": "array([[236.9, 79.6, 63.2, 0. , 0. , 0. ],\n [ 79.6, 180.5, 56.8, 0. , 0. , 0. ],\n [ 63.2, 56.8, 230.4, 0. , 0. , 0. ],\n [ 0. , 0. , 0. , 84.3, 0. , 0. ],\n [ 0. , 0. , 0. , 0. , 79.4, 0. ],\n [ 0. , 0. , 0. , 0. , 0. , 80.1]])"}, "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
    • minerals \u2014 list of pydrex.minerals.Mineral instances storing orientations and\nfractional volumes of the grains within each distinct mineral phase
    • \n
    • weights (dict) \u2014 dictionary containing weights of each mineral\nphase, as a fraction of 1, in keys named \"_fraction\",\ne.g. \"olivine_fraction\"
    • \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>>> olA = pydrex.Mineral(\n...     phase=pydrex.MineralPhase.olivine,\n...     fabric=pydrex.MineralFabric.olivine_A,\n...     regime=pydrex.DeformationRegime.dislocation,\n...     n_grains=2000\n... )\n>>> olA.phase\n<MineralPhase.olivine: 0>\n>>> olA.fabric\n<MineralFabric.olivine_A: 0>\n>>> olA.regime\n<DeformationRegime.dislocation: 1>\n>>> olA.n_grains\n2000\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>>> olA = 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", [\n...             [x * np.pi / 2, np.pi / 2, np.pi / 2] for x in rng.random(n_grains)\n...         ]\n...     ).inv().as_matrix(),\n... )\n>>> len(olA.orientations)\n1\n>>> type(olA.orientations)\n<class 'list'>\n>>> olA.orientations[0].shape\n(2000, 3, 3)\n>>> olA.fractions[0].shape\n(2000,)\n
    \n
    \n\n

    Note that minerals can also be constructed from serialized data,\nsee Mineral.load and Mineral.from_file.

    \n\n

    Attributes:

    \n\n
      \n
    • phase (pydrex.core.MineralPhase) \u2014 ordinal number of the mineral phase
    • \n
    • fabric (pydrex.core.MineralFabric) \u2014 ordinal number of the fabric type
    • \n
    • regime (pydrex.core.DeformationRegime) \u2014 ordinal number of the deformation\nregime
    • \n
    • n_grains (int) \u2014 number of grains in the aggregate
    • \n
    • fractions (list of arrays) \u2014 grain volume fractions for each texture snapshot
    • \n
    • orientations (list of arrays) \u2014 grain orientation matrices for each texture\nsnapshot
    • \n
    • seed (int) \u2014 seed used by the random number generator to set up the isotropic\ninitial condition when fractions_init or orientations_init are not provided
    • \n
    • lband (int) \u2014 passed to the scipy.integrate.LSODA solver
    • \n
    • uband (int) \u2014 passed to the scipy.integrate.LSODA solver
    • \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 = 3500,\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": "3500"}, "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. Return the updated deformation\ngradient measuring the corresponding macroscopic deformation.

    \n\n

    Args:

    \n\n
      \n
    • config (dict) \u2014 PyDRex configuration dictionary
    • \n
    • deformation_gradient (array) \u2014 3x3 initial deformation gradient tensor
    • \n
    • get_velocity_gradient (function) \u2014 callable with signature f(x) that returns\na 3x3 velocity gradient matrix at position x (vector)
    • \n
    • pathline (tuple) \u2014 tuple consisting of:\n
        \n
      1. the time at which to start the CPO integration (t_start)
      2. \n
      3. the time at which to stop the CPO integration (t_end)
      4. \n
      5. callable with signature f(t) that returns the position of the mineral at\ntime t \u2208 [t_start, t_end]
      6. \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': 5000}"}, "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 terminate at the given final_location and follow a curve\ndetermined by the velocity gradient. It works for both 2D (rectangular) and 3D\n(orthopiped\u00b9) domains, so long as the provided callables expect/return arrays of the\nappropriate dimension.

    \n\n
    \n\n

    The pathline is calculated backwards in time (t < 0) from the given endpoint.\nTherefore, the returned position callable should be evaluated at negative times.

    \n\n
    \n\n

    Args:

    \n\n
      \n
    • final_location (array) \u2014 coordinates of the final location
    • \n
    • get_velocity (callable) \u2014 returns velocity vector at a point
    • \n
    • get_velocity_gradient (callable) \u2014 returns velocity gradient matrix at a point
    • \n
    • min_coords (array) \u2014 lower bound coordinates of the box
    • \n
    • max_coords (array) \u2014 upper bound coordinates of the box
    • \n
    • max_strain (float) \u2014 target strain (given as \u201ctensorial\u201d strain \u03b5) at the final\nlocation, useful if the pathline never inflows into the domain (the pathline will\nonly be traced backwards until a strain of 0 is reached, unless a domain boundary\nis reached first)
    • \n
    \n\n

    Optional keyword arguments will be passed to scipy.integrate.solve_ivp. However,\nsome of the arguments to the solve_ivp call may not be modified, and a warning\nwill be raised if they are provided.

    \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\n

    \u00b9An \u201corthopiped\u201d is a 3D rectangle (called a \u201cbox\u201d when we are in a hurry), see\nhttps://www.whatistoday.net/2020/04/cuboid-dilemma.html.

    \n", "signature": "(\tfinal_location,\tget_velocity,\tget_velocity_gradient,\tmin_coords,\tmax_coords,\tmax_strain,\t**kwargs):", "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": "

    Return new samples from orientations weighted by the volume distribution.

    \n\n

    Args:

    \n\n
      \n
    • orientations (array) \u2014 NxMx3x3 array of orientations
    • \n
    • fractions (array) \u2014 NxM array of grain volume fractions
    • \n
    • n_samples (int) \u2014 optional number of samples to return, default is M
    • \n
    • seed (int) \u2014 optional seed for the random number generator, which is used to\npick random grain volume samples from the discrete distribution
    • \n
    \n\n

    Returns the Nxn_samplesx3x3 orientations and associated sorted (ascending) grain\nvolumes.

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

    Calculate misorientation histogram 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 argument specifies the lattice system which determines intrinsic\nsymmetry degeneracies and the maximum allowable misorientation angle.\nSee _geo.LatticeSystem for supported systems.

    \n\n
    \n\n

    This method must be able to allocate an array of shape\n$ \\frac{N!}{2(N-2)!}\u00d7 M^{2} $\nfor N the length of orientations and M the number of symmetry operations for\nthe given system.

    \n\n
    \n\n

    See Skemer et al. (2005).

    \n", "signature": "(orientations, system: pydrex.geometry.LatticeSystem, bins=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 lattice symmetry system.\nSee _geo.LatticeSystem for supported systems.

    \n", "signature": "(low, high, system: pydrex.geometry.LatticeSystem):", "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
    • gridsteps (int) \u2014 the number of steps, i.e. number of points along a diameter of\nthe spherical counting grid
    • \n
    • weights (array) \u2014 auxiliary weights for each data point
    • \n
    • kernel (string) \u2014 the name of the kernel function to use, see\nSPHERICAL_COUNTING_KERNELS
    • \n
    • axial (bool) \u2014 toggle axial versions of the kernel functions\n(for crystallographic data this should normally be kept as True)
    • \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., 0., 0.],\n [ 0., 0., 1.],\n [ 0., -1., 0.]],\n\n [[ 0., 0., -1.],\n [ 0., 0., 0.],\n [ 1., 0., 0.]],\n\n [[ 0., 1., 0.],\n [-1., 0., 0.],\n [ 0., 0., 0.]]])"}, "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. With reference to the full 4-th order elastic tensor, the\ncontractions are defined as:

    \n\n
      \n
    • $d_{ij} = C_{ijkk}$ (dilatational stiffness tensor)
    • \n
    • $v_{ij} = C_{ijkj}$ (deviatoric stiffness tensor)
    • \n
    \n\n

    Any vector which is an eigenvector of both $d_{ij}$ and $v_{ij}$ is always normal to\na symmetry plane of the elastic medium.

    \n\n

    See Equations 3.4 & 3.5 in Browaeys & Chevrot (2004).

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

    Project 21-component voigt_vector onto monoclinic symmetry subspace.

    \n\n

    Monoclinic symmetry is characterised by 13 independent elasticity components.

    \n\n

    See Browaeys & Chevrot (2004).

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

    Project 21-component voigt_vector onto orthorhombic symmetry subspace.

    \n\n

    Orthorhombic symmetry is characterised by 9 independent elasticity components.

    \n\n

    See Browaeys & Chevrot (2004).

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

    Project 21-component voigt_vector onto tetragonal symmetry subspace.

    \n\n

    Tetragonal symmetry is characterised by 6 independent elasticity components.

    \n\n

    See Browaeys & Chevrot (2004).

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

    Project 21-component voigt_vector onto hexagonal symmetry subspace.

    \n\n

    Hexagonal symmetry (a.k.a. transverse isotropy) is characterised by 5 independent\nelasticity components.

    \n\n

    See Browaeys & Chevrot (2004).

    \n", "signature": "(voigt_vector):", "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.strain_increment": {"fullname": "pydrex.utils.strain_increment", "modulename": "pydrex.utils", "qualname": "strain_increment", "kind": "function", "doc": "

    Calculate strain increment for a given time increment and velocity gradient.

    \n\n

    Returns \u201ctensorial\u201d strain increment \u03b5, which is equal to \u03b3/2 where \u03b3 is the\n\u201c(engineering) shear strain\u201d increment.

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

    Apply grain boundary sliding for small grains.

    \n", "signature": "(orientations, fractions, gbs_threshold, orientations_prev, n_grains):", "funcdef": "def"}, "pydrex.utils.extract_vars": {"fullname": "pydrex.utils.extract_vars", "modulename": "pydrex.utils", "qualname": "extract_vars", "kind": "function", "doc": "

    Extract deformation gradient, orientation matrices and grain sizes from y.

    \n", "signature": "(y, n_grains):", "funcdef": "def"}, "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.default_ncpus": {"fullname": "pydrex.utils.default_ncpus", "modulename": "pydrex.utils", "qualname": "default_ncpus", "kind": "function", "doc": "

    Get a safe default number of CPUs available for multiprocessing.

    \n\n

    On Linux platforms that support it, the method os.sched_getaffinity() is used.\nOn Mac OS, the command sysctl -n hw.ncpu is used.\nOn Windows, the environment variable NUMBER_OF_PROCESSORS is queried.\nIf any of these fail, a fallback of 1 is used and a warning is logged.

    \n", "signature": "():", "funcdef": "def"}, "pydrex.utils.get_steps": {"fullname": "pydrex.utils.get_steps", "modulename": "pydrex.utils", "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"}, "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.utils.lag_2d_corner_flow": {"fullname": "pydrex.utils.lag_2d_corner_flow", "modulename": "pydrex.utils", "qualname": "lag_2d_corner_flow", "kind": "function", "doc": "

    Get predicted grain orientation lag for 2D corner flow.

    \n\n

    See eq. 11 in Kaminski & Ribe (2002).

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

    Quaternion product, q1, q2 and output are in scalar-last (x,y,z,w) format.

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

    Redraw legend on matplotlib axis or figure.

    \n\n

    Transparency is removed from legend symbols.\nIf fig is not None and remove_all is True,\nall legends are first removed from the parent figure.\nOptional keyword arguments are passed to matplotlib.axes.Axes.legend by default,\nor matplotlib.figure.Figure.legend if fig is not None.

    \n\n

    If legendax is not None, the axis legend will be redrawn using the legendax axes\ninstead of taking up space in the original axes. This option requires fig=None.

    \n\n
    \n\n

    Note that if fig is not None, the legend may be cropped from the saved\nfigure due to a Matplotlib bug. In this case, it is required to add the\narguments bbox_extra_artists=(legend,) and bbox_inches=\"tight\" to savefig,\nwhere legend is the object returned by this function. To prevent the legend\nfrom consuming axes/subplot space, it is further required to add the lines:\nlegend.set_in_layout(False), fig.canvas.draw(), legend.set_layout(True)\nand fig.set_layout_engine(\"none\") before saving the figure.

    \n\n
    \n", "signature": "(ax, fig=None, legendax=None, remove_all=True, **kwargs):", "funcdef": "def"}, "pydrex.utils.add_subplot_labels": {"fullname": "pydrex.utils.add_subplot_labels", "modulename": "pydrex.utils", "qualname": "add_subplot_labels", "kind": "function", "doc": "

    Add subplot labels to axes mosaic.

    \n\n

    Use labelmap to specify a dictionary that maps keys in mosaic to subplot labels.\nIf labelmap is None, the keys in axs will be used as the labels by default.

    \n\n

    If internal is False (default), the axes titles will be used.\nOtherwise, internal labels will be drawn with ax.text,\nin which case loc must be a tuple of floats.

    \n\n

    Any axes in axs corresponding to the special key legend are skipped.

    \n", "signature": "(\tmosaic,\tlabelmap=None,\tloc='left',\tfontsize='medium',\tinternal=False,\t**kwargs):", "funcdef": "def"}, "pydrex.velocity": {"fullname": "pydrex.velocity", "modulename": "pydrex.velocity", "kind": "module", "doc": "
    \n

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

    \n
    \n\n

    For the sake of consistency, all callables returned from methods in this module expect a\n3D position vector as input. They also return 3D tensors in all cases. This means they\ncan be directly used as arguments to e.g. pydrex.minerals.Mineral.update_orientations.

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

    Return simple shear velocity and velocity gradient callables.

    \n\n

    The returned callables have signature f(x) where x is a 3D position vector.

    \n\n

    Args:

    \n\n
      \n
    • direction (one of {\"X\", \"Y\", \"Z\"}) \u2014 velocity vector direction
    • \n
    • deformation_plane (one of {\"X\", \"Y\", \"Z\"}) \u2014 direction of velocity gradient
    • \n
    • strain_rate (float) \u2014 1/2 \u00d7 strength of velocity gradient (i.e. magnitude of the\nvelocity at a unit distance from the shear plane)
    • \n
    \n\n
    \n\n

    Input arrays to the returned callables must have homogeneous element types.\nArrays with e.g. both floating point and integer values are not supported.

    \n\n
    \n\n

    Examples:

    \n\n
    \n
    >>> import numpy as np\n>>> u, L = simple_shear_2d("X", "Z", 1e-4)\n>>> u(np.array([0, 0, 0]))\narray([0., 0., 0.])\n>>> u(np.array([0, 0, 1]))\narray([0.0001, 0.    , 0.    ])\n>>> u(np.array([0.0, 0.0, 2.0]))\narray([0.0002, 0.    , 0.    ])\n>>> L(np.array([0, 0, 0]))\narray([[0.    , 0.    , 0.0002],\n       [0.    , 0.    , 0.    ],\n       [0.    , 0.    , 0.    ]])\n>>> L(np.array([0.0, 0.0, 1.0]))\narray([[0.    , 0.    , 0.0002],\n       [0.    , 0.    , 0.    ],\n       [0.    , 0.    , 0.    ]])\n
    \n
    \n", "signature": "(direction, deformation_plane, strain_rate):", "funcdef": "def"}, "pydrex.velocity.cell_2d": {"fullname": "pydrex.velocity.cell_2d", "modulename": "pydrex.velocity", "qualname": "cell_2d", "kind": "function", "doc": "

    Get velocity and velocity gradient callables for a steady-state 2D Stokes cell.

    \n\n

    The cell is centered at (0,0) and the velocity field is defined by:\n$$\n\\bm{u} = U\\cos(\u03c0 x/d)\\sin(\u03c0 z/d) \\bm{\\hat{h}} - U\\sin(\u03c0 x/d)\\cos(\u03c0 z/d) \\bm{\\hat{v}}\n$$\nwhere $\\bm{\\hat{h}}$ and $\\bm{\\hat{v}}$ are unit vectors in the chosen horizontal\nand vertical directions, respectively. The velocity at the cell edge has a magnitude\nof $U$ and $d$ is the length of a cell edge.

    \n\n

    The returned callables have signature f(x) where x is a 3D position vector.

    \n\n

    Args:

    \n\n
      \n
    • horizontal (one of {\"X\", \"Y\", \"Z\"}) \u2014 horizontal direction
    • \n
    • vertical (one of {\"X\", \"Y\", \"Z\"}) \u2014 vertical direction
    • \n
    • velocity_edge (float) \u2014 velocity magnitude at the center of the cell edge
    • \n
    • edge_length (float, optional) \u2014 the edge length of the cell (= 2 by default)
    • \n
    \n\n

    Examples:

    \n\n
    \n
    >>> import numpy as np\n>>> u, L = cell_2d("X", "Z", 1)\n>>> u(np.array([0, 0, 0]))\narray([ 0.,  0., -0.])\n>>> u(np.array([0, 0, 1]))\narray([ 1.,  0., -0.])\n>>> u(np.array([0, 1, 0]))  # Y-value is not used.\narray([ 0.,  0., -0.])\n>>> u(np.array([0, 0, -1]))\narray([-1.,  0., -0.])\n>>> u(np.array([1, 0, 0]))\narray([ 0.,  0., -1.])\n>>> u(np.array([-0.5, 0.0, 0.0]))\narray([0.        , 0.        , 0.70710678])\n>>> L(np.array([0, 0, 0]))\narray([[-0.        ,  0.        ,  1.57079633],\n       [ 0.        ,  0.        ,  0.        ],\n       [ 0.        ,  0.        , -1.57079633]])\n>>> L(np.array([0.5, 0.0, 0.0]))\narray([[-0.        ,  0.        ,  1.11072073],\n       [ 0.        ,  0.        ,  0.        ],\n       [ 0.        ,  0.        , -1.11072073]])\n>>> L(np.array([0, 0, 0])) == L(np.array([0, 1, 0]))  # Y-value is not used.\narray([[ True,  True,  True],\n       [ True,  True,  True],\n       [ True,  True,  True]])\n>>> L(np.array([1, 0, 0])) == L(np.array([0, 0, 1]))\narray([[ True,  True,  True],\n       [ True,  True,  True],\n       [ True,  True,  True]])\n>>> L(np.array([1, 0, 0])) == L(np.array([-1, 0, 0]))\narray([[ True,  True,  True],\n       [ True,  True,  True],\n       [ True,  True,  True]])\n>>> L(np.array([1, 0, 0])) == L(np.array([0, 0, -1]))\narray([[ True,  True,  True],\n       [ True,  True,  True],\n       [ True,  True,  True]])\n>>> L(np.array([0.5, 0.0, 0.5]))\narray([[-0.78539816,  0.        ,  0.78539816],\n       [ 0.        ,  0.        ,  0.        ],\n       [ 0.78539816,  0.        , -0.78539816]])\n
    \n
    \n\n
    \n
    >>> u, L = cell_2d("X", "Z", 6.3e-10, 1e5)\n>>> u(np.array([0, 0, 0]))\narray([ 0.,  0., -0.])\n>>> u(np.array([0.0, 0.0, -5e4]))\narray([-6.3e-10,  0.0e+00, -0.0e+00])\n>>> u(np.array([2e2, 0e0, 0e0]))\narray([ 0.0000000e+00,  0.0000000e+00, -3.9583807e-12])\n
    \n
    \n", "signature": "(horizontal, vertical, velocity_edge, edge_length=2):", "funcdef": "def"}, "pydrex.velocity.corner_2d": {"fullname": "pydrex.velocity.corner_2d", "modulename": "pydrex.velocity", "qualname": "corner_2d", "kind": "function", "doc": "

    Get velocity and velocity gradient callables for a steady-state 2D corner flow.

    \n\n

    The velocity 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$$\nSee also Fig. 5 in Kaminski & Ribe, 2002.

    \n\n

    The returned callables have signature f(x) where x is a 3D position vector.

    \n\n

    Args:

    \n\n
      \n
    • horizontal (one of {\"X\", \"Y\", \"Z\"}) \u2014 horizontal direction
    • \n
    • vertical (one of {\"X\", \"Y\", \"Z\"}) \u2014 vertical direction
    • \n
    • plate_speed (float) \u2014 speed of the \u201cplate\u201d i.e. upper boundary
    • \n
    \n", "signature": "(horizontal, vertical, plate_speed):", "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.pathline_box2d": {"fullname": "pydrex.visualisation.pathline_box2d", "modulename": "pydrex.visualisation", "qualname": "pathline_box2d", "kind": "function", "doc": "

    Plot pathlines and velocity arrows for a 2D box domain.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.

    \n\n

    Args:

    \n\n
      \n
    • get_velocity (callable) \u2014 object with call signature f(x) that returns\nthe 3D velocity vector at a given 3D position vector
    • \n
    • ref_axes (two letters from {\"x\", \"y\", \"z\"}) \u2014 labels for the horizontal and\nvertical axes (these also define the projection for the 3D velocity/position)
    • \n
    • colors (array) \u2014 monotonic values along a representative pathline in the flow
    • \n
    • positions (Nx3 array) \u2014 3D position vectors along the same pathline
    • \n
    • min_coords (array) \u2014 2D coordinates of the lower left corner of the domain
    • \n
    • max_coords (array) \u2014 2D coordinates of the upper right corner of the domain
    • \n
    • resolution (array) \u2014 2D resolution of the velocity arrow grid (i.e. number of\ngrid points in the horizontal and vertical directions) which can be set to None to\nprevent drawing velocity vectors
    • \n
    • aspect (str|float, optional) \u2014 see matplotlib.axes.Axes.set_aspect
    • \n
    • cmap (Matplotlib color map, optional) \u2014 color map for colors
    • \n
    • cpo_vectors (array, optional) \u2014 vectors to plot as bars at pathline locations
    • \n
    • cpo_strengths (array, optional) \u2014 strengths used to scale the cpo bars
    • \n
    • tick_formatter (callable, optional) \u2014 function used to format tick labels
    • \n
    \n\n

    Additional keyword arguments are passed to the matplotlib.axes.Axes.quiver call\nused to plot the velocity vectors.

    \n\n

    Returns the figure handle, the axes handle, the quiver collection (velocities) and\nthe scatter collection (pathline).

    \n", "signature": "(\tax,\tget_velocity,\tref_axes,\tcolors,\tpositions,\tmarker,\tmin_coords,\tmax_coords,\tresolution,\taspect='equal',\tcmap=<matplotlib.colors.ListedColormap object>,\tcpo_vectors=None,\tcpo_strengths=None,\ttick_formatter=<function <lambda>>,\t**kwargs):", "funcdef": "def"}, "pydrex.visualisation.alignment": {"fullname": "pydrex.visualisation.alignment", "modulename": "pydrex.visualisation", "qualname": "alignment", "kind": "function", "doc": "

    Plot angles (in degrees) versus strains on the given axis.

    \n\n

    Alignment angles could be either bingham averages or the a-axis in the hexagonal\nsymmetry projection, measured from e.g. the shear direction. In the first case,\nthey should be calculated from resampled grain orientations. Expects as many\nmarkers and labels as there are data series in angles.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.

    \n\n

    Args:

    \n\n
      \n
    • strains (array) \u2014 X-values, accumulated strain (tensorial) during CPO evolution,\nmay be a 2D array of multiple strain series
    • \n
    • angles (array) \u2014 Y-values, may be a 2D array of multiple angle series
    • \n
    • markers (sequence) \u2014 MatPlotLib markers to use for the data series
    • \n
    • labels (sequence) \u2014 labels to use for the data series
    • \n
    • err (array, optional) \u2014 standard errors for the angles, shapes must match
    • \n
    • \u03b8_max (int) \u2014 maximum angle (\u00b0) to show on the plot, should be less than 90
    • \n
    • \u03b8_fse (array, optional) \u2014 an array of angles from the long axis of the finite\nstrain ellipsoid to the reference direction (e.g. shear direction)
    • \n
    • colors (array, optional) \u2014 color coordinates for series of angles
    • \n
    • cmaps (Matplotlib color maps, optional) \u2014 color maps for colors
    • \n
    \n\n

    If colors and cmaps are used, then angle values are colored individually within\neach angle series.

    \n\n

    Returns a tuple of the figure handle, the axes handle and the set of colors used for\nthe data series plots.

    \n", "signature": "(\tax,\tstrains,\tangles,\tmarkers,\tlabels,\terr=None,\t\u03b8_max=90,\t\u03b8_fse=None,\tcolors=None,\tcmaps=None):", "funcdef": "def"}, "pydrex.visualisation.strengths": {"fullname": "pydrex.visualisation.strengths", "modulename": "pydrex.visualisation", "qualname": "strengths", "kind": "function", "doc": "

    Plot CPO strengths (e.g. M-indices) versus strains on the given axis.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.

    \n\n

    Args:

    \n\n
      \n
    • strains (array) \u2014 X-values, accumulated strain (tensorial) during CPO evolution,\nmay be a 2D array of multiple strain series
    • \n
    • strengths (array) \u2014 Y-values, may be a 2D array of multiple strength series
    • \n
    • markers (sequence) \u2014 MatPlotLib markers to use for the data series
    • \n
    • labels (sequence) \u2014 labels to use for the data series
    • \n
    • err (array, optional) \u2014 standard errors for the strengths, shapes must match
    • \n
    • colors (array, optional) \u2014 color coordinates for series of strengths
    • \n
    • cpo_threshold (float, optional) \u2014 plot a dashed line at this threshold
    • \n
    • cmaps (Matplotlib color maps, optional) \u2014 color maps for colors
    • \n
    \n\n

    If colors and cmaps are used, then strength values are colored individually\nwithin each strength series.

    \n\n

    Returns a tuple of the figure handle, the axes handle and the set of colors used for\nthe data series plots.

    \n", "signature": "(\tax,\tstrains,\tstrengths,\tylabel,\tmarkers,\tlabels,\terr=None,\tcpo_threshold=None,\tcolors=None,\tcmaps=None):", "funcdef": "def"}, "pydrex.visualisation.grainsizes": {"fullname": "pydrex.visualisation.grainsizes", "modulename": "pydrex.visualisation", "qualname": "grainsizes", "kind": "function", "doc": "

    Plot grain volume fractions versus strains on the given axis.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.

    \n", "signature": "(ax, strains, fractions):", "funcdef": "def"}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"fullname": "pydrex.visualisation.show_Skemer2016_ShearStrainAngles", "modulename": "pydrex.visualisation", "qualname": "show_Skemer2016_ShearStrainAngles", "kind": "function", "doc": "

    Show data from src/pydrex/data/thirdparty/Skemer2016_ShearStrainAngles.scsv.

    \n\n

    Plot data from the Skemer 2016 datafile on the axis given by ax. Select the\nstudies from which to plot the data, which must be a list of strings with exact\nmatches in the study column in the datafile.\nAlso filter the data to select only the given fabric\n(see pydrex.core.MineralFabric).

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.

    \n\n

    Returns a tuple containing:

    \n\n
      \n
    • the figure handle
    • \n
    • the axes handle
    • \n
    • the set of colors used for the data series plots
    • \n
    • the Skemer 2016 dataset
    • \n
    • the indices used to select data according to the \"studies\" and \"fabric\" filters
    • \n
    \n", "signature": "(ax, studies, markers, colors, fillstyles, labels, fabric):", "funcdef": "def"}, "pydrex.visualisation.spin": {"fullname": "pydrex.visualisation.spin", "modulename": "pydrex.visualisation", "qualname": "spin", "kind": "function", "doc": "

    Plot rotation rates of grains with known, unique initial [100] angles from X.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.\nThe default labels (\"target\", \"computed\") can also be overriden.\nIf shear_axis is not None, a dashed line will be drawn at the given x-value\n(and its reflection around 180\u00b0).

    \n\n

    Returns a tuple of the figure handle, the axes handle and the set of colors used for\nthe data series plots.

    \n", "signature": "(\tax,\tinitial_angles,\trotation_rates,\ttarget_initial_angles=None,\ttarget_rotation_rates=None,\tlabels=('target', 'computed'),\tshear_axis=None):", "funcdef": "def"}, "pydrex.visualisation.growth": {"fullname": "pydrex.visualisation.growth", "modulename": "pydrex.visualisation", "qualname": "growth", "kind": "function", "doc": "

    Plot grain growth of grains with known, unique initial [100] angles from X.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.\nThe default labels (\"target\", \"computed\") can also be overriden.\nIf shear_axis is not None, a dashed line will be drawn at the given x-value\n(and its reflection around 180\u00b0).

    \n\n

    Returns a tuple of the figure handle, the axes handle and the set of colors used for\nthe data series plots.

    \n", "signature": "(\tax,\tinitial_angles,\tfractions_diff,\ttarget_initial_angles=None,\ttarget_fractions_diff=None,\tlabels=('target', 'computed'),\tshear_axis=None):", "funcdef": "def"}, "pydrex.visualisation.figure_unless": {"fullname": "pydrex.visualisation.figure_unless", "modulename": "pydrex.visualisation", "qualname": "figure_unless", "kind": "function", "doc": "

    Create figure and axes if ax is None, or return existing figure for ax.

    \n\n

    If ax is None, a new figure is created for the axes with a few opinionated default\nsettings (grid, constrained layout, high DPI).

    \n\n

    Returns a tuple containing the figure handle and the axes object.

    \n", "signature": "(ax):", "funcdef": "def"}, "pydrex.visualisation.figure": {"fullname": "pydrex.visualisation.figure", "modulename": "pydrex.visualisation", "qualname": "figure", "kind": "function", "doc": "

    Create new figure with a few opinionated default settings.

    \n\n

    (e.g. grid, constrained layout, high DPI).

    \n\n

    The keyword argument figscale can be used to scale the figure width and height\nrelative to the default values by passing a tuple. Any additional keyword arguments\nare passed to matplotlib.pyplot.figure().

    \n", "signature": "(figscale=None, **kwargs):", "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),\nsuch as detailed test progress, use the flag pytest -v.\nThe custom optional flag --outdir=\"OUT\" is recommended\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.

    \n\n

    In total, the following custom pytest command line flags are defined by PyDRex:

    \n\n
      \n
    • --outdir (described above)
    • \n
    • --runbig (enable tests which require a large amount of RAM)
    • \n
    • --runslow (enable slow tests which require HPC resources, implies --runbig)
    • \n
    • --ncpus (number of CPU cores to use for shared memory multiprocessing, set to one less than the available maximum by default)
    • \n
    • --fontsize (Matplotlib rcParams[\"font.size\"])
    • \n
    • --markersize (Matplotlib rcParams[\"lines.markersize\"])
    • \n
    • --linewidth (Matplotlib rcParams[\"lines.linewidth\"])
    • \n
    \n\n

    Tests which require a \u201csignificant\u201d amount of memory (> ~16GB RAM) are disabled by default.\nTo fully check the functionality of the code, it is recommended to run these locally\nby using the --runbig flag before moving to larger simulations.

    \n\n

    Long tests/examples are also disabled by default and can be enabled with --runslow.\nIt is recommended to run these on a HPC cluster infrastructure (>100GB RAM, >32 cores).\nThe number of cores to use for shared memory multiprocessing can be specified with --ncpus.

    \n\n

    Writing tests

    \n\n

    For quick sanity checks and inline unit tests, use python doctests.\nThese will also appear as inline examples in the generated documentation.\nMore comprehensive unit tests and larger integration tests should be organised\ninto submodules of the test module.

    \n\n
      \n
    • To mark a test as \u201cbig\u201d (i.e. requiring more than ~16GB RAM), apply the\n@pytest.mark.big decorator to the corresponding method definition.

    • \n
    • To mark a test as \u201cslow\u201d (i.e. requiring more than ~32 cores), apply the\n@pytest.mark.slow decorator to the corresponding method definition.

    • \n
    \n\n

    Tests should not produce persistent output by default.\nIf a test method can produce such output for debugging or visualisation,\nit should accept the outdir positional argument,\nand 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
    • logs can be saved by using the pydrex.logger.logfile_enable context manager,\nwhich accepts a path name and an optional logging level as per Python's logging module\n(the default is logging.DEBUG which implies the most verbose output),
    • \n
    • figures can be saved by (implementing and) calling a helper from pydrex.visualisation, and
    • \n
    • data dumps can be saved to outdir, e.g. in .npz format (see the pydrex.minerals.Mineral.save method)\nIn all cases, saving to outdir should handle creation of parent directories.\nTo handle this as well as relative paths, we provide pydrex.io.resolve_path,\nwhich is a thin wrapper around some pathlib methods.
    • \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.n_grains": {"fullname": "tests.conftest.n_grains", "modulename": "tests.conftest", "qualname": "n_grains", "kind": "function", "doc": "

    \n", "signature": "(request):", "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.TestDislocationCreepOPX": {"fullname": "tests.test_core.TestDislocationCreepOPX", "modulename": "tests.test_core", "qualname": "TestDislocationCreepOPX", "kind": "class", "doc": "

    Single-grain orthopyroxene crystallographic rotation rate tests.

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

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

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

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

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

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

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

    Single grain of A-type olivine, slip 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.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"fullname": "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100", "modulename": "tests.test_core", "qualname": "TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100", "kind": "function", "doc": "

    Single grain of A-type olivine, slip 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.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"fullname": "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100", "modulename": "tests.test_core", "qualname": "TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100", "kind": "function", "doc": "

    Single grain of A-type olivine, slip 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.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"fullname": "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001", "modulename": "tests.test_core", "qualname": "TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001", "kind": "function", "doc": "

    Single grain of A-type olivine, slip 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_core.TestRecrystallisation2D": {"fullname": "tests.test_core.TestRecrystallisation2D", "modulename": "tests.test_core", "qualname": "TestRecrystallisation2D", "kind": "class", "doc": "

    Basic recrystallisation tests for 2D simple shear.

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

    \n", "default_value": "'recrystallisation_2D'"}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"fullname": "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane", "modulename": "tests.test_core", "qualname": "TestRecrystallisation2D.test_shear_dvdx_circle_inplane", "kind": "function", "doc": "

    360000 grains of A-type olivine with uniform spread of a-axes on a circle.

    \n\n

    Grain growth rates are compared to analytical calculations.\nThe a-axes are distributed in the YX plane (i.e.\\ rotated around Z).

    \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.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"fullname": "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane", "modulename": "tests.test_core", "qualname": "TestRecrystallisation2D.test_shear_dvdx_circle_shearplane", "kind": "function", "doc": "

    360000 grains of A-type olivine with uniform spread of a-axes on a circle.

    \n\n

    Unlike test_shear_dvdx_circle_inplane, two slip systems are active here,\nwith cyclical variety in which one is dominant depending on grain orientation.\nThe a-axes are distributed in the YZ plane\n(i.e.\\ extrinsic rotation around Z by 90\u00b0 and then around X).

    \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_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"}, "tests.test_corner_flow_2d.SUBDIR": {"fullname": "tests.test_corner_flow_2d.SUBDIR", "modulename": "tests.test_corner_flow_2d", "qualname": "SUBDIR", "kind": "variable", "doc": "

    \n", "default_value": "'2d_cornerflow'"}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"fullname": "tests.test_corner_flow_2d.TestCornerOlivineA", "modulename": "tests.test_corner_flow_2d", "qualname": "TestCornerOlivineA", "kind": "class", "doc": "

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

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

    \n", "default_value": "'corner_olivineA'"}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"fullname": "tests.test_corner_flow_2d.TestCornerOlivineA.run", "modulename": "tests.test_corner_flow_2d", "qualname": "TestCornerOlivineA.run", "kind": "function", "doc": "

    Run 2D corner flow A-type olivine simulation.

    \n", "signature": "(\tcls,\tparams,\tseed,\tget_velocity,\tget_velocity_gradient,\tmin_coords,\tmax_coords,\tmax_strain,\tn_timesteps,\tfinal_location):", "funcdef": "def"}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"fullname": "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed", "modulename": "tests.test_corner_flow_2d", "qualname": "TestCornerOlivineA.test_prescribed", "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\n
    \n\n

    This example takes about 11 CPU hours to run and uses around 60GB of RAM.\nIt is recommended to only use ncpus=4 which matches the number of\npathlines, because higher numbers can lead to redundant cross-core\ncommunication.

    \n\n
    \n", "signature": "(self, outdir, seed, ncpus):", "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.TestElasticityComponents": {"fullname": "tests.test_diagnostics.TestElasticityComponents", "modulename": "tests.test_diagnostics", "qualname": "TestElasticityComponents", "kind": "class", "doc": "

    Test symmetry decomposition of elastic tensors.

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

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

    \n", "signature": "(self):", "funcdef": "def"}, "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_output_shape": {"fullname": "tests.test_diagnostics.TestVolumeWeighting.test_output_shape", "modulename": "tests.test_diagnostics", "qualname": "TestVolumeWeighting.test_output_shape", "kind": "function", "doc": "

    Test that we get the correct output shape.

    \n", "signature": "(self):", "funcdef": "def"}, "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.TestVolumeWeighting.test_common_input_errors": {"fullname": "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors", "modulename": "tests.test_diagnostics", "qualname": "TestVolumeWeighting.test_common_input_errors", "kind": "function", "doc": "

    Test that exceptions are raised for bad input 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_ortho": {"fullname": "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_texture_uniform_ortho", "kind": "function", "doc": "

    Test with random (uniform distribution) orthorhombic grain orientations.

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

    Test for orthorhombic grains spread within 10\u00b0 of the \u00b1X axis.

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

    Test for orthorhombic grains spread within 45\u00b0 of the \u00b1X axis.

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

    Test M-index for textures of increasing strength.

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

    Test M-index for girdled texture.

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

    PyDRex: Run doctests for all submodules.

    \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 for all submodules.

    \n", "signature": "(module):", "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_save_scsv_errors": {"fullname": "tests.test_scsv.test_save_scsv_errors", "modulename": "tests.test_scsv", "qualname": "test_save_scsv_errors", "kind": "function", "doc": "

    Check that we raise errors when attempting to write bad SCSV data.

    \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 stationary 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 (A-type) simple shear tests.

    \n\n

    Returns a tuple with the mineral and the FSE angle (or None if return_fse is\nNone).

    \n", "signature": "(\tcls,\tparams,\ttimestamps,\tstrain_rate,\tget_velocity_gradient,\tshear_direction,\tseed=None,\treturn_fse=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_GBM_FortranDRex": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.interp_GBM_FortranDRex", "kind": "function", "doc": "

    Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.

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

    Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.

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

    Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.

    \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_zero_recrystallisation": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_zero_recrystallisation", "kind": "function", "doc": "

    Check that M*=0 is a reliable switch to turn off recrystallisation.

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

    Check that M={50,100,150}, \u03bb=5 causes decreasing grain size median.

    \n", "signature": "(self, seed, gbm_mobility):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_dvdx_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", "signature": "(\tself,\toutdir,\tseeds_nearX45,\tncpus,\tgbs_threshold,\tnucleation_efficiency):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_dvdx_GBM", "kind": "function", "doc": "

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

    \n\n

    Velocity gradient:\n$$\n\\bm{L} = 10^{-4} \u00d7\n \\begin{bmatrix} 0 & 0 & 0 \\cr 2 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}\n$$

    \n\n

    Results are compared to the Fortran 90 output.

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

    Compare results for various values of $$M^\u2217$$ to A-type olivine data.

    \n\n

    Velocity gradient:\n$$\n\\bm{L} = 10^{-4} \u00d7\n \\begin{bmatrix} 0 & 0 & 0 \\cr 2 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}\n$$

    \n\n

    Unlike test_dvdx_GBM,\ngrain boudary sliding is enabled here (see _io.DEFAULT_PARAMS).\nData are provided by Skemer & Hansen, 2016.

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

    PyDRex: Simple shear 3D tests.

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

    \n", "default_value": "'3d_simple_shear'"}, "tests.test_simple_shear_3d.TestFraters2021": {"fullname": "tests.test_simple_shear_3d.TestFraters2021", "modulename": "tests.test_simple_shear_3d", "qualname": "TestFraters2021", "kind": "class", "doc": "

    Tests inspired by the benchmarks presented in [Fraters & Billen, 2021].

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

    \n", "default_value": "'Fraters2021'"}, "tests.test_simple_shear_3d.TestFraters2021.run": {"fullname": "tests.test_simple_shear_3d.TestFraters2021.run", "modulename": "tests.test_simple_shear_3d", "qualname": "TestFraters2021.run", "kind": "function", "doc": "

    Run simulation with stationary particles in the given velocity gradient.

    \n\n

    The optional RNG seed is used for the initial pseudorandom orientations.\nA prefix msg will be printed before each timestep log message if given.\nOther keyword args are passed to pydrex.Mineral.update_orientations.

    \n\n

    Returns a tuple containing one olivine (A-type) and one enstatite mineral.\nIf params[\"enstatite_fraction\"] is zero, then the second tuple element will be\nNone instead.

    \n", "signature": "(\tcls,\tparams,\ttimestamps,\tget_velocity_gradient_initial,\tget_velocity_gradient_final,\tswitch_time,\tmsg,\tseed=None):", "funcdef": "def"}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"fullname": "tests.test_simple_shear_3d.TestFraters2021.test_direction_change", "modulename": "tests.test_simple_shear_3d", "qualname": "TestFraters2021.test_direction_change", "kind": "function", "doc": "

    Test a-axis alignment in simple shear with instantaneous geometry change.

    \n\n

    The simulation runs for 5 Ma with a strain rate of 1.58e-14/s, resulting in an\naccumulated strain invariant of 2.5.

    \n\n

    The initial shear has nonzero du/dz and the final shear has nonzero dv/dx where\nu is the velocity along X and v the velocity along Y.

    \n", "signature": "(self, outdir, seeds, params_Fraters2021, switch_time_Ma, ncpus):", "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_vortex_2d": {"fullname": "tests.test_vortex_2d", "modulename": "tests.test_vortex_2d", "kind": "module", "doc": "
    \n

    PyDRex: tests for CPO stability in 2D vortex and Stokes cell flows.

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

    \n", "default_value": "'2d_vortex'"}, "tests.test_vortex_2d.TestCellOlivineA": {"fullname": "tests.test_vortex_2d.TestCellOlivineA", "modulename": "tests.test_vortex_2d", "qualname": "TestCellOlivineA", "kind": "class", "doc": "

    Tests for A-type olivine polycrystals in a 2D Stokes cell.

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

    \n", "default_value": "'cell_olivineA'"}, "tests.test_vortex_2d.TestCellOlivineA.run": {"fullname": "tests.test_vortex_2d.TestCellOlivineA.run", "modulename": "tests.test_vortex_2d", "qualname": "TestCellOlivineA.run", "kind": "function", "doc": "

    Run 2D Stokes cell A-type olivine simulation.

    \n", "signature": "(\tcls,\tparams,\tfinal_location,\tget_velocity,\tget_velocity_gradient,\tmin_coords,\tmax_coords,\tmax_strain,\tseed=None):", "funcdef": "def"}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"fullname": "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k", "modulename": "tests.test_vortex_2d", "qualname": "TestCellOlivineA.test_xz_10k", "kind": "function", "doc": "

    Run 2D cell test with 10000 grains (~14GiB RAM requirement).

    \n", "signature": "(self, outdir, seed):", "funcdef": "def"}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"fullname": "tests.test_vortex_2d.TestCellOlivineA.test_xz", "modulename": "tests.test_vortex_2d", "qualname": "TestCellOlivineA.test_xz", "kind": "function", "doc": "

    Test to check that 5000 grains is \"enough\" to resolve transient features.

    \n", "signature": "(self, outdir, seed, n_grains):", "funcdef": "def"}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"fullname": "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble", "modulename": "tests.test_vortex_2d", "qualname": "TestCellOlivineA.test_xz_ensemble", "kind": "function", "doc": "

    Test to demonstrate stability of the dip at \u03b5 \u2248 3.75 for 5000+ grains.

    \n", "signature": "(self, outdir, seeds_nearX45, ncpus, n_grains):", "funcdef": "def"}}, "docInfo": {"pydrex": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 2230}, "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": 267}, "pydrex.cli": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 46}, "pydrex.cli.NPZFileInspector": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 40}, "pydrex.cli.PoleFigureVisualiser": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 50}, "pydrex.cli.CLI_HANDLERS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 11, "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": 47, "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": 51}, "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.elasticity_components": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 335}, "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": 26, "bases": 0, "doc": 43}, "pydrex.diagnostics.symmetry_pgr": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 94}, "pydrex.diagnostics.misorientation_indices": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 67, "bases": 0, "doc": 132}, "pydrex.diagnostics.misorientation_index": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 127}, "pydrex.diagnostics.coaxial_index": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 89}, "pydrex.diagnostics.smallest_angle": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 51}, "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.LatticeSystem": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 102}, "pydrex.geometry.LatticeSystem.triclinic": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry.LatticeSystem.monoclinic": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry.LatticeSystem.orthorhombic": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry.LatticeSystem.rhombohedral": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry.LatticeSystem.tetragonal": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry.LatticeSystem.hexagonal": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "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.misorientation_angles": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 18, "bases": 0, "doc": 137}, "pydrex.geometry.symmetry_operations": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "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": 793}, "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": 35}, "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.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.CONSOLE_LOGGER": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "pydrex.logger.handle_exception": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 24, "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": 47}, "pydrex.minerals.OLIVINE_STIFFNESS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 60, "signature": 0, "bases": 0, "doc": 43}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 60, "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": 1157}, "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": 189}, "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": 57, "bases": 0, "doc": 315}, "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": 106}, "pydrex.stats.misorientation_hist": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 127}, "pydrex.stats.misorientations_random": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 83}, "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": 47, "signature": 0, "bases": 0, "doc": 3}, "pydrex.tensors.voigt_decompose": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 117}, "pydrex.tensors.mono_project": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 37}, "pydrex.tensors.ortho_project": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 37}, "pydrex.tensors.tetr_project": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 37}, "pydrex.tensors.hex_project": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 42}, "pydrex.tensors.upper_tri_to_symmetric": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 252}, "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.strain_increment": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 36}, "pydrex.utils.apply_gbs": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 34, "bases": 0, "doc": 10}, "pydrex.utils.extract_vars": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 13}, "pydrex.utils.remove_nans": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "pydrex.utils.default_ncpus": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 73}, "pydrex.utils.get_steps": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 384}, "pydrex.utils.angle_fse_simpleshear": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 17}, "pydrex.utils.lag_2d_corner_flow": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 26}, "pydrex.utils.quat_product": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 18}, "pydrex.utils.redraw_legend": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 49, "bases": 0, "doc": 229}, "pydrex.utils.add_subplot_labels": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 72, "bases": 0, "doc": 110}, "pydrex.velocity": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 67}, "pydrex.velocity.simple_shear_2d": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 23, "bases": 0, "doc": 489}, "pydrex.velocity.cell_2d": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 1409}, "pydrex.velocity.corner_2d": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 250}, "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.pathline_box2d": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 165, "bases": 0, "doc": 325}, "pydrex.visualisation.alignment": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 93, "bases": 0, "doc": 320}, "pydrex.visualisation.strengths": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 87, "bases": 0, "doc": 230}, "pydrex.visualisation.grainsizes": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 38}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 149}, "pydrex.visualisation.spin": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 95, "bases": 0, "doc": 94}, "pydrex.visualisation.growth": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 95, "bases": 0, "doc": 94}, "pydrex.visualisation.figure_unless": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 63}, "pydrex.visualisation.figure": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 23, "bases": 0, "doc": 64}, "tests": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 646}, "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.n_grains": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "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.TestDislocationCreepOPX": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "tests.test_core.TestDislocationCreepOPX.class_id": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.test_core.TestDislocationCreepOlivineA": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 37}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 37}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 37}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 37}, "tests.test_core.TestRecrystallisation2D": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "tests.test_core.TestRecrystallisation2D.class_id": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"qualname": 6, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 68}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"qualname": 6, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 93}, "tests.test_corner_flow_2d": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_corner_flow_2d.SUBDIR": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 74, "bases": 0, "doc": 11}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 80}, "tests.test_diagnostics": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_diagnostics.TestElasticityComponents": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 9}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "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_output_shape": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 11}, "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.TestVolumeWeighting.test_common_input_errors": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 12}, "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_ortho": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 14}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 14}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "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": 11, "bases": 0, "doc": 8}, "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_save_scsv_errors": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 15}, "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": 14}, "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": 69, "bases": 0, "doc": 39}, "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_GBM_FortranDRex": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"qualname": 5, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "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_zero_recrystallisation": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 15}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 18}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 42}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 27, "bases": 0, "doc": 58}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 76}, "tests.test_simple_shear_3d": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_simple_shear_3d.SUBDIR": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_simple_shear_3d.TestFraters2021": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "tests.test_simple_shear_3d.TestFraters2021.run": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 66, "bases": 0, "doc": 91}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 69}, "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_vortex_2d": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 19}, "tests.test_vortex_2d.SUBDIR": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "tests.test_vortex_2d.TestCellOlivineA": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "tests.test_vortex_2d.TestCellOlivineA.run": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 72, "bases": 0, "doc": 11}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 13}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 27, "bases": 0, "doc": 15}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 18}}, "length": 299, "save": true}, "index": {"qualname": {"root": {"0": {"0": {"1": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "1": {"0": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.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.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0, "k": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"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}}}}}}}, "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}}}}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"tf": 1}}, "df": 1}}, "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}, "pydrex.visualisation.pathline_box2d": {"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": {"pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 4}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.quat_product": {"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.TestCornerOlivineA.test_prescribed": {"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}, "tests.conftest.n_grains": {"tf": 1}}, "df": 2, "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}}}, "p": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}, "tests.conftest.ncpus": {"tf": 1}}, "df": 2}}}}, "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_pgr": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 2}, "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}, "pydrex.utils.strain_increment": {"tf": 1}}, "df": 2}}}, "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}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.strengths": {"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}}}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.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.test_save_scsv_errors": {"tf": 1}}, "df": 5, "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}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.spin": {"tf": 1}}, "df": 1}}, "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_ortho": {"tf": 1}}, "df": 2}}, "docs": {}, "df": 0}, "4": {"5": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"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}}}}}}, "w": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 9, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"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.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 4}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 5}}}, "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.simple_shear_2d": {"tf": 1}}, "df": 1, "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}}}}}}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}}, "df": 5}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"2": {"0": {"1": {"6": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 2}, "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.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}}, "df": 7}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.get_crss": {"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, "m": {"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": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 1}}}}, "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.CONSOLE_LOGGER": {"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.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2}}}}}, "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}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"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": {"tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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": {"pydrex.logger.handle_exception": {"tf": 1}}, "df": 1, "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, "x": {"docs": {"pydrex.tensors.hex_project": {"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.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 1}}}}}}}, "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}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.misorientation_hist": {"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_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 4, "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": {}, "df": 0, "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}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.tensors.mono_project": {"tf": 1}}, "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.geometry.LatticeSystem.monoclinic": {"tf": 1}}, "df": 1}}}}}}}}, "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}}}}}}}}}}}, "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}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}}, "df": 10}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.tensors.ortho_project": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 6, "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.geometry.LatticeSystem.orthorhombic": {"tf": 1}}, "df": 1}}}}}}}}}}, "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}}}}}}}}}}}, "p": {"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, "s": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.outdir": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 4}}}}}}, "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_ensemble": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_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}}}}}, "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, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"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, "s": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"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.handle_exception": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 2}}}}}}}, "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}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.extract_vars": {"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}}}}}}}, "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": {}, "df": 0, "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.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.utils.default_ncpus": {"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}}}}}}}}}, "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": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}}, "df": 2}}}, "v": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 6}, "z": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.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, "x": {"2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"2": {"0": {"0": {"4": {"docs": {"tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "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}}}}}}}}, "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}}}}, "e": {"docs": {}, "df": 0, "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}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.extract_vars": {"tf": 1}}, "df": 1}}, "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}}}}}}}}, "a": {"docs": {"pydrex.core.MineralFabric.olivine_A": {"tf": 1}}, "df": 1, "b": {"docs": {"pydrex.core.MineralFabric.enstatite_AB": {"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}}}}}}}, "n": {"docs": {}, "df": 0, "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.geometry.misorientation_angles": {"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}}}, "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}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.alignment": {"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}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1, "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.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 4}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}, "tests.conftest.n_grains": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.grainsizes": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.visualisation.growth": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 4}, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 4}}, "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_ortho": {"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, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}}}}, "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}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 3}}}}}}}}}}, "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.utils.lag_2d_corner_flow": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}, "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}}, "df": 8}}, "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, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.strain_increment": {"tf": 1}}, "df": 1}}}}, "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_ortho": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 1}}}, "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_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 5}}}}}, "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.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}}, "df": 7}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 7}}}}}}}}}}}, "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}}}}}, "g": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}}, "df": 1}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}}, "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.CONSOLE_LOGGER": {"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": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 1, "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}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.redraw_legend": {"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}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "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.geometry.LatticeSystem.triclinic": {"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, "t": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.tetr_project": {"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.geometry.LatticeSystem.tetragonal": {"tf": 1}}, "df": 1}}}}}}}}, "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.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_save_scsv_errors": {"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_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 49, "d": {"docs": {}, "df": 0, "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": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.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.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"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": {}, "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": {"2": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 4}}, "docs": {}, "df": 0}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "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.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 4}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "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_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 6}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"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": {}, "df": 0, "s": {"docs": {"tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "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}}}}}}}}}}}, "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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}, "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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 6}}}}}}, "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_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.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 14}}}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 4}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}, "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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 4, "s": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}}, "df": 1}}}}}}}, "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}}}}}}, "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}}}}}}}}, "r": {"docs": {}, "df": 0, "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.geometry.LatticeSystem.rhombohedral": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.read_scsv": {"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": 5}}, "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}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"tests.conftest.ref_axes": {"tf": 1}}, "df": 1}, "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, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"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_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 4, "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}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.quat_product": {"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, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 1}}}}, "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_ortho": {"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}}}}}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 1}}}}, "x": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 3}}}}, "fullname": {"root": {"0": {"0": {"1": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "1": {"0": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.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.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0, "k": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"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.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 34}}, "3": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 6}}, "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.NPZFileInspector": {"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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"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.LatticeSystem": {"tf": 1}, "pydrex.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"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.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.CONSOLE_LOGGER": {"tf": 1}, "pydrex.logger.handle_exception": {"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.misorientation_hist": {"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.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"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.strain_increment": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 178}}}}, "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}}}}}}}, "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}}}}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"tf": 1}}, "df": 1}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 2, "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": {"pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 4}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.quat_product": {"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.TestCornerOlivineA.test_prescribed": {"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}, "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}}}}}}}, "n": {"docs": {}, "df": 0, "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.geometry.misorientation_angles": {"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}}}, "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}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1, "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}, "tests.conftest.n_grains": {"tf": 1}}, "df": 2, "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}}}, "p": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}, "tests.conftest.ncpus": {"tf": 1}}, "df": 2}}}}, "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_pgr": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 2}, "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}, "pydrex.utils.strain_increment": {"tf": 1}}, "df": 2}}}, "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}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.strengths": {"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.misorientation_hist": {"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": 11}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.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_save_scsv_errors": {"tf": 1.4142135623730951}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 12, "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}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.spin": {"tf": 1}}, "df": 1}}, "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_ortho": {"tf": 1}}, "df": 2}}, "docs": {}, "df": 0}, "4": {"5": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"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}}}}}}, "w": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"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.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 31, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"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.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 4}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 5}}}, "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.simple_shear_2d": {"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.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 23, "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}}}}}}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}}, "df": 5}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"2": {"0": {"1": {"6": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 2}, "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.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.cli.CLI_HANDLERS": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}}, "df": 5}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}}, "df": 7}}}}, "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.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 35}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 8}}}}, "m": {"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": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 1}}}}, "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.n_grains": {"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": 26}}}}}, "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.CONSOLE_LOGGER": {"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, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.get_crss": {"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}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"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": {"tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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": {"pydrex.logger.handle_exception": {"tf": 1}}, "df": 1, "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, "x": {"docs": {"pydrex.tensors.hex_project": {"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.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 1}}}}}}}, "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}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.misorientation_hist": {"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": {"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_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 4, "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": {}, "df": 0, "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}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.tensors.mono_project": {"tf": 1}}, "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.geometry.LatticeSystem.monoclinic": {"tf": 1}}, "df": 1}}}}}}}}, "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}}}}}}}}}}}, "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}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}}, "df": 10}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.tensors.ortho_project": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 6, "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.geometry.LatticeSystem.orthorhombic": {"tf": 1}}, "df": 1}}}}}}}}}}, "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}}}}}}}}}}}, "p": {"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, "s": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.outdir": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 4}}}}}}, "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_ensemble": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_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}}}}}, "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, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"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.handle_exception": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 2, "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}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.extract_vars": {"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, "s": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"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}}}}}, "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": {}, "df": 0, "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.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.utils.default_ncpus": {"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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 32}}}}}}}}}, "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": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}}, "df": 2}}}, "v": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 6}, "z": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.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, "x": {"2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"2": {"0": {"0": {"4": {"docs": {"tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "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.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 11}}}}}}}}}}}}, "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}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 8}}}}}, "e": {"docs": {}, "df": 0, "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}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 4}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.extract_vars": {"tf": 1}}, "df": 1}}, "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.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.get_position": {"tf": 1}}, "df": 4}, "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.LatticeSystem": {"tf": 1}, "pydrex.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"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": 18}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}, "tests.conftest.n_grains": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.grainsizes": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.visualisation.growth": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 4}, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 4}}, "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_ortho": {"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, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}}}}, "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}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 3}}}}}}}}}}, "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.utils.lag_2d_corner_flow": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 7}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}, "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}}, "df": 8}}, "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, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.strain_increment": {"tf": 1}}, "df": 1}}}}, "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_ortho": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 1}}}, "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_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 5}}}}}, "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.resolve_path": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.io.data": {"tf": 1}}, "df": 10}, "d": {"docs": {"tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}}, "df": 7}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 7}}}}}}}}}}}, "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}}}}}, "g": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}}, "df": 1}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}}, "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.CONSOLE_LOGGER": {"tf": 1.4142135623730951}, "pydrex.logger.handle_exception": {"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}}, "df": 16}}}, "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": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 1, "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}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.redraw_legend": {"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}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "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.geometry.LatticeSystem.triclinic": {"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, "t": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.tetr_project": {"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.geometry.LatticeSystem.tetragonal": {"tf": 1}}, "df": 1}}}}}}}}, "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.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"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": 17}}}}}, "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.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1.4142135623730951}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1.4142135623730951}, "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_output_shape": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_save_scsv_errors": {"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.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1.4142135623730951}}, "df": 94, "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.n_grains": {"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.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_save_scsv_errors": {"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.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 121, "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}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "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": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.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.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"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": {}, "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": {"2": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 4}}, "docs": {}, "df": 0}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "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.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 4}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "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_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 6}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"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": {}, "df": 0, "s": {"docs": {"tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}, "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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}, "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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 6}}}}}}, "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_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.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 14}}}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 4}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}, "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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 4, "s": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}}, "df": 1}}}}}}}, "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}}}}}}, "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}}}}}}}}, "r": {"docs": {}, "df": 0, "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.geometry.LatticeSystem.rhombohedral": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.read_scsv": {"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": 5}}, "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}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"tests.conftest.ref_axes": {"tf": 1}}, "df": 1}, "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, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"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_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 4, "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}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.quat_product": {"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.strain_increment": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 12}}}}, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 1}}}}, "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_ortho": {"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}}}}}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 1}}}}, "x": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 3}}}}, "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": {"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": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "2": {"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": {"pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 1}, "8": {"0": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"7": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "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.geometry.LatticeSystem.triclinic": {"tf": 1.4142135623730951}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "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}, "docs": {}, "df": 0}, "1": {"9": {"7": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "3": {"0": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "6": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "5": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {"pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.orthorhombic": {"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": 8, "d": {"docs": {"tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}}, "df": 4}}, "3": {"2": {"0": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "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}, "5": {"0": {"0": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "6": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.minerals.ENSTATITE_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": 14, "d": {"docs": {"tests.test_simple_shear_3d.SUBDIR": {"tf": 1}}, "df": 1}}, "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}, "docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}}, "df": 6}, "5": {"0": {"0": {"0": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}}, "df": 1}, "6": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.7320508075688772}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"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": 11}, "6": {"3": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 2}, "7": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 3}, "7": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.7320508075688772}}, "df": 1}, "4": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "7": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "8": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 2}, "8": {"0": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}, "docs": {"pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 3}, "9": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1.4142135623730951}, "pydrex.cli.CLI_HANDLERS": {"tf": 1}, "pydrex.core.PERMUTATION_SYMBOL": {"tf": 4.358898943540674}, "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.geometry.LatticeSystem.triclinic": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.hexagonal": {"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.CONSOLE_LOGGER": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 3.3166247903554}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 3.3166247903554}, "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": 4.358898943540674}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1.4142135623730951}, "tests.test_core.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.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}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1.4142135623730951}}, "df": 55, "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.TestDislocationCreepOPX.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.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}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1.4142135623730951}}, "df": 26}, "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}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"tests.test_corner_flow_2d.SUBDIR": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.class_id": {"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}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"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.geometry.LatticeSystem.hexagonal": {"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}}}}, "l": {"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}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}, "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}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_vortex_2d.SUBDIR": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "z": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.CLI_HANDLERS": {"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.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, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}, "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.CONSOLE_LOGGER": {"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}}}}}}}, "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}}, "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.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 2.23606797749979}, "pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.CONSOLE_LOGGER": {"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": 34}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 6}}}}}}}}}}}}, "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, "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.geometry.LatticeSystem.monoclinic": {"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.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": {}, "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.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_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}}, "df": 3}}}}}}, "a": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "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.geometry.LatticeSystem.orthorhombic": {"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.TestDislocationCreepOPX.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.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 2.23606797749979}, "pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.CONSOLE_LOGGER": {"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": 34}, "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}}}}}}, "e": {"docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 2, "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}}}}}}}}}}, "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}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}}, "df": 4}}}}}}}}}}}, "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}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"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.geometry.LatticeSystem.triclinic": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "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.geometry.LatticeSystem.tetragonal": {"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.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, "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.geometry.LatticeSystem.rhombohedral": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"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": {}, "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": {"tests.test_core.TestRecrystallisation2D.class_id": {"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.CONSOLE_LOGGER": {"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_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}}, "df": 2}}}}}, "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}}, "df": 3}, "1": {"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}}, "df": 5}, "2": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}, "3": {"5": {"0": {"0": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "9": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry_pgr": {"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.add_subplot_labels": {"tf": 2}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 2}, "pydrex.visualisation.growth": {"tf": 2}}, "df": 13}, "docs": {}, "df": 0}, "9": {"0": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "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.elasticity_components": {"tf": 3.1622776601683795}, "pydrex.diagnostics.bingham_average": {"tf": 4.47213595499958}, "pydrex.diagnostics.finite_strain": {"tf": 4.47213595499958}, "pydrex.diagnostics.symmetry_pgr": {"tf": 4.47213595499958}, "pydrex.diagnostics.misorientation_indices": {"tf": 7.416198487095663}, "pydrex.diagnostics.misorientation_index": {"tf": 5.830951894845301}, "pydrex.diagnostics.coaxial_index": {"tf": 5.477225575051661}, "pydrex.diagnostics.smallest_angle": {"tf": 4.69041575982343}, "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.misorientation_angles": {"tf": 3.7416573867739413}, "pydrex.geometry.symmetry_operations": {"tf": 4.69041575982343}, "pydrex.geometry.poles": {"tf": 6.48074069840786}, "pydrex.geometry.lambert_equal_area": {"tf": 4.242640687119285}, "pydrex.geometry.shirley_concentric_squaredisk": {"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.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.handle_exception": {"tf": 4.242640687119285}, "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": 6.557438524302}, "pydrex.stats.resample_orientations": {"tf": 5.477225575051661}, "pydrex.stats.misorientation_hist": {"tf": 5.830951894845301}, "pydrex.stats.misorientations_random": {"tf": 5.477225575051661}, "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.mono_project": {"tf": 3.1622776601683795}, "pydrex.tensors.ortho_project": {"tf": 3.1622776601683795}, "pydrex.tensors.tetr_project": {"tf": 3.1622776601683795}, "pydrex.tensors.hex_project": {"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.strain_increment": {"tf": 3.7416573867739413}, "pydrex.utils.apply_gbs": {"tf": 5.0990195135927845}, "pydrex.utils.extract_vars": {"tf": 3.7416573867739413}, "pydrex.utils.remove_nans": {"tf": 3.1622776601683795}, "pydrex.utils.default_ncpus": {"tf": 2.6457513110645907}, "pydrex.utils.get_steps": {"tf": 3.1622776601683795}, "pydrex.utils.angle_fse_simpleshear": {"tf": 3.1622776601683795}, "pydrex.utils.lag_2d_corner_flow": {"tf": 3.3166247903554}, "pydrex.utils.quat_product": {"tf": 3.7416573867739413}, "pydrex.utils.redraw_legend": {"tf": 6.324555320336759}, "pydrex.utils.add_subplot_labels": {"tf": 7.615773105863909}, "pydrex.velocity.simple_shear_2d": {"tf": 4.242640687119285}, "pydrex.velocity.cell_2d": {"tf": 5.0990195135927845}, "pydrex.velocity.corner_2d": {"tf": 4.242640687119285}, "pydrex.visualisation.polefigures": {"tf": 7.54983443527075}, "pydrex.visualisation.pathline_box2d": {"tf": 11.224972160321824}, "pydrex.visualisation.alignment": {"tf": 8.831760866327848}, "pydrex.visualisation.strengths": {"tf": 8.48528137423857}, "pydrex.visualisation.grainsizes": {"tf": 4.242640687119285}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 5.830951894845301}, "pydrex.visualisation.spin": {"tf": 8.48528137423857}, "pydrex.visualisation.growth": {"tf": 8.48528137423857}, "pydrex.visualisation.figure_unless": {"tf": 3.1622776601683795}, "pydrex.visualisation.figure": {"tf": 4.47213595499958}, "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.n_grains": {"tf": 3.1622776601683795}, "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.TestDislocationCreepOPX.test_shear_dudz": {"tf": 3.7416573867739413}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 3.7416573867739413}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 3.7416573867739413}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 3.7416573867739413}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 3.7416573867739413}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 3.7416573867739413}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 3.7416573867739413}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 3.7416573867739413}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 7.483314773547883}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 4.69041575982343}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 3.1622776601683795}, "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_output_shape": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 3.7416573867739413}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 3.7416573867739413}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 3.7416573867739413}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 3.7416573867739413}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 3.7416573867739413}, "tests.test_doctests.test_doctests": {"tf": 3.1622776601683795}, "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_save_scsv_errors": {"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": 7.3484692283495345}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 4.242640687119285}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 6}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 4.69041575982343}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 4.69041575982343}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 7.0710678118654755}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 5.477225575051661}, "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_vortex_2d.TestCellOlivineA.run": {"tf": 7.416198487095663}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 4.242640687119285}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 4.69041575982343}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 5.0990195135927845}}, "df": 174, "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.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 43}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 17, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 5}}}}, "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}}}}}, "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.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 9}}}}, "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}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"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_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}, "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}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 3}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}}, "df": 3}}}, "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.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}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.data": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}}}}}, "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}}, "f": {"docs": {}, "df": 0, "f": {"docs": {"pydrex.visualisation.growth": {"tf": 1.4142135623730951}}, "df": 1}}}, "t": {"docs": {"pydrex.utils.strain_increment": {"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.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 3}}}, "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}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 4}}}}}, "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}}, "df": 3}}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 4}}}, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.figure": {"tf": 1}}, "df": 1}}}}}}}, "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}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}}, "df": 6}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.add_subplot_labels": {"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.pathline_box2d": {"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.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 5, "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}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "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.visualisation.pathline_box2d": {"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.n_grains": {"tf": 1}, "tests.conftest.hkl": {"tf": 1}, "tests.conftest.ref_axes": {"tf": 1}}, "df": 6}}}}}, "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.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.visualisation.spin": {"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.spin": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "a": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}}, "df": 6, "x": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 9, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 6}}, "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_pgr": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 5, "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}}}, "l": {"docs": {"pydrex.utils.redraw_legend": {"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.alignment": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 2}}}}}, "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, "r": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "s": {"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}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 7}}}}, "x": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2, "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}}, "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}}}}}, "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}}, "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}}}, "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.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2}}}}}}}}}}, "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.io.save_scsv": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 17}}}}}, "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}}}}, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 8, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"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.misorientation_hist": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 2}, "pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 25}}}, "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}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}}, "df": 2}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 7}}}}, "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_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "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.pathline_box2d": {"tf": 1.7320508075688772}}, "df": 4}, "o": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1, "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": {"pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 3}}}}}}, "w": {"docs": {"pydrex.stats.misorientations_random": {"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, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 5}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.visualisation.pathline_box2d": {"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}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "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}}}}}, "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.pathline_box2d": {"tf": 1.7320508075688772}}, "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}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 6}}}, "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}, "pydrex.utils.strain_increment": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 9}}}}}}, "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}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 2}, "s": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}}, "df": 2}}, "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.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}}, "t": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1.4142135623730951}}, "df": 7}}}, "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": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"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.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 11}}}}}}}}}}}, "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}}}}}}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 17}}}}}}, "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_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 3}}}}, "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_corner_flow_2d.TestCornerOlivineA.run": {"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.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 11}}, "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, "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}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"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": 4}}}, "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.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1.4142135623730951}}, "df": 4}}}}, "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}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 4}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}, "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}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 6}}}, "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, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"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}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.misorientation_indices": {"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}}, "e": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.utils.apply_gbs": {"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}}}}, "y": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}, "i": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}, "t": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 2.6457513110645907}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.utils.add_subplot_labels": {"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.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 3}}}}}, "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}}}}}}, "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}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_doctests.test_doctests": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}, "x": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}}, "df": 3}}}, "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.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}}, "x": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1.4142135623730951}}, "df": 5}, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"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}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.utils.add_subplot_labels": {"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}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 7}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 4, "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}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}}, "df": 2}}}}}}}}}, "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}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.logger.handle_exception": {"tf": 1.7320508075688772}}, "df": 1}}}, "v": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}, "z": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2, "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}}}}}, "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}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2}}}}}}}}}, "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}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.logger.handle_exception": {"tf": 1}}, "df": 1}}}}}}}, "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.utils.redraw_legend": {"tf": 1}}, "df": 6}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.handle_exception": {"tf": 1}}, "df": 1}}}, "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}}}}}, "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.utils.apply_gbs": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}}, "df": 3}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}}, "df": 2}}}}}}, "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}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1.4142135623730951}}, "df": 10}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"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.elasticity_components": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 5}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.handle_exception": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}}, "df": 3, "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.strengths": {"tf": 1}}, "df": 2}}}}, "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}}}}}, "q": {"1": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}, "2": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "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}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}}, "df": 4}}}, "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": {"0": {"0": {"0": {"0": {"0": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"0": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "1": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 1}, "2": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {}, "df": 0}, "1": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.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}, "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.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 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}, "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": 2}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2.449489742783178}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "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.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2.23606797749979}, "pydrex.utils.get_steps": {"tf": 2.23606797749979}, "pydrex.velocity.simple_shear_2d": {"tf": 6.708203932499369}, "pydrex.velocity.cell_2d": {"tf": 9.9498743710662}, "pydrex.velocity.corner_2d": {"tf": 2.449489742783178}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.8284271247461903}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.8284271247461903}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.8284271247461903}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.8284271247461903}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 2.8284271247461903}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 2.8284271247461903}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 2.8284271247461903}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 2.8284271247461903}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 2.8284271247461903}}, "df": 29, "e": {"0": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0, "+": {"0": {"0": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "1": {"0": {"0": {"0": {"0": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 1}, "docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1}, "docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 9, "g": {"docs": {}, "df": 0, "b": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "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": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.utils.get_steps": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 9}, "1": {"0": {"7": {"2": {"0": {"7": {"3": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "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": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 2}, "2": {"0": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}}, "df": 1}, "5": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}}, "df": 3}, "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": {"pydrex.tensors.mono_project": {"tf": 1}}, "df": 1}, "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, "/": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 1}}}}, "5": {"0": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 4}}, "df": 1, "g": {"docs": {}, "df": 0, "b": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}, "8": {"0": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 3}, "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.geometry.LatticeSystem": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"0": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"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_pgr": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem": {"tf": 1.7320508075688772}, "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.misorientation_hist": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 5.0990195135927845}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 4.358898943540674}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 20, "e": {"5": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 1}, "/": {"2": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}, "2": {"0": {"0": {"0": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.23606797749979}}, "df": 2}, "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}}, "df": 3}, "2": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2}, "4": {"docs": {"pydrex": {"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.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 9}, "5": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}, "8": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex.geometry.misorientation_angles": {"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}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "2": {"1": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}, "1": {"docs": {"pydrex.tensors": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 7}, "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": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 2}, "docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry_pgr": {"tf": 2}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.7320508075688772}, "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.misorientation_hist": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 2.23606797749979}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 28, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"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_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 23}, "e": {"2": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "3": {"2": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}, "6": {"0": {"0": {"0": {"0": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 4.898979485566356}}, "df": 1}, "9": {"docs": {"pydrex": {"tf": 4.795831523312719}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 2}, "docs": {"pydrex": {"tf": 2}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry_pgr": {"tf": 2}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.utils.get_steps": {"tf": 3}, "pydrex.velocity.cell_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 14, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2}, "tests.test_simple_shear_3d": {"tf": 1}}, "df": 10}, "x": {"3": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.tensors.rotate": {"tf": 1}}, "df": 4}, "docs": {}, "df": 0}, "e": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}}, "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_spread45X_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 4}, "docs": {"pydrex": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "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.utils.get_steps": {"tf": 1.7320508075688772}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 14, "x": {"4": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "5": {"0": {"0": {"0": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 2}, "7": {"0": {"7": {"9": {"6": {"3": {"3": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "8": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}, "docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.utils.get_steps": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 2}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 12, "e": {"4": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}, "docs": {"pydrex": {"tf": 1}}, "df": 1}}, "6": {"0": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "b": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}, "4": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 5.656854249492381}}, "df": 1}, "docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.utils.get_steps": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 8, "x": {"6": {"docs": {"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": 7}, "docs": {}, "df": 0}}, "7": {"0": {"7": {"1": {"0": {"6": {"7": {"8": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "5": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 1}, "8": {"5": {"3": {"9": {"8": {"1": {"6": {"docs": {"pydrex.velocity.cell_2d": {"tf": 2}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "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.geometry.LatticeSystem": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}}, "df": 2}, "9": {"0": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 6, "k": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "5": {"8": {"3": {"8": {"0": {"7": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "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.ortho_project": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2}, "pydrex.utils.get_steps": {"tf": 1.4142135623730951}}, "df": 6}, "docs": {"pydrex": {"tf": 25.278449319529077}, "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.0990195135927845}, "pydrex.cli": {"tf": 3.4641016151377544}, "pydrex.cli.NPZFileInspector": {"tf": 3.4641016151377544}, "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.58257569495584}, "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.elasticity_components": {"tf": 9.643650760992955}, "pydrex.diagnostics.bingham_average": {"tf": 4}, "pydrex.diagnostics.finite_strain": {"tf": 2.449489742783178}, "pydrex.diagnostics.symmetry_pgr": {"tf": 5.196152422706632}, "pydrex.diagnostics.misorientation_indices": {"tf": 4.898979485566356}, "pydrex.diagnostics.misorientation_index": {"tf": 6.082762530298219}, "pydrex.diagnostics.coaxial_index": {"tf": 3.4641016151377544}, "pydrex.diagnostics.smallest_angle": {"tf": 3.4641016151377544}, "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.LatticeSystem": {"tf": 5.0990195135927845}, "pydrex.geometry.LatticeSystem.triclinic": {"tf": 1.7320508075688772}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1.7320508075688772}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1.7320508075688772}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1.7320508075688772}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1.7320508075688772}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1.7320508075688772}, "pydrex.geometry.to_cartesian": {"tf": 5.0990195135927845}, "pydrex.geometry.to_spherical": {"tf": 5.0990195135927845}, "pydrex.geometry.misorientation_angles": {"tf": 6.6332495807108}, "pydrex.geometry.symmetry_operations": {"tf": 3.1622776601683795}, "pydrex.geometry.poles": {"tf": 3.7416573867739413}, "pydrex.geometry.lambert_equal_area": {"tf": 3}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 20.396078054371138}, "pydrex.io": {"tf": 5.477225575051661}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.7320508075688772}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1.7320508075688772}, "pydrex.io.read_scsv": {"tf": 2.8284271247461903}, "pydrex.io.write_scsv_header": {"tf": 5.656854249492381}, "pydrex.io.save_scsv": {"tf": 5.5677643628300215}, "pydrex.io.parse_config": {"tf": 1.7320508075688772}, "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.CONSOLE_LOGGER": {"tf": 1.7320508075688772}, "pydrex.logger.handle_exception": {"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": 4.123105625617661}, "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": 25.13961017995307}, "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": 8.366600265340756}, "pydrex.stats": {"tf": 2.6457513110645907}, "pydrex.stats.resample_orientations": {"tf": 5.830951894845301}, "pydrex.stats.misorientation_hist": {"tf": 6.082762530298219}, "pydrex.stats.misorientations_random": {"tf": 4.795831523312719}, "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": 5.0990195135927845}, "pydrex.tensors.mono_project": {"tf": 3.7416573867739413}, "pydrex.tensors.ortho_project": {"tf": 3.7416573867739413}, "pydrex.tensors.tetr_project": {"tf": 3.7416573867739413}, "pydrex.tensors.hex_project": {"tf": 3.7416573867739413}, "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.strain_increment": {"tf": 3}, "pydrex.utils.apply_gbs": {"tf": 1.7320508075688772}, "pydrex.utils.extract_vars": {"tf": 1.7320508075688772}, "pydrex.utils.remove_nans": {"tf": 1.7320508075688772}, "pydrex.utils.default_ncpus": {"tf": 3.605551275463989}, "pydrex.utils.get_steps": {"tf": 16.55294535724685}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1.7320508075688772}, "pydrex.utils.lag_2d_corner_flow": {"tf": 3}, "pydrex.utils.quat_product": {"tf": 1.7320508075688772}, "pydrex.utils.redraw_legend": {"tf": 7.615773105863909}, "pydrex.utils.add_subplot_labels": {"tf": 5.656854249492381}, "pydrex.velocity": {"tf": 3.4641016151377544}, "pydrex.velocity.simple_shear_2d": {"tf": 17}, "pydrex.velocity.cell_2d": {"tf": 30.479501308256342}, "pydrex.velocity.corner_2d": {"tf": 7.810249675906654}, "pydrex.visualisation": {"tf": 2.6457513110645907}, "pydrex.visualisation.polefigures": {"tf": 2.8284271247461903}, "pydrex.visualisation.pathline_box2d": {"tf": 9.539392014169456}, "pydrex.visualisation.alignment": {"tf": 9.591663046625438}, "pydrex.visualisation.strengths": {"tf": 8.602325267042627}, "pydrex.visualisation.grainsizes": {"tf": 3.7416573867739413}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 6.244997998398398}, "pydrex.visualisation.spin": {"tf": 3.872983346207417}, "pydrex.visualisation.growth": {"tf": 3.872983346207417}, "pydrex.visualisation.figure_unless": {"tf": 3.872983346207417}, "pydrex.visualisation.figure": {"tf": 3.872983346207417}, "tests": {"tf": 13}, "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.n_grains": {"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.TestDislocationCreepOPX": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.23606797749979}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.23606797749979}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.23606797749979}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.23606797749979}, "tests.test_core.TestRecrystallisation2D": {"tf": 1.7320508075688772}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1.7320508075688772}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 3}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 3.3166247903554}, "tests.test_corner_flow_2d": {"tf": 2.6457513110645907}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 4.242640687119285}, "tests.test_diagnostics": {"tf": 2.6457513110645907}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1.7320508075688772}, "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_output_shape": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_save_scsv_errors": {"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.4641016151377544}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 3.3166247903554}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 4.242640687119285}, "tests.test_simple_shear_3d": {"tf": 2.6457513110645907}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 4.47213595499958}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 3}, "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_vortex_2d": {"tf": 2.6457513110645907}, "tests.test_vortex_2d.SUBDIR": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 2.23606797749979}}, "df": 299, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "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.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 9, "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, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}}}}, "t": {"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": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D": {"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_3d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 9, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 3}}}}}}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "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}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "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}, "tests": {"tf": 1}}, "df": 2}}}}}}}}}, "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}}}}}}}}, "n": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 2, "\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.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 8}}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.utils.extract_vars": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {"pydrex": {"tf": 2}, "pydrex.logger": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 5, "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}}}}}, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 1, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"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": {"pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 4}}}}}, "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": {"tests": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 3}}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 2}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 12}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io": {"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}}}}}}, "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_pgr": {"tf": 1}}, "df": 2, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 2.23606797749979}}, "df": 1, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 2}, "pydrex.utils.strain_increment": {"tf": 1.7320508075688772}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 10, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.grainsizes": {"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": {"tf": 2}, "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.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 2}}, "df": 2}}}}}, "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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"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}, "tests": {"tf": 1}}, "df": 8, "s": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}, "|": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 4}}, "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}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 4}}}}, "a": {"docs": {}, "df": 0, "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": {"tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 5}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}}, "df": 2}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1, "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.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.io": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 6}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1.7320508075688772}}, "df": 3}}}, "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.4142135623730951}}, "df": 3}}}}}}}, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}}, "df": 1}}}, "y": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}, "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, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "c": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 2.449489742783178}, "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": 5}}, "y": {"docs": {"pydrex": {"tf": 2}, "pydrex.diagnostics.elasticity_components": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1.7320508075688772}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1.4142135623730951}, "pydrex.tensors.ortho_project": {"tf": 1.4142135623730951}, "pydrex.tensors.tetr_project": {"tf": 1.4142135623730951}, "pydrex.tensors.hex_project": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}}, "df": 18}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}, "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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 7}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {"pydrex": {"tf": 1}, "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.utils.redraw_legend": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1}}, "df": 15, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "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}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 4}}}}}, "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}}}}}}, "e": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral": {"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.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 34, "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}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 5, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 2}}}, "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.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 2.8284271247461903}, "pydrex.visualisation.strengths": {"tf": 2.6457513110645907}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 8}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.io.read_scsv": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2}}}}, "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}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 3}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.7320508075688772}}, "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": 2.23606797749979}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "tests": {"tf": 2.23606797749979}}, "df": 13}}}, "w": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 3, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"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_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.7320508075688772}}, "df": 21, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"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.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "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.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.7320508075688772}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 3}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}}}}, "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}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 11}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.apply_gbs": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 3}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 2}}}}}}, "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.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}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 2}}, "c": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "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": 5, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "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": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "tests": {"tf": 1}}, "df": 7}, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}}}, "y": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"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}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}}, "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}}}}}, "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}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}}, "df": 5, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.io": {"tf": 2.23606797749979}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 2}, "pydrex.io.save_scsv": {"tf": 2}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"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_save_scsv_errors": {"tf": 1}}, "df": 13}}, "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_pgr": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 4}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 3}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}}}, "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}}, "d": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.schmidt_count": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 4}}, "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}}}}}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"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": 8, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 3}, "z": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 1}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 4}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.resample_orientations": {"tf": 2.23606797749979}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"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}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 4}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 2, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "c": {"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": {}, "df": 0, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"2": {"0": {"1": {"6": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 4}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}}, "df": 4, "r": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1.4142135623730951}}, "df": 12, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.elasticity_components": {"tf": 1.7320508075688772}, "pydrex.diagnostics.coaxial_index": {"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": 2}, "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.LatticeSystem": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 12}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"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.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}}, "df": 9, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 9}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests": {"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": {"tf": 1}, "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": 6}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 2}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "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.axes": {"tf": 1}, "pydrex.exceptions": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 6}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}}, "df": 3}, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}, "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}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 5}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}}, "df": 2}}}}, "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.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 5}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 6, "s": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"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.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 6}}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}}, "df": 4, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 5}, "s": {"docs": {"pydrex.core": {"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": {}, "df": 0, "s": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 4}}}, "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}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1}}, "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": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"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": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "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.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.handler_level": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 3, "l": {"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.core.derivatives": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.elasticity_components": {"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}}}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"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}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 8}}}}}}, "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}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2, "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.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": 7}}}}}}}}}}, "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.velocity.corner_2d": {"tf": 1}}, "df": 1, "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}}, "df": 2}}}}, "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}}}}}}}, "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.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "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}}}, "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.minerals.Mineral": {"tf": null}}, "df": 1}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}, "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}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}}}}}}, "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}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.velocity": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}}}, "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}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1.4142135623730951}, "tests": {"tf": 2}}, "df": 2}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 8}}}, "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.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 4}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2, "/": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}}, "df": 5, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 2}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 6}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"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}}}}}}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 2, "s": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 3, "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.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 9}}}}}}, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 2}}}}, "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}}}}}, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}}, "df": 1}}}, "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, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 4}}, "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.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 4, "[": {"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}}}}}}, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 5}}}}}, "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": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}}, "df": 10, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 2}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {"pydrex": {"tf": 3.1622776601683795}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 2.6457513110645907}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 16, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}, "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}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 5}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"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}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 3}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}}, "df": 12}, "u": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "tests": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 4, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}, "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_pgr": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "i": {"docs": {"pydrex.cli": {"tf": 1.4142135623730951}}, "df": 1, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}}, "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}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}}}}}, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 2.8284271247461903}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 6}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 2}}}, "/": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "p": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}}, "df": 3, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 2, "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.7320508075688772}, "pydrex.minerals": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals": {"tf": 1}}, "df": 2}}}}}}}}, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"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": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}}}}}, "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}}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "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": 2.449489742783178}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 6}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "tests": {"tf": 1}}, "df": 2}}}}}, "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}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "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, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 6}, "s": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}}, "t": {"docs": {"pydrex.utils.quat_product": {"tf": 1}}, "df": 1}}}}, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 7, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 4, "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}}}}}}, "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, "s": {"docs": {"pydrex.io.read_scsv": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 2.449489742783178}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2}}, "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": 2.449489742783178}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}}, "df": 4}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {"pydrex": {"tf": 1}, "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": 6, "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}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "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.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 7}}}}, "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}, "pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 2}}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}}, "df": 4}}}}, "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.4142135623730951}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 8, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3}, "a": {"docs": {}, "df": 0, "l": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1.7320508075688772}, "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.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": {"tf": 1.4142135623730951}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests": {"tf": 2.449489742783178}, "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_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}}, "df": 49}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "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.4142135623730951}}, "df": 7}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests": {"tf": 2.449489742783178}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.figure": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "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.449489742783178}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}}, "df": 3}}}}, "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, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.cli": {"tf": 1}}, "df": 2}}}}}, "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": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2, "/": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"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": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 2}, "pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 4}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 3}}, "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.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}}, "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}}, "df": 2, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 12}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.visualisation.figure": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "h": {"0": {"0": {"1": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "2": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 6, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"0": {"0": {"1": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 2.449489742783178}, "pydrex.visualisation.pathline_box2d": {"tf": 2}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3}}}, "b": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex": {"tf": 2}, "pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "tests": {"tf": 1}}, "df": 3}}, "c": {"docs": {}, "df": 0, "h": {"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": {"tests.test_corner_flow_2d.TestCornerOlivineA": {"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": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 3}}, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 2}}}, "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.pathline_box2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 12, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 5}}}, "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": 2}, "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.elasticity_components": {"tf": 2.449489742783178}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 2.449489742783178}}, "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}}}}}}}}}, "i": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.7320508075688772}}, "df": 1, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 3.872983346207417}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 13, "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.8284271247461903}, "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_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"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": 19, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.3166247903554}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 2}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"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_ortho": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 21}}}}}}, "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}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.utils.redraw_legend": {"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.elasticity_components": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}}, "df": 6, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 1}}}}, "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.TestDislocationCreepOPX": {"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {"pydrex": {"tf": 6.782329983125268}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 2}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 2.449489742783178}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 3.3166247903554}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 3}, "pydrex.diagnostics.misorientation_index": {"tf": 1.7320508075688772}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "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.LatticeSystem": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 2}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 2}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1.7320508075688772}, "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.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals": {"tf": 1.4142135623730951}, "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": 3.872983346207417}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2.449489742783178}, "pydrex.stats.resample_orientations": {"tf": 1.7320508075688772}, "pydrex.stats.misorientation_hist": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 3}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.7320508075688772}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 2}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 2.23606797749979}, "pydrex.velocity.cell_2d": {"tf": 2.449489742783178}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.polefigures": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 2.449489742783178}, "pydrex.visualisation.alignment": {"tf": 2.6457513110645907}, "pydrex.visualisation.strengths": {"tf": 2.23606797749979}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}, "tests": {"tf": 2.8284271247461903}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestElasticityComponents": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 96, "f": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 1, "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}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "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.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": 2.23606797749979}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"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_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 24}}}}}, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}, "a": {"docs": {"pydrex.minerals.Mineral": {"tf": 3.1622776601683795}}, "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.diagnostics.misorientation_indices": {"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.utils.default_ncpus": {"tf": 1.7320508075688772}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}}, "df": 26, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 7}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 9}, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 7}}}, "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.geometry.misorientation_angles": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "tests.test_tensors": {"tf": 1}}, "df": 4}}}}}, "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": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 4}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2}, "pydrex.geometry.poles": {"tf": 1}, "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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2.23606797749979}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 2}, "tests": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 17, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.smallest_angle": {"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}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}}}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 2}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 5, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 4}}}}}}}}, "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}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 2}}}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 3, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 3.605551275463989}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests": {"tf": 2.23606797749979}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 10, "s": {"docs": {"pydrex.visualisation": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests": {"tf": 2.6457513110645907}}, "df": 1}}}}, "r": {"docs": {"pydrex.io": {"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.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.mock": {"tf": 1}}, "df": 2}}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.velocity.corner_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}}}}}}}}}}, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1.4142135623730951}}, "df": 1}}, "e": {"docs": {"pydrex": {"tf": 1}, "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_pgr": {"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": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1.7320508075688772}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 26, "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.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 4}}}}}}}, "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, "d": {"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}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 3}, "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}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 11}}}, "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": {"tf": 2.23606797749979}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 4}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.get_steps": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.cli": {"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}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "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}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 11}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.velocity.corner_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}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}, "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.7320508075688772}}, "df": 3, "d": {"docs": {"tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 2}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.strain_increment": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.default_ncpus": {"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": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 2}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}}, "df": 7, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 2.449489742783178}, "pydrex.minerals": {"tf": 1}, "pydrex.stats": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 8}}}}}}}}, "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}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.utils.get_steps": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "t": {"docs": {"pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 4, "c": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}}, "df": 4}}, "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.7320508075688772}, "pydrex.logger": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "tests": {"tf": 1}}, "df": 7}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "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.449489742783178}, "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}, "pydrex.velocity": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}, "/": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2}}}}}, "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}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 3}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 4}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}}}, "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}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}, "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}}}}}}}}, "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": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 5}}}}, "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_pgr": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"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.logger": {"tf": 2.449489742783178}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 10, "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}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 8}}}}}, "q": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}}, "df": 1, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 7}, "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_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}}, "df": 4}}}}}}}}}, "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}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"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}}}}}}}}, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.cell_2d": {"tf": 2.449489742783178}}, "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.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 16, "n": {"docs": {"pydrex": {"tf": 5.5677643628300215}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"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.LatticeSystem": {"tf": 1.4142135623730951}, "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": {"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.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.7320508075688772}, "pydrex.utils.add_subplot_labels": {"tf": 2}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "tests": {"tf": 2.449489742783178}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}}, "df": 70, "t": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 5, "o": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "tests": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 5}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "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}, "r": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 5}}}}}}, "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}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 3}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "tests": {"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}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 7}, "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}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 6}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 4}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"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.4142135623730951}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}, "t": {"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": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"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": {"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}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 5}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_simple_shear_3d.TestFraters2021": {"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}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 9, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "/": {"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}}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.6457513110645907}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 10, "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_pgr": {"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": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "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, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.strain_increment": {"tf": 2}}, "df": 1}}}}, "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_ortho": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"pydrex.utils.get_steps": {"tf": 1.4142135623730951}}, "df": 1, "o": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 2.8284271247461903}, "pydrex.logger.info": {"tf": 1}, "tests": {"tf": 1}}, "df": 4, "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.cli.NPZFileInspector": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "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": {"tests": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "s": {"docs": {"pydrex": {"tf": 5.656854249492381}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 2.449489742783178}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.geometry.to_cartesian": {"tf": 1.7320508075688772}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"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.pathlines.get_pathline": {"tf": 2}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1.4142135623730951}, "pydrex.utils.default_ncpus": {"tf": 2.23606797749979}, "pydrex.utils.redraw_legend": {"tf": 3}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 2.449489742783178}, "pydrex.velocity.corner_2d": {"tf": 2}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1.7320508075688772}, "tests": {"tf": 2.8284271247461903}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 56, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 3}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 3}}}}}}}}, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "tests": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 9, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1}}, "df": 6}, "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}}}}}}}}, "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}}, "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.4142135623730951}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.geometry.symmetry_operations": {"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}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}}, "df": 6, "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}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"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.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1.4142135623730951}, "tests": {"tf": 2}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 27}, "d": {"docs": {"pydrex": {"tf": 2.6457513110645907}}, "df": 1, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "/": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.exceptions.SCSVError": {"tf": 1}}, "df": 1}}, "o": {"docs": {"tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2, "/": {"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}}}}}}}, "p": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}, "v": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 1}}, "j": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 2}}, "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": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2.449489742783178}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 4, "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": 3.605551275463989}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "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.misorientation_hist": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.7320508075688772}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "tests": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 16}, "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}}, "df": 2}}}, "e": {"docs": {"pydrex": {"tf": 9.16515138991168}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.cli": {"tf": 1.4142135623730951}, "pydrex.cli.NPZFileInspector": {"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.elasticity_components": {"tf": 4.898979485566356}, "pydrex.diagnostics.bingham_average": {"tf": 1.7320508075688772}, "pydrex.diagnostics.finite_strain": {"tf": 2.449489742783178}, "pydrex.diagnostics.symmetry_pgr": {"tf": 2}, "pydrex.diagnostics.misorientation_indices": {"tf": 3}, "pydrex.diagnostics.misorientation_index": {"tf": 2.8284271247461903}, "pydrex.diagnostics.coaxial_index": {"tf": 2.23606797749979}, "pydrex.diagnostics.smallest_angle": {"tf": 2}, "pydrex.exceptions.ConfigError": {"tf": 1.4142135623730951}, "pydrex.exceptions.MeshError": {"tf": 1.4142135623730951}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 2.23606797749979}, "pydrex.geometry.to_cartesian": {"tf": 1.7320508075688772}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 2}, "pydrex.geometry.symmetry_operations": {"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.io": {"tf": 2.23606797749979}, "pydrex.io.read_scsv": {"tf": 1.4142135623730951}, "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": 5.0990195135927845}, "pydrex.minerals.Mineral.update_orientations": {"tf": 3}, "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": 4.47213595499958}, "pydrex.stats.resample_orientations": {"tf": 2}, "pydrex.stats.misorientation_hist": {"tf": 2.8284271247461903}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "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.23606797749979}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1.7320508075688772}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 3.3166247903554}, "pydrex.utils.add_subplot_labels": {"tf": 2}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 2}, "pydrex.velocity.cell_2d": {"tf": 3.3166247903554}, "pydrex.velocity.corner_2d": {"tf": 3}, "pydrex.visualisation.polefigures": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 4.358898943540674}, "pydrex.visualisation.alignment": {"tf": 4}, "pydrex.visualisation.strengths": {"tf": 2.8284271247461903}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 3.872983346207417}, "pydrex.visualisation.spin": {"tf": 2.449489742783178}, "pydrex.visualisation.growth": {"tf": 2.449489742783178}, "pydrex.visualisation.figure_unless": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure": {"tf": 1.7320508075688772}, "tests": {"tf": 5}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 2}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 2.23606797749979}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 106, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 3, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3}}}}}}, "y": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.cli": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 8}, "i": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests": {"tf": 2}}, "df": 5}}, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 7}, "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}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 29}, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 6, "k": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}}, "df": 2}, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 4}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {"pydrex": {"tf": 4.58257569495584}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "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.elasticity_components": {"tf": 3.1622776601683795}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"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": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "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.strain_increment": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2.449489742783178}, "pydrex.utils.add_subplot_labels": {"tf": 2}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 2.6457513110645907}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 2}, "pydrex.visualisation.figure": {"tf": 1.7320508075688772}, "tests": {"tf": 4.123105625617661}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"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_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 74, "m": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2}, "pydrex.io.parse_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}}, "df": 3}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}, "o": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 3}}}}}}}}, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 5, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "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_ortho": {"tf": 1}}, "df": 12, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}}, "df": 3}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.7320508075688772}, "pydrex.diagnostics.finite_strain": {"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.23606797749979}, "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": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}}, "df": 5}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 5}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"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.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": 2.23606797749979}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 45, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "tests": {"tf": 3.1622776601683795}, "tests.conftest": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"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_3d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}}, "df": 25, "/": {"docs": {}, "df": 0, "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}}}}}, "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}, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"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.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1.4142135623730951}}, "df": 3, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 3}}}}}, "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.7320508075688772}, "pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 6}}, "df": 5}}, "i": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1, "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}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"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}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 9, "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}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}}, "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": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"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}}}}, "n": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "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.4142135623730951}, "pydrex.utils.strain_increment": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 2.23606797749979}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"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_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 20, "s": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 4}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"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.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 16, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"pydrex": {"tf": 2}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "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.7320508075688772}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.tensors.voigt_decompose": {"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, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2.23606797749979}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 8, "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.7320508075688772}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.poles": {"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.resample_orientations": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1.4142135623730951}, "tests": {"tf": 2.23606797749979}, "tests.conftest.seed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 24}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests": {"tf": 1}}, "df": 6}}, "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.4142135623730951}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "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}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex.tensors.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.4142135623730951}}, "df": 1}}}}}}, "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_simple_shear_2d.TestOlivineA.test_grainsize_median": {"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}, "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": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}}, "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}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "tests": {"tf": 1}}, "df": 5, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.logger.handler_level": {"tf": 1}}, "df": 2}, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "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.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 3}, "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}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}}}}}}}}}, "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}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}}}}}, "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}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 4}}}}, "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": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}}, "df": 8}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 2}}}}}, "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}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 2}}}}}, "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.1622776601683795}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}}, "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.4142135623730951}}, "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}}}}}}, "k": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 2}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}}, "df": 2}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.get_steps": {"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": {"pydrex": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "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": 9}}}}}}}}, "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}}}}}}, "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": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 11, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 6}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 2}, "pydrex.io.resolve_path": {"tf": 1.7320508075688772}, "pydrex.io.data": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 4}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.velocity": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 3, "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.diagnostics.elasticity_components": {"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}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 8}}}}}}}}, "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.pathlines.get_pathline": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 1}}}}, "s": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "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}}}}}}}}}}, "p": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 1}}, "o": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "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": {"pydrex.velocity.corner_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}}}}}}}}}}, "c": {"docs": {}, "df": 0, "u": {"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": 2.6457513110645907}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"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": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.7320508075688772}}, "df": 3, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {"pydrex.logger": {"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}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "w": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "n": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 3}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.read_scsv": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 2}, "pydrex.io.data": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "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.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 2.449489742783178}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "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_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"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_GBM_calibration": {"tf": 1.4142135623730951}}, "df": 32, "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": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 3}}}}, "e": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 3}}, "v": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2}}, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pydrex": {"tf": 4.898979485566356}, "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.elasticity_components": {"tf": 2.23606797749979}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem": {"tf": 2}, "pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 2.23606797749979}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 3.1622776601683795}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}, "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.1622776601683795}, "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": 3.4641016151377544}, "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.4142135623730951}, "pydrex.tensors.hex_project": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1.7320508075688772}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 2}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2}, "pydrex.visualisation.alignment": {"tf": 2.23606797749979}, "pydrex.visualisation.strengths": {"tf": 2.23606797749979}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.7320508075688772}, "pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure_unless": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure": {"tf": 1.4142135623730951}, "tests": {"tf": 3.1622776601683795}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 2}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 2}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 89, "l": {"docs": {"pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 4, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 2}}}, "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": {"pydrex": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 5}}}}, "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}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"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.7320508075688772}, "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}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 22}}, "l": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.cli": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1.4142135623730951}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 12, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 2}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 3}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 5, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}}}}}, "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, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 2}}}}}}}}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 2}}}}}, "n": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"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": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"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.visualisation.alignment": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 24, "d": {"docs": {"pydrex": {"tf": 4.69041575982343}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "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.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.7320508075688772}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.geometry.poles": {"tf": 2}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.read_scsv": {"tf": 1}, "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.6457513110645907}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.mock": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 2}, "pydrex.stats": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "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.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.7320508075688772}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 2.23606797749979}, "pydrex.velocity.corner_2d": {"tf": 2}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2.23606797749979}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure_unless": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 3}, "tests.conftest": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1.4142135623730951}, "tests.test_geometry": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}, "tests.test_vortex_2d": {"tf": 1}}, "df": 77}, "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": {"tf": 2}, "pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}}}}, "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}}}}}}, "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}}}, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 9}, "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": {"pydrex": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 3}}}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 2}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 10, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 2.6457513110645907}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 11}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.geometry.misorientation_angles": {"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}}}}, "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}}}}}}}}}}}}, "b": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "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}}}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 3}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 4.58257569495584}, "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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "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.pathlines.get_pathline": {"tf": 1.4142135623730951}, "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.utils.quat_product": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1.7320508075688772}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 47, "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": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 13}}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"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}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 17}}, "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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 2.6457513110645907}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.stats.resample_orientations": {"tf": 2}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 2.6457513110645907}, "pydrex.velocity.simple_shear_2d": {"tf": 3.1622776601683795}, "pydrex.velocity.cell_2d": {"tf": 6}, "pydrex.visualisation.pathline_box2d": {"tf": 2.6457513110645907}, "pydrex.visualisation.alignment": {"tf": 2.8284271247461903}, "pydrex.visualisation.strengths": {"tf": 2.449489742783178}}, "df": 24, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}}, "df": 8}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 8}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.redraw_legend": {"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": {"tf": 2.449489742783178}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "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.elasticity_components": {"tf": 1}}, "df": 2}, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "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": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}}}}}}}, "s": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.cli": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "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.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.7320508075688772}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "tests": {"tf": 2.6457513110645907}}, "df": 25, "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.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.resample_orientations": {"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}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2}, "pydrex.pathlines.get_pathline": {"tf": 2.23606797749979}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"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_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 15, "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": {"tf": 1}, "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": 6}, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 2.23606797749979}}, "df": 2}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"2": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics": {"tf": 2.449489742783178}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 3}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.449489742783178}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.449489742783178}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.449489742783178}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.449489742783178}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 2.449489742783178}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 2.449489742783178}, "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_ensemble": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 2.6457513110645907}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}}, "df": 24}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "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": {"tests": {"tf": 1}}, "df": 1}}}}, "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.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 3}}}}}}, "u": {"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": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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}}}, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"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}, "pydrex.minerals": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}, "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}, "pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"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}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2}}}}, "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}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.utils.add_subplot_labels": {"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.geometry.LatticeSystem": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 5, "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}}}}}}}}}, "x": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1.7320508075688772}}, "df": 9, "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.coaxial_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 2.449489742783178}, "pydrex.utils.redraw_legend": {"tf": 2}, "pydrex.utils.add_subplot_labels": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 2.8284271247461903}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1.7320508075688772}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 19, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1.7320508075688772}, "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}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.conftest.seeds_nearX45": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 25, "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}}}, "s": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "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": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 2}}}}}}}}}, "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}}}}}}}}, "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}}}}}}}}, "*": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}, "b": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 4, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"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.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 5}}}}}}}, "a": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 2.23606797749979}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.Error": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 4}}, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_core.TestRecrystallisation2D": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 1}}, "d": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.alignment": {"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": 7}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}}, "df": 3}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"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}}}}}}}}}}}, "g": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}, "y": {"docs": {"pydrex": {"tf": 4.123105625617661}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"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.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 2.8284271247461903}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}}, "df": 32}, "e": {"docs": {"pydrex": {"tf": 4.358898943540674}, "pydrex.cli": {"tf": 1.4142135623730951}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"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.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2.449489742783178}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.utils.add_subplot_labels": {"tf": 2}, "pydrex.velocity": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 2.23606797749979}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 2.8284271247461903}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 32, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 4}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 2}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "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}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 11}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2}}}}}}}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 5}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.io": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 5}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}}, "df": 1}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "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}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.velocity.corner_2d": {"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}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2}}}}}, "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.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}}, "h": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 3}}, "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}}}}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}}, "df": 2, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "u": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}}, "df": 2}, "\\": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 1, "{": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "v": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "r": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}}, "df": 1}, "x": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}, "z": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 9}}}}, "w": {"docs": {"pydrex.utils.quat_product": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}, "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.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 44, "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}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}}, "df": 9}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 3}, "pydrex.cli": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.logger": {"tf": 2.6457513110645907}, "pydrex.pathlines.get_pathline": {"tf": 2}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1.7320508075688772}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 15}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}}}, "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.cli": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"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.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "tests": {"tf": 2.449489742783178}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 25}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "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": 2}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 14}}, "n": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 4}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "tests": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 4, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "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}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 2}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.warning": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}, "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, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 3}, "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}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry_pgr": {"tf": 2}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.utils.default_ncpus": {"tf": 1}}, "df": 11, "o": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.io": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "t": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 17, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.utils.redraw_legend": {"tf": 1}}, "df": 4}, "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.6457513110645907}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "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}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2.449489742783178}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1.4142135623730951}, "tests": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 20}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 3, "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}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}, "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.4142135623730951}}, "df": 1}, "d": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}}, "df": 2}}}}}}}}, "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.utils.get_steps": {"tf": 1}}, "df": 2}}, "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.4142135623730951}, "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.diagnostics.misorientation_indices": {"tf": 2.23606797749979}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.utils.default_ncpus": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 14, "s": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}, "a": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "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.stats.misorientation_hist": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}}, "df": 10}}}, "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}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 15}, "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}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"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}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "/": {"2": {"0": {"2": {"0": {"docs": {}, "df": 0, "/": {"0": {"4": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "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_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 3}}}, "p": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.utils.get_steps": {"tf": 2}, "pydrex.velocity.simple_shear_2d": {"tf": 2.449489742783178}, "pydrex.velocity.cell_2d": {"tf": 4.58257569495584}}, "df": 5, "z": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}, "x": {"3": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "x": {"3": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}, "6": {"docs": {}, "df": 0, "x": {"6": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 2, "m": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1, "x": {"3": {"docs": {}, "df": 0, "x": {"3": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}}, "a": {"docs": {}, "df": 0, "x": {"4": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "b": {"docs": {}, "df": 0, "x": {"4": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3}}}}}, "v": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "tests": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "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}}, "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": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}}}, "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, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}}, "df": 2}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2.23606797749979}, "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.7320508075688772}, "pydrex.visualisation.grainsizes": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 6}, "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_pgr": {"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": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 2.23606797749979}, "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.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "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": 18}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_vortex_2d": {"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": {"tf": 2.6457513110645907}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2.23606797749979}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 2.449489742783178}, "pydrex.velocity.cell_2d": {"tf": 2.449489742783178}, "pydrex.velocity.corner_2d": {"tf": 2.449489742783178}, "pydrex.visualisation.pathline_box2d": {"tf": 2.449489742783178}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 23, "/": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "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.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}}, "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}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}}, "df": 3}}}, "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}, "pydrex.velocity.cell_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 5, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.velocity.corner_2d": {"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.finite_strain": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 18, "s": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2.23606797749979}, "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": 8}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}}}}}}, "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.geometry.LatticeSystem": {"tf": 1}, "pydrex.logger": {"tf": 3.3166247903554}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 10, "s": {"docs": {"pydrex": {"tf": 1}, "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.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 22}, "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": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"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, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}, "m": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "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}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 17, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 3.1622776601683795}, "pydrex.cli.NPZFileInspector": {"tf": 1.4142135623730951}, "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}, "pydrex.velocity": {"tf": 1}, "tests": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 20, "s": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 2.23606797749979}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests": {"tf": 1}}, "df": 9}, "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.7320508075688772}}, "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.7320508075688772}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 3}}}}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 2}}}}}, "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}}}}}}}}}}}, "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}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 3}}}}, "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_indices": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}}, "df": 6}}}}}}}}}}}, "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}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}, "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}}}}}, "c": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1, "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": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 4}}}}}}}}}, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 6}, "x": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 6, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests": {"tf": 1}}, "df": 10}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}}, "df": 11}}}, "x": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 2}, "pydrex.diagnostics.symmetry_pgr": {"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}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 15}}}, "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": 2}, "pydrex.utils.redraw_legend": {"tf": 2}, "pydrex.visualisation.pathline_box2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 9}}}}}}}, "h": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3}}}}}, "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": 2}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 2, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"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": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 4}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1}}, "df": 2}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 3}, "d": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "tests": {"tf": 2}}, "df": 10, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.utils": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests": {"tf": 1}}, "df": 9}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"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}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}}, "df": 3, "i": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"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}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 13, "s": {"docs": {"pydrex.logger": {"tf": 2.23606797749979}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2, "l": {"docs": {"pydrex": {"tf": 3}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 2}}, "df": 2}}, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 5, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 1}, "pydrex.mock": {"tf": 1}}, "df": 2}}, "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}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "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}}, "df": 2}}}}}}, "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}}}}}}}, "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.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1.4142135623730951}}, "df": 3, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1, "e": {"docs": {"tests": {"tf": 2}}, "df": 1}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2}, "pydrex.core.derivatives": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 5}, "y": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}, "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.diagnostics.misorientation_indices": {"tf": 1.4142135623730951}, "pydrex.utils.default_ncpus": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 10}}}, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}, "y": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 2}, "s": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"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}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1}}, "df": 14, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 3.4641016151377544}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.7320508075688772}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 27, "s": {"docs": {"pydrex": {"tf": 4.242640687119285}, "pydrex.core.derivatives": {"tf": 2}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 3.872983346207417}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 16}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2.23606797749979}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 21, "s": {"docs": {"pydrex": {"tf": 2}, "pydrex.velocity": {"tf": 1}}, "df": 2}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.visualisation.growth": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 2}}}}, "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, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"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}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}}, "df": 4, "d": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 2}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1, "n": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"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.7320508075688772}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 25}, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"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}}}}}}}, "e": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 3, "d": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry": {"tf": 1}, "tests.test_geometry": {"tf": 1}}, "df": 2}}, "y": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.get_steps": {"tf": 2}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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": 19, "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}}}}}}}, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.default_ncpus": {"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": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}, "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}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "t": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 6}, "pydrex.minerals.Mineral": {"tf": 7.211102550927978}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2.449489742783178}, "pydrex.utils.get_steps": {"tf": 3}, "pydrex.velocity.simple_shear_2d": {"tf": 4.58257569495584}, "pydrex.velocity.cell_2d": {"tf": 7.54983443527075}, "tests": {"tf": 1.7320508075688772}}, "df": 7}, "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}}, "l": {"1": {"1": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "2": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "3": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 3.605551275463989}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 6}}, "n": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 3, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.7320508075688772}}, "df": 7}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "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, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.redraw_legend": {"tf": 3.3166247903554}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 7, "s": {"docs": {}, "df": 0, "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.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 4}}}}}}}}}}, "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}, "pydrex.utils.add_subplot_labels": {"tf": 2}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 7}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 4}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}, "r": {"docs": {"tests": {"tf": 1.4142135623730951}}, "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.utils.get_steps": {"tf": 1.4142135623730951}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}}, "g": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"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}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1}}, "df": 8, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 5}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests": {"tf": 1}}, "df": 5, "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": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 2}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 2}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "l": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {"pydrex": {"tf": 2}, "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}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 11, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 2.23606797749979}, "pydrex.logger.handler_level": {"tf": 2}, "pydrex.logger.logfile_enable": {"tf": 1}, "tests": {"tf": 2}}, "df": 5}}}, "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}}, "d": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}, "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.cli.NPZFileInspector": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 5}}}, "t": {"docs": {"pydrex.minerals.Mineral": {"tf": 2}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 3}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}}}}, "f": {"9": {"0": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 5, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 5.385164807134504}, "pydrex.axes.PoleFigureAxes": {"tf": 1.4142135623730951}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 3.605551275463989}, "pydrex.diagnostics.bingham_average": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 2}, "pydrex.diagnostics.misorientation_index": {"tf": 2}, "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": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}, "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.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 2}, "pydrex.stats.misorientations_random": {"tf": 2}, "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.utils.strain_increment": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 2}, "pydrex.visualisation.alignment": {"tf": 2.449489742783178}, "pydrex.visualisation.strengths": {"tf": 2.449489742783178}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1.4142135623730951}, "tests": {"tf": 2}, "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_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.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.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 101, "m": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 8, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 3}, "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}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 2}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.get_steps": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 5}}}}}, "l": {"docs": {}, "df": 0, "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.diagnostics.elasticity_components": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 3}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 2}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 4, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 2.449489742783178}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2.449489742783178}, "pydrex.visualisation.pathline_box2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "pydrex.visualisation.grainsizes": {"tf": 1.4142135623730951}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.7320508075688772}, "pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure_unless": {"tf": 2}, "pydrex.visualisation.figure": {"tf": 1.7320508075688772}}, "df": 14, "s": {"docs": {"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": 6}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.figure": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "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": {"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": 18, "s": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.io": {"tf": 3}}, "df": 2, "/": {"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": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "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}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "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": 6}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 7}}}, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 2}}}}}}, "w": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry_pgr": {"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": 2}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"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.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.7320508075688772}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 42}, "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}, "tests.test_simple_shear_3d.TestFraters2021": {"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.449489742783178}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 4, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 3}}, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 2.8284271247461903}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.visualisation.grainsizes": {"tf": 1}}, "df": 4}}}}}, "{": {"1": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}, "2": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}}, "df": 1, "u": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 1}}, "4": {"docs": {"pydrex.velocity.corner_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}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "!": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}, "\u03b8": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}, "\u03c8": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.corner_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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "x": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1, "z": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.velocity.corner_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": {"pydrex.velocity.corner_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.geometry.poles": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 4, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "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}}}}}}}}}}}}}}}, "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.4142135623730951}, "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.449489742783178}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}}, "df": 7, "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}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 3}}, "l": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.utils.default_ncpus": {"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}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 8, "s": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}}, "df": 4}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 4.58257569495584}, "pydrex.core.derivatives": {"tf": 2.23606797749979}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 2}}}}}}, "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}}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}}, "df": 1}, "g": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"tests": {"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": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core": {"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}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 13, "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}}, "df": 8}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 2, "y": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}}, "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}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 3}}}, "j": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}}, "df": 3, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "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}}}}, "r": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"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}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}}, "df": 6, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "x": {"docs": {"pydrex": {"tf": 2}, "pydrex.core": {"tf": 1.4142135623730951}, "tests.test_core": {"tf": 1}}, "df": 3}, "f": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3, "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.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 8}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}}}}}}}, "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}, "tests": {"tf": 1.7320508075688772}}, "df": 2, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}}, "df": 4}, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 6, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "/": {"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}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "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.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 2}}}}}}}, "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.utils.get_steps": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "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}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}, "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": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 7}}}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}}, "df": 2, "d": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}}, "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}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "n": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "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": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 5}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}}}, "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}, "pydrex.velocity.cell_2d": {"tf": 1}}, "df": 2}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "tests": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 3, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}, "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}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.stringify": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.figure_unless": {"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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 24}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 9}}}}}, "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, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.6457513110645907}}, "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}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}}, "df": 9, "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": {"tf": 2}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}}, "df": 4}, "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": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 6}, "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}}}}, "m": {"docs": {"tests": {"tf": 2}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_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": 5}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 4}}}, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.corner_2d": {"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": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 11, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}}, "df": 2}}}}, "e": {"docs": {"pydrex.tensors.rotate": {"tf": 1}}, "df": 1, "d": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 2}}}}}, "w": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 1}, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "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, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_core": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"tests": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 8, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1}}}, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "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.geometry.LatticeSystem": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 4}}, "}": {"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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "u": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 2}, "pydrex.velocity.cell_2d": {"tf": 3.4641016151377544}, "pydrex.velocity.corner_2d": {"tf": 2}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 4, "p": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 5, "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}, "pydrex.velocity": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 6}}}, "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}}}}}}}}}, "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_indices": {"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}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 17}}}, "e": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 2}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "tests": {"tf": 2}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 12, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"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.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.stats.misorientation_hist": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1.7320508075688772}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 38}, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 8, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "e": {"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": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}}, "df": 4}}}, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1.7320508075688772}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 6, "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_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}}, "df": 7}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 11}}}, "i": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"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.1622776601683795}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}}}, "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}}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "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": {"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, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.velocity.cell_2d": {"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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}}}}, "k": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 4, "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.7320508075688772}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_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": 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}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.add_subplot_labels": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 9}}}}, "s": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "df": 5}}, "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}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"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": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 2}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 6, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.tensors": {"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.visualisation.figure": {"tf": 1}}, "df": 2}}}}, "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}}}}}}}}, "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}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 5}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3}}}}, "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}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 9, "r": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 2}, "pydrex.logger.exception": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.cli": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.get_steps": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 6}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "f": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 2}}, "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}, "pydrex.velocity.cell_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 5}}}}}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}}, "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.geometry.misorientation_angles": {"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}}}, "w": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}, ":": {"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}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "c": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}, "q": {"1": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1.7320508075688772}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}, "2": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1.7320508075688772}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 6.48074069840786}, "pydrex.logger": {"tf": 5.656854249492381}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 2}, "pydrex.velocity.cell_2d": {"tf": 2.8284271247461903}}, "df": 5}}, "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.geometry.symmetry_operations": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}}}}, "x": {"3": {"docs": {}, "df": 0, "x": {"3": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}, "docs": {"pydrex": {"tf": 1.7320508075688772}, "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.utils.quat_product": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 2.23606797749979}, "pydrex.velocity.cell_2d": {"tf": 2.449489742783178}, "pydrex.velocity.corner_2d": {"tf": 2.449489742783178}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 28, "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}}}}}, "z": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "y": {"docs": {}, "df": 0, "z": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}, "/": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}}, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "+": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}, "z": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "3": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 3}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 2}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 15, "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.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2}}}}}, "x": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 1}, "z": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}, "z": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 2}, "pydrex.velocity.corner_2d": {"tf": 2}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 10, "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}}, "/": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 1}}}}}}}, "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 (pre-alpha)\nand therefore subject to breaking changes without notice.

    \n\n
    \n\n

    About

    \n\n

    Viscoplastic deformation of minerals, e.g. in Earth's mantle, leads to distinct\nsignatures in the mineral texture. Many minerals naturally occur in\npolycrystalline form, which means that they are composed of many grains with\ndifferent volumes and lattice orientations. Preferential alignment of the\naverage lattice orientation is called crystallographic preferred orientation\n(CPO). PyDRex simulates the development and evolution of CPO in deforming\npolycrystals, as well as tracking macroscopic finite strain measures.\nCurrently, the code supports olivine and enstatite mineral phases. The\nfollowing features are provided:

    \n\n
      \n
    • JIT-compiled CPO solver, based on the D-Rex model, which updates the\npolycrystal orientation distribution depending on the macroscopic velocity\ngradients
    • \n
    • Mineral class which stores attributes of a distinct mineral phase in the\npolycrystal and its texture snapshots
    • \n
    • Voigt averaging to calculate the average elastic tensor of a textured,\nmultiphase polycrystal
    • \n
    • Decomposition of average elastic tensors into components attributed to\nminerals with distinct lattice symmetries
    • \n
    • Crystallographic pole figure visualisation (contouring is a work in progress)
    • \n
    • [work in progress] Texture diagnostics: M-index, bingham average,\nPoint-Girdle-Random symmetry, coaxial a.k.a \"BA\" index, etc.
    • \n
    • [work in progress] Seismic anisotropy diagnostics: % tensorial anisotropy,\nhexagonal symmetry a.k.a transverse isotropy direction, etc.
    • \n
    \n\n

    The core CPO solver is based on the original Fortran 90 implementation by \u00c9douard Kaminski,\nwhich can be downloaded from this link (~90KB).\nThe reference papers are Kaminski & Ribe (2001)\nand Kaminski & Ribe (2004),\nand an open-access paper which discusses the model is Fraters & Billen (2021).

    \n\n

    Installation

    \n\n

    The minimum required Python version is set using requires-python in the\npyproject.toml file.\nFor installation instructions,\nsee the README file.

    \n\n

    Documentation

    \n\n

    The website menu can be used to discover the public API of this package.\nSome of the tests are also documented and can serve as usage examples.\nTheir docstrings can be viewed in this section.\nDocumentation is also available from the Python REPL via the help() method.

    \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 plastic deformation 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 (unrecrystallised) physical grains. Dynamic recrystallization is modelled using\nstatistical expressions which approximate the interaction of each grain with an\neffective medium based on the averaged dislocation energy of all other grains. Note that\nthe model is not suited to situations where static recrystallization processes are\nsignificant.

    \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 pydrex.mock 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 a .toml file.\nFor now just pass a dictionary to config in the Mineral.update_orientations method.\nA draft of the input file spec is shown below:

    \n\n
    \n
    # PyDRex TOML configuration specification.\n# Exactly one valid combination of fields from the [input] section are required,\n# the rest is optional.\n\n# Simulation name is optional but recommended.\nname = "pydrex-spec"\n\n# Input files/options are given in this section:\n[input]\n\n# Input data can be provided in one of three ways:\n# 1. An input mesh with the steady-state numerical velocity gradient field\n#    and a plain text SCSV file specifying the FINAL locations of the polycrystals.\n#    In this case, polycrystals will first be back-propagated along flow pathlines,\n#    and then forward-propagated while the CPO is calculated.\n#    The SCSV file should have column names 'X', 'Y', 'Z' for 3D or any two of those for 2D.\n# 2. A built-in (analytical) velocity gradient function from `pydrex.velocity_gradients`,\n#    its arguments, and INITIAL locations of the polycrystals. In this case,\n#    polycrystals will immediately be forward-advected in the specified field.\n# 3. Pre-computed pathline files with velocity gradients at each point.\n#    These can be either plain text SCSV files or binary NPZ files.\n#    They should have columns/fields called: 'X_id', 'Y_id', 'Z_id', 'L11_id', 'L12_id', 'L13_id', etc.\n#    where 'id' is replaced by an unique identifier of the particle/pathline.\n#    If a field called 't' is also present, it will be used for the timestamps.\n#    Alternatively, a fixed timestep for all paths can be specified using `timestep`.\n# 4. Names of fields to be read from a geodynamics framework during runtime (not implemented yet).\n\n# Example for method 1, not only .vtu but any format supported by meshio should work:\n# mesh = "filename.vtu"\n# locations_final = "filename.scsv"\n# timestep = 1e9\n\n# Example for method 2:\nvelocity_gradient = ["simple_shear_2d", "Y", "X", 5e-6]\nlocations_initial = "start.scsv"\ntimestep = 1e9\n\n# Example for method 3:\n# timestep = 1e9\n# paths = ["path001.npz", "path002.scsv"]\n\n# In cases where the pathlines do not exit the domain,\n# a maximum strain threshold can bee provided, after which advection is halted.\n# max_strain = 10\n\n# Output files/options are given in this section:\n[output]\n\n# Optional output directory, will be created if missing.\n# This is also relative to the parent directory of the TOML file,\n# unless an absolute path is given.\ndirectory = "out"\n\n# Optional choice of mineral phases to include in raw output.\n# Raw output means rotation matrices and grain volumes, so 10 floats per grain per mineral.\n# By default, raw output for all supported minerals is saved.\nraw_output = ["olivine"]\n\n# Optional choice of mineral phases to include in diagnostic output.\n# Diagnostic output includes texture symmetry, strength and mean angle results.\n# By default, diagnostic output for all supported minerals is saved.\ndiagnostics = ["olivine"]\n\n# Should anisotropy postprocessing results be calculated?\n# This uses voigt averaging so the effective values for the multiphase polycrystal are calculated.\nanisotropy = true\n\n# Optional pathline output files (velocity gradients, positions, timestamps, particle ids).\n# Pathline output files use the same format as pathline inputs (by default, they are not produced).\n# They are stored inside the output directory unless absolute paths are given.\n# paths = ["pathline001.scsv"]\n\n# Optional logging level for log files.\n# This sets the log level for all log files, overriding the default value of "WARNING".\n# Supported levels are controlled by Python's logging module.\n# Usually they are "CRITICAL", "ERROR", "WARNING", "INFO" and "DEBUG".\nlog_level = "DEBUG"\n\n# DREX and simulation parameters are given in this section:\n[parameters]\n\n# Optional olivine volume fraction to use for multiphase simulations.\n# If enstatite_fraction is provided, they must sum to 1.\n# Otherwise, the remainder is assumed to be enstatite.\n# olivine_fraction = 1.\n\n# Optional enstatite volume fraction to use for multiphase simulations.\n# If olivine_fraction is provided, they must sum to 1.\n# Otherwise, the remainder is assumed to be olivine.\n# enstatite_fraction = 0.\n\n# Optional initial olivine fabric. A-type by default.\ninitial_olivine_fabric = "A"\n\n# Optional DREX stress_exponent, see documentation for details.\nstress_exponent = 1.5\n\n# Optional DREX deformation_exponent, see documentation for details.\ndeformation_exponent = 3.5\n\n# Optional DREX grain boudary mobility, see documentation for details.\ngbm_mobility = 125\n\n# Optional DREX grain boundary sliding threshold, see documentation for details.\ngbs_threshold = 0.3\n\n# Optional DREX nucleation efficiency, see documentation for details.\nnucleation_efficiency = 5.0\n\n# Optional number of (initial) grains per mineral phase per polycrystal.\nnumber_of_grains = 2000\n
    \n
    \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
    • data (array) \u2014 Nx3x3 array of orientation matrices
    • \n
    • density (bool, optional) \u2014 plot contoured pole figures, False by default
    • \n
    • ref_axes (string, optional) \u2014 letters specifying the horizontal and vertical\naxes of the pole figure, and respective labels
    • \n
    • hkl (array, optional) \u2014 crystallographic axis (one of the slip\ndirections of olivine, i.e. [1, 0, 0], [0, 1, 0] or [0, 0, 1])
    • \n
    • density_kwargs (dict, optional) \u2014 keyword arguments to pass to\npydrex.stats.point_density if density=True
    • \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: ~matplotlib.transforms.BboxBase or None\n clip_on: bool\n clip_path: Patch or (Path, Transform) or None\n facecolor or fc: color\n figure: ~matplotlib.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: list of .AbstractPathEffect\n picker: None or bool or float or callable\n position: [left, bottom, width, height] or ~matplotlib.transforms.Bbox\n prop_cycle: ~cycler.Cycler\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: ~matplotlib.transforms.Transform\n url: str\n visible: bool\n xbound: (lower: float, upper: float)\n xlabel: str\n xlim: (left: float, right: float)\n xmargin: float greater than -0.5\n xscale: unknown\n xticklabels: unknown\n xticks: unknown\n ybound: (lower: float, upper: float)\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 and argument handling for command line tools.

    \n
    \n\n

    All CLI handlers should be registered in the CLI_HANDLERS namedtuple,\nwhich ensures that they will be installed as executable scripts alongside the package.

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

    PyDRex script to show information about serialized CPO data.

    \n\n

    Lists the keys that should be used for the postfix in pydrex.Mineral.load and\npydrex.Mineral.from_file.

    \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 by default.

    \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(), npz_file_inspector=NPZFileInspector())"}, "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
    • CRSS = Critical Resolved Shear Stress,\ni.e. threshold stress required to initiate slip on a slip system,\nnormalised to the stress required to initiate slip on the softest slip system
    • \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., 0., 0.],\n [ 0., 0., 1.],\n [ 0., -1., 0.]],\n\n [[ 0., 0., -1.],\n [ 0., 0., 0.],\n [ 1., 0., 0.]],\n\n [[ 0., 1., 0.],\n [-1., 0., 0.],\n [ 0., 0., 0.]]])"}, "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
    • phase (MineralPhase) \u2014 ordinal number of the mineral phase
    • \n
    • fabric (MineralFabric) \u2014 ordinal number of the fabric type
    • \n
    • n_grains (int) \u2014 number of \"grains\" i.e. discrete volume segments
    • \n
    • orientations (array) \u2014 n_grainsx3x3 orientations (direction cosines)
    • \n
    • fractions (array) \u2014 volume fractions of the grains relative to aggregate volume
    • \n
    • strain_rate (array) \u2014 3x3 dimensionless macroscopic strain-rate tensor
    • \n
    • velocity_gradient (array) \u2014 3x3 dimensionless macroscopic velocity gradient
    • \n
    • stress_exponent (float) \u2014 p in dislocation_density \u221d shear_stress^p
    • \n
    • deformation_exponent (float) \u2014 n in shear_stress \u221d |deformation_rate|^(1/n)
    • \n
    • nucleation_efficiency (float) \u2014 parameter controlling grain nucleation
    • \n
    • gmb_mobility (float) \u2014 grain boundary mobility parameter
    • \n
    • volume_fraction (float) \u2014 volume fraction of the mineral phase relative to\nother phases (multiphase simulations)
    • \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.elasticity_components": {"fullname": "pydrex.diagnostics.elasticity_components", "modulename": "pydrex.diagnostics", "qualname": "elasticity_components", "kind": "function", "doc": "

    Calculate elasticity decompositions for the given elasticity tensors.

    \n\n

    Args:

    \n\n
      \n
    • voigt_matrices (array) \u2014 the Nx6x6 Voigt matrix representations of the averaged\nelasticity tensors for a series of polycrystal textures
    • \n
    \n\n

    Returns a dictionary with the following data series:

    \n\n
      \n
    • 'bulk_modulus' \u2014 the computed bulk modulus for each Voigt matrix C
    • \n
    • 'shear_modulus' \u2014 the computed shear modulus for each Voigt matrix C
    • \n
    • 'percent_anisotropy' \u2014 for each Voigt matrix C, the total percentage of the\nnorm of the elastic tensor ||C|| that deviates from the norm of the \"closest\"\nisotropic elasticity tensor
    • \n
    • 'percent_hexagonal' \u2014 for each C, the percentage of ||C|| attributed to\nhexagonally symmetric minerals
    • \n
    • 'percent_tetragonal' \u2014 for each C, the percentage of ||C|| attributed to\ntetragonally symmetric minerals
    • \n
    • 'percent_orthorhombic' \u2014 for each C, the percentage of ||C|| attributed to\northorhombically symmetric minerals
    • \n
    • 'percent_monoclinic' \u2014 for each C, the percentage of ||C|| attributed to\nmonoclinically symmetric minerals
    • \n
    • 'percent_triclinic' \u2014 for each C, the percentage of ||C|| attributed to\ntriclinically \"symmetric\" minerals (no mirror planes)
    • \n
    • 'hexagonal_axis' \u2014 for each C, the axis of hexagonal symmetry for the \"closest\"\nhexagonally symmetric approximation to C, a.k.a. the \"transverse isotropy\" axis
    • \n
    \n\n
    \n\n

    Only 5 symmetry classes are relevant for elasticity decomposition,\ncompared to the usual 6 used to describe crystal families.\nCrystals with cubic symmetry contribute to the isotropic elasticity tensor,\nbecause the lattice spacing is identical in all orthogonal directions.\nNote also that the trigonal crystal system is not a crystal family\n(it belongs to the hexagonal family).

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

    Compute Bingham average of 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 largest principal strain value and the vector defining the axis of\nmaximum extension (longest semiaxis of the finite strain ellipsoid) from the 3x3\ndeformation gradient tensor.

    \n", "signature": "(deformation_gradient, driver='ev'):", "funcdef": "def"}, "pydrex.diagnostics.symmetry_pgr": {"fullname": "pydrex.diagnostics.symmetry_pgr", "modulename": "pydrex.diagnostics", "qualname": "symmetry_pgr", "kind": "function", "doc": "

    Compute texture symmetry eigenvalue diagnostics from grain 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_indices": {"fullname": "pydrex.diagnostics.misorientation_indices", "modulename": "pydrex.diagnostics", "qualname": "misorientation_indices", "kind": "function", "doc": "

    Calculate M-indices for a series of polycrystal textures.

    \n\n

    Calculate M-index using misorientation_index for a series of texture snapshots.\nThe orientation_stack is a NxMx3x3 array of orientations where N is the number of\ntexture snapshots and M is the number of grains.

    \n\n

    Uses the multiprocessing library to calculate texture indices for multiple snapshots\nsimultaneously. If ncpus is None the number of CPU cores to use is chosen\nautomatically based on the maximum number available to the Python interpreter,\notherwise the specified number of cores is requested. Alternatively, an existing\ninstance of multiprocessing.Pool can be provided.

    \n\n

    See misorientation_index for documentation of the remaining arguments.

    \n", "signature": "(\torientation_stack,\tsystem: pydrex.geometry.LatticeSystem,\tbins=None,\tncpus=None,\tpool=None):", "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 argument specifies the lattice system which determines intrinsic\nsymmetry degeneracies and the maximum allowable misorientation angle.\nSee _geo.LatticeSystem for supported systems.

    \n\n
    \n\n

    This method must be able to allocate an array of shape\n$ \\frac{N!}{2(N-2)!}\u00d7 M^{2} $\nfor N the length of orientations and M the number of symmetry operations for\nthe given system.

    \n\n
    \n\n

    See Skemer et al. (2005).

    \n", "signature": "(orientations, system: pydrex.geometry.LatticeSystem, bins=None):", "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.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.\nOptionally project the vector onto the plane (given by its unit normal)\nbefore calculating the angle.

    \n", "signature": "(vector, axis, plane=None):", "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
    • message \u2014 explanation of the error
    • \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.LatticeSystem": {"fullname": "pydrex.geometry.LatticeSystem", "modulename": "pydrex.geometry", "qualname": "LatticeSystem", "kind": "class", "doc": "

    Crystallographic lattice systems supported by postprocessing methods.

    \n\n

    The value of a member is (a, b) with a and b as given in the table below.\nThe additional row lists the maximum misorientation angle between two crystallites\nfor the given lattice system.

    \n\n
            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).

    \n", "bases": "enum.Enum"}, "pydrex.geometry.LatticeSystem.triclinic": {"fullname": "pydrex.geometry.LatticeSystem.triclinic", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.triclinic", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.triclinic: (1, 1)>"}, "pydrex.geometry.LatticeSystem.monoclinic": {"fullname": "pydrex.geometry.LatticeSystem.monoclinic", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.monoclinic", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.monoclinic: (2, 2)>"}, "pydrex.geometry.LatticeSystem.orthorhombic": {"fullname": "pydrex.geometry.LatticeSystem.orthorhombic", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.orthorhombic", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.orthorhombic: (2, 4)>"}, "pydrex.geometry.LatticeSystem.rhombohedral": {"fullname": "pydrex.geometry.LatticeSystem.rhombohedral", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.rhombohedral", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.rhombohedral: (3, 6)>"}, "pydrex.geometry.LatticeSystem.tetragonal": {"fullname": "pydrex.geometry.LatticeSystem.tetragonal", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.tetragonal", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.tetragonal: (4, 8)>"}, "pydrex.geometry.LatticeSystem.hexagonal": {"fullname": "pydrex.geometry.LatticeSystem.hexagonal", "modulename": "pydrex.geometry", "qualname": "LatticeSystem.hexagonal", "kind": "variable", "doc": "

    \n", "default_value": "<LatticeSystem.hexagonal: (6, 12)>"}, "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
    • \u03d5 is the longitude (\u201cazimuth\u201d) \u2208 [0, 2\u03c0)
    • \n
    • \u03b8 is the colatitude (\u201cinclination\u201d) \u2208 [0, \u03c0)
    • \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
    • \u03d5 is the longitude (\u201cazimuth\u201d) \u2208 [0, 2\u03c0)
    • \n
    • \u03b8 is the colatitude (\u201cinclination\u201d) \u2208 [0, \u03c0)
    • \n
    \n\n

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

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

    Calculate minimum misorientation angles for collections of rotation quaternions.

    \n\n

    Calculate the smallest angular distance between any quaternions q1_array[:, i] and\nq2_array[:, j], where i == j and the first dimensions of q1_array and q2_array\nare of equal length (the output will also be this long):

    \n\n
    q1_array.shape      q2_array.shape      len(output)\n---------------------------------------------------\nNxAx4               NxBx4               N\n
    \n\n
    \n\n

    This method must be able to allocate a floating point array of shape Nx(A*B)

    \n\n
    \n\n

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

    \n\n

    See also:

    \n\n\n", "signature": "(q1_array, q2_array):", "funcdef": "def"}, "pydrex.geometry.symmetry_operations": {"fullname": "pydrex.geometry.symmetry_operations", "modulename": "pydrex.geometry", "qualname": "symmetry_operations", "kind": "function", "doc": "

    Get sequence of symmetry operations for the given LatticeSystem.

    \n\n

    Returned transforms are either quaternions (for rotations of the lattice) or 4x4\nmatrices which pre-multiply a quaternion to give a reflected variant (reflections\nare improper rotations and cannot be represented as quaternions or SciPy rotation\nmatrices).

    \n", "signature": "(system: pydrex.geometry.LatticeSystem):", "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)\nis optimised to preserve area. See 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.reshape((len(a), len(a)))\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.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
    • PyDRex configuration files, which specify simulation parameters and initial conditions
    • \n
    • 'SCSV' files, CSV files with YAML frontmatter for (small) scientific datasets
    • \n
    • Mesh files via meshio, to set up final mineral positions in steady flows.
    • \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': 3500, '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

    Prints the YAML header section to output and returns a NamedTuple with columns of\nthe csv data. See also save_scsv.

    \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
    • stream \u2014 open output stream (e.g. file handle) where data should be written
    • \n
    • schema \u2014 SCSV schema dictionary, with 'delimiter', 'missing' and 'fields' keys
    • \n
    • comments (optional) \u2014 array of comments to be written above the schema, each on\na new line with an '#' prefix
    • \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
    • file \u2014 path to the file where the data should be written
    • \n
    • schema \u2014 SCSV schema dictionary, with 'delimiter', 'missing' and 'fields' keys
    • \n
    • data \u2014 data arrays (columns) of equal length
    • \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.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 directory.

    \n", "signature": "(directory):", "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.CONSOLE_LOGGER": {"fullname": "pydrex.logger.CONSOLE_LOGGER", "modulename": "pydrex.logger", "qualname": "CONSOLE_LOGGER", "kind": "variable", "doc": "

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

    \n", "signature": "(exec_type, exec_value, exec_traceback):", "funcdef": "def"}, "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
    • level (string) \u2014 logging level name e.g. \"DEBUG\", \"ERROR\", etc.\nSee Python's logging module for details.
    • \n
    • handler (optional, logging.Handler) \u2014 alternative handler to control instead\nof the default, CONSOLE_LOGGER.
    • \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\n

    Acronyms:

    \n\n
      \n
    • CPO = Crystallographic preferred orientation,\ni.e. preferential clustering of polycrystal grain orientations in SO(3),\nleading to an overall anisotropic orientation distribution
    • \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\n[88K download]

    \n", "default_value": "array([[320.71, 69.84, 71.22, 0. , 0. , 0. ],\n [ 69.84, 197.25, 74.8 , 0. , 0. , 0. ],\n [ 71.22, 74.8 , 234.32, 0. , 0. , 0. ],\n [ 0. , 0. , 0. , 63.77, 0. , 0. ],\n [ 0. , 0. , 0. , 0. , 77.67, 0. ],\n [ 0. , 0. , 0. , 0. , 0. , 78.36]])"}, "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\n[88K download]

    \n", "default_value": "array([[236.9, 79.6, 63.2, 0. , 0. , 0. ],\n [ 79.6, 180.5, 56.8, 0. , 0. , 0. ],\n [ 63.2, 56.8, 230.4, 0. , 0. , 0. ],\n [ 0. , 0. , 0. , 84.3, 0. , 0. ],\n [ 0. , 0. , 0. , 0. , 79.4, 0. ],\n [ 0. , 0. , 0. , 0. , 0. , 80.1]])"}, "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
    • minerals \u2014 list of pydrex.minerals.Mineral instances storing orientations and\nfractional volumes of the grains within each distinct mineral phase
    • \n
    • weights (dict) \u2014 dictionary containing weights of each mineral\nphase, as a fraction of 1, in keys named \"_fraction\",\ne.g. \"olivine_fraction\"
    • \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>>> olA = pydrex.Mineral(\n...     phase=pydrex.MineralPhase.olivine,\n...     fabric=pydrex.MineralFabric.olivine_A,\n...     regime=pydrex.DeformationRegime.dislocation,\n...     n_grains=2000\n... )\n>>> olA.phase\n<MineralPhase.olivine: 0>\n>>> olA.fabric\n<MineralFabric.olivine_A: 0>\n>>> olA.regime\n<DeformationRegime.dislocation: 1>\n>>> olA.n_grains\n2000\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>>> olA = 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", [\n...             [x * np.pi / 2, np.pi / 2, np.pi / 2] for x in rng.random(n_grains)\n...         ]\n...     ).inv().as_matrix(),\n... )\n>>> len(olA.orientations)\n1\n>>> type(olA.orientations)\n<class 'list'>\n>>> olA.orientations[0].shape\n(2000, 3, 3)\n>>> olA.fractions[0].shape\n(2000,)\n
    \n
    \n\n

    Note that minerals can also be constructed from serialized data,\nsee Mineral.load and Mineral.from_file.

    \n\n

    Attributes:

    \n\n
      \n
    • phase (pydrex.core.MineralPhase) \u2014 ordinal number of the mineral phase
    • \n
    • fabric (pydrex.core.MineralFabric) \u2014 ordinal number of the fabric type
    • \n
    • regime (pydrex.core.DeformationRegime) \u2014 ordinal number of the deformation\nregime
    • \n
    • n_grains (int) \u2014 number of grains in the aggregate
    • \n
    • fractions (list of arrays) \u2014 grain volume fractions for each texture snapshot
    • \n
    • orientations (list of arrays) \u2014 grain orientation matrices for each texture\nsnapshot
    • \n
    • seed (int) \u2014 seed used by the random number generator to set up the isotropic\ninitial condition when fractions_init or orientations_init are not provided
    • \n
    • lband (int) \u2014 passed to the scipy.integrate.LSODA solver
    • \n
    • uband (int) \u2014 passed to the scipy.integrate.LSODA solver
    • \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 = 3500,\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": "3500"}, "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. Return the updated deformation\ngradient measuring the corresponding macroscopic deformation.

    \n\n

    Args:

    \n\n
      \n
    • config (dict) \u2014 PyDRex configuration dictionary
    • \n
    • deformation_gradient (array) \u2014 3x3 initial deformation gradient tensor
    • \n
    • get_velocity_gradient (function) \u2014 callable with signature f(x) that returns\na 3x3 velocity gradient matrix at position x (vector)
    • \n
    • pathline (tuple) \u2014 tuple consisting of:\n
        \n
      1. the time at which to start the CPO integration (t_start)
      2. \n
      3. the time at which to stop the CPO integration (t_end)
      4. \n
      5. callable with signature f(t) that returns the position of the mineral at\ntime t \u2208 [t_start, t_end]
      6. \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': 5000}"}, "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 terminate at the given final_location and follow a curve\ndetermined by the velocity gradient. It works for both 2D (rectangular) and 3D\n(orthopiped\u00b9) domains, so long as the provided callables expect/return arrays of the\nappropriate dimension.

    \n\n
    \n\n

    The pathline is calculated backwards in time (t < 0) from the given endpoint.\nTherefore, the returned position callable should be evaluated at negative times.

    \n\n
    \n\n

    Args:

    \n\n
      \n
    • final_location (array) \u2014 coordinates of the final location
    • \n
    • get_velocity (callable) \u2014 returns velocity vector at a point
    • \n
    • get_velocity_gradient (callable) \u2014 returns velocity gradient matrix at a point
    • \n
    • min_coords (array) \u2014 lower bound coordinates of the box
    • \n
    • max_coords (array) \u2014 upper bound coordinates of the box
    • \n
    • max_strain (float) \u2014 target strain (given as \u201ctensorial\u201d strain \u03b5) at the final\nlocation, useful if the pathline never inflows into the domain (the pathline will\nonly be traced backwards until a strain of 0 is reached, unless a domain boundary\nis reached first)
    • \n
    • regular_steps (float, optional) \u2014 number of time steps to use for regular\nresampling between the start (t << 0) and end (t <= 0) of the pathline\n(if None, which is the default, then the timestamps obtained from\nscipy.integrate.solve_ivp are returned instead)
    • \n
    \n\n

    Optional keyword arguments will be passed to scipy.integrate.solve_ivp. However,\nsome of the arguments to the solve_ivp call may not be modified, and a warning\nwill be raised if they are provided.

    \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\n

    \u00b9An \u201corthopiped\u201d is a 3D rectangle (called a \u201cbox\u201d when we are in a hurry), see\nhttps://www.whatistoday.net/2020/04/cuboid-dilemma.html.

    \n", "signature": "(\tfinal_location,\tget_velocity,\tget_velocity_gradient,\tmin_coords,\tmax_coords,\tmax_strain,\tregular_steps=None,\t**kwargs):", "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": "

    Return new samples from orientations weighted by the volume distribution.

    \n\n

    Args:

    \n\n
      \n
    • orientations (array) \u2014 NxMx3x3 array of orientations
    • \n
    • fractions (array) \u2014 NxM array of grain volume fractions
    • \n
    • n_samples (int) \u2014 optional number of samples to return, default is M
    • \n
    • seed (int) \u2014 optional seed for the random number generator, which is used to\npick random grain volume samples from the discrete distribution
    • \n
    \n\n

    Returns the Nxn_samplesx3x3 orientations and associated sorted (ascending) grain\nvolumes.

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

    Calculate misorientation histogram 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 argument specifies the lattice system which determines intrinsic\nsymmetry degeneracies and the maximum allowable misorientation angle.\nSee _geo.LatticeSystem for supported systems.

    \n\n
    \n\n

    This method must be able to allocate an array of shape\n$ \\frac{N!}{2(N-2)!}\u00d7 M^{2} $\nfor N the length of orientations and M the number of symmetry operations for\nthe given system.

    \n\n
    \n\n

    See Skemer et al. (2005).

    \n", "signature": "(orientations, system: pydrex.geometry.LatticeSystem, bins=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 lattice symmetry system.\nSee _geo.LatticeSystem for supported systems.

    \n", "signature": "(low, high, system: pydrex.geometry.LatticeSystem):", "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
    • gridsteps (int) \u2014 the number of steps, i.e. number of points along a diameter of\nthe spherical counting grid
    • \n
    • weights (array) \u2014 auxiliary weights for each data point
    • \n
    • kernel (string) \u2014 the name of the kernel function to use, see\nSPHERICAL_COUNTING_KERNELS
    • \n
    • axial (bool) \u2014 toggle axial versions of the kernel functions\n(for crystallographic data this should normally be kept as True)
    • \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., 0., 0.],\n [ 0., 0., 1.],\n [ 0., -1., 0.]],\n\n [[ 0., 0., -1.],\n [ 0., 0., 0.],\n [ 1., 0., 0.]],\n\n [[ 0., 1., 0.],\n [-1., 0., 0.],\n [ 0., 0., 0.]]])"}, "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. With reference to the full 4-th order elastic tensor, the\ncontractions are defined as:

    \n\n
      \n
    • $d_{ij} = C_{ijkk}$ (dilatational stiffness tensor)
    • \n
    • $v_{ij} = C_{ijkj}$ (deviatoric stiffness tensor)
    • \n
    \n\n

    Any vector which is an eigenvector of both $d_{ij}$ and $v_{ij}$ is always normal to\na symmetry plane of the elastic medium.

    \n\n

    See Equations 3.4 & 3.5 in Browaeys & Chevrot (2004).

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

    Project 21-component voigt_vector onto monoclinic symmetry subspace.

    \n\n

    Monoclinic symmetry is characterised by 13 independent elasticity components.

    \n\n

    See Browaeys & Chevrot (2004).

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

    Project 21-component voigt_vector onto orthorhombic symmetry subspace.

    \n\n

    Orthorhombic symmetry is characterised by 9 independent elasticity components.

    \n\n

    See Browaeys & Chevrot (2004).

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

    Project 21-component voigt_vector onto tetragonal symmetry subspace.

    \n\n

    Tetragonal symmetry is characterised by 6 independent elasticity components.

    \n\n

    See Browaeys & Chevrot (2004).

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

    Project 21-component voigt_vector onto hexagonal symmetry subspace.

    \n\n

    Hexagonal symmetry (a.k.a. transverse isotropy) is characterised by 5 independent\nelasticity components.

    \n\n

    See Browaeys & Chevrot (2004).

    \n", "signature": "(voigt_vector):", "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.strain_increment": {"fullname": "pydrex.utils.strain_increment", "modulename": "pydrex.utils", "qualname": "strain_increment", "kind": "function", "doc": "

    Calculate strain increment for a given time increment and velocity gradient.

    \n\n

    Returns \u201ctensorial\u201d strain increment \u03b5, which is equal to \u03b3/2 where \u03b3 is the\n\u201c(engineering) shear strain\u201d increment.

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

    Apply grain boundary sliding for small grains.

    \n", "signature": "(orientations, fractions, gbs_threshold, orientations_prev, n_grains):", "funcdef": "def"}, "pydrex.utils.extract_vars": {"fullname": "pydrex.utils.extract_vars", "modulename": "pydrex.utils", "qualname": "extract_vars", "kind": "function", "doc": "

    Extract deformation gradient, orientation matrices and grain sizes from y.

    \n", "signature": "(y, n_grains):", "funcdef": "def"}, "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.default_ncpus": {"fullname": "pydrex.utils.default_ncpus", "modulename": "pydrex.utils", "qualname": "default_ncpus", "kind": "function", "doc": "

    Get a safe default number of CPUs available for multiprocessing.

    \n\n

    On Linux platforms that support it, the method os.sched_getaffinity() is used.\nOn Mac OS, the command sysctl -n hw.ncpu is used.\nOn Windows, the environment variable NUMBER_OF_PROCESSORS is queried.\nIf any of these fail, a fallback of 1 is used and a warning is logged.

    \n", "signature": "():", "funcdef": "def"}, "pydrex.utils.diff_like": {"fullname": "pydrex.utils.diff_like", "modulename": "pydrex.utils", "qualname": "diff_like", "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
    >>> diff_like(np.array([1, 2, 3, 4, 5]))\narray([[1, 1, 1, 1, 1]])\n
    \n
    \n\n
    \n
    >>> diff_like(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
    >>> diff_like(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"}, "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.utils.lag_2d_corner_flow": {"fullname": "pydrex.utils.lag_2d_corner_flow", "modulename": "pydrex.utils", "qualname": "lag_2d_corner_flow", "kind": "function", "doc": "

    Get predicted grain orientation lag for 2D corner flow.

    \n\n

    See eq. 11 in Kaminski & Ribe (2002).

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

    Quaternion product, q1, q2 and output are in scalar-last (x,y,z,w) format.

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

    Redraw legend on matplotlib axis or figure.

    \n\n

    Transparency is removed from legend symbols.\nIf fig is not None and remove_all is True,\nall legends are first removed from the parent figure.\nOptional keyword arguments are passed to matplotlib.axes.Axes.legend by default,\nor matplotlib.figure.Figure.legend if fig is not None.

    \n\n

    If legendax is not None, the axis legend will be redrawn using the legendax axes\ninstead of taking up space in the original axes. This option requires fig=None.

    \n\n
    \n\n

    Note that if fig is not None, the legend may be cropped from the saved\nfigure due to a Matplotlib bug. In this case, it is required to add the\narguments bbox_extra_artists=(legend,) and bbox_inches=\"tight\" to savefig,\nwhere legend is the object returned by this function. To prevent the legend\nfrom consuming axes/subplot space, it is further required to add the lines:\nlegend.set_in_layout(False), fig.canvas.draw(), legend.set_layout(True)\nand fig.set_layout_engine(\"none\") before saving the figure.

    \n\n
    \n", "signature": "(ax, fig=None, legendax=None, remove_all=True, **kwargs):", "funcdef": "def"}, "pydrex.utils.add_subplot_labels": {"fullname": "pydrex.utils.add_subplot_labels", "modulename": "pydrex.utils", "qualname": "add_subplot_labels", "kind": "function", "doc": "

    Add subplot labels to axes mosaic.

    \n\n

    Use labelmap to specify a dictionary that maps keys in mosaic to subplot labels.\nIf labelmap is None, the keys in axs will be used as the labels by default.

    \n\n

    If internal is False (default), the axes titles will be used.\nOtherwise, internal labels will be drawn with ax.text,\nin which case loc must be a tuple of floats.

    \n\n

    Any axes in axs corresponding to the special key legend are skipped.

    \n", "signature": "(\tmosaic,\tlabelmap=None,\tloc='left',\tfontsize='medium',\tinternal=False,\t**kwargs):", "funcdef": "def"}, "pydrex.velocity": {"fullname": "pydrex.velocity", "modulename": "pydrex.velocity", "kind": "module", "doc": "
    \n

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

    \n
    \n\n

    For the sake of consistency, all callables returned from methods in this module expect a\n3D position vector as input. They also return 3D tensors in all cases. This means they\ncan be directly used as arguments to e.g. pydrex.minerals.Mineral.update_orientations.

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

    Return simple shear velocity and velocity gradient callables.

    \n\n

    The returned callables have signature f(x) where x is a 3D position vector.

    \n\n

    Args:

    \n\n
      \n
    • direction (one of {\"X\", \"Y\", \"Z\"}) \u2014 velocity vector direction
    • \n
    • deformation_plane (one of {\"X\", \"Y\", \"Z\"}) \u2014 direction of velocity gradient
    • \n
    • strain_rate (float) \u2014 1/2 \u00d7 magnitude of the largest eigenvalue of the velocity\ngradient
    • \n
    \n\n
    \n\n

    Input arrays to the returned callables must have homogeneous element types.\nArrays with e.g. both floating point and integer values are not supported.

    \n\n
    \n\n

    Examples:

    \n\n
    \n
    >>> import numpy as np\n>>> u, L = simple_shear_2d("X", "Z", 1e-4)\n>>> u(np.array([0, 0, 0]))\narray([0., 0., 0.])\n>>> u(np.array([0, 0, 1]))\narray([0.0001, 0.    , 0.    ])\n>>> u(np.array([0.0, 0.0, 2.0]))\narray([0.0002, 0.    , 0.    ])\n>>> L(np.array([0, 0, 0]))\narray([[0.    , 0.    , 0.0002],\n       [0.    , 0.    , 0.    ],\n       [0.    , 0.    , 0.    ]])\n>>> L(np.array([0.0, 0.0, 1.0]))\narray([[0.    , 0.    , 0.0002],\n       [0.    , 0.    , 0.    ],\n       [0.    , 0.    , 0.    ]])\n
    \n
    \n", "signature": "(direction, deformation_plane, strain_rate):", "funcdef": "def"}, "pydrex.velocity.cell_2d": {"fullname": "pydrex.velocity.cell_2d", "modulename": "pydrex.velocity", "qualname": "cell_2d", "kind": "function", "doc": "

    Get velocity and velocity gradient callables for a steady-state 2D Stokes cell.

    \n\n

    The cell is centered at (0,0) and the velocity field is defined by:\n$$\n\\bm{u} = U\\cos(\u03c0 x/d)\\sin(\u03c0 z/d) \\bm{\\hat{h}} - U\\sin(\u03c0 x/d)\\cos(\u03c0 z/d) \\bm{\\hat{v}}\n$$\nwhere $\\bm{\\hat{h}}$ and $\\bm{\\hat{v}}$ are unit vectors in the chosen horizontal\nand vertical directions, respectively. The velocity at the cell edge has a magnitude\nof $U$ and $d$ is the length of a cell edge.

    \n\n

    The returned callables have signature f(x) where x is a 3D position vector.

    \n\n

    Args:

    \n\n
      \n
    • horizontal (one of {\"X\", \"Y\", \"Z\"}) \u2014 horizontal direction
    • \n
    • vertical (one of {\"X\", \"Y\", \"Z\"}) \u2014 vertical direction
    • \n
    • velocity_edge (float) \u2014 velocity magnitude at the center of the cell edge
    • \n
    • edge_length (float, optional) \u2014 the edge length of the cell (= 2 by default)
    • \n
    \n\n

    Examples:

    \n\n
    \n
    >>> import numpy as np\n>>> u, L = cell_2d("X", "Z", 1)\n>>> u(np.array([0, 0, 0]))\narray([ 0.,  0., -0.])\n>>> u(np.array([0, 0, 1]))\narray([ 1.,  0., -0.])\n>>> u(np.array([0, 1, 0]))  # Y-value is not used.\narray([ 0.,  0., -0.])\n>>> u(np.array([0, 0, -1]))\narray([-1.,  0., -0.])\n>>> u(np.array([1, 0, 0]))\narray([ 0.,  0., -1.])\n>>> u(np.array([-0.5, 0.0, 0.0]))\narray([0.        , 0.        , 0.70710678])\n>>> L(np.array([0, 0, 0]))\narray([[-0.        ,  0.        ,  1.57079633],\n       [ 0.        ,  0.        ,  0.        ],\n       [ 0.        ,  0.        , -1.57079633]])\n>>> L(np.array([0.5, 0.0, 0.0]))\narray([[-0.        ,  0.        ,  1.11072073],\n       [ 0.        ,  0.        ,  0.        ],\n       [ 0.        ,  0.        , -1.11072073]])\n>>> L(np.array([0, 0, 0])) == L(np.array([0, 1, 0]))  # Y-value is not used.\narray([[ True,  True,  True],\n       [ True,  True,  True],\n       [ True,  True,  True]])\n>>> L(np.array([1, 0, 0])) == L(np.array([0, 0, 1]))\narray([[ True,  True,  True],\n       [ True,  True,  True],\n       [ True,  True,  True]])\n>>> L(np.array([1, 0, 0])) == L(np.array([-1, 0, 0]))\narray([[ True,  True,  True],\n       [ True,  True,  True],\n       [ True,  True,  True]])\n>>> L(np.array([1, 0, 0])) == L(np.array([0, 0, -1]))\narray([[ True,  True,  True],\n       [ True,  True,  True],\n       [ True,  True,  True]])\n>>> L(np.array([0.5, 0.0, 0.5]))\narray([[-0.78539816,  0.        ,  0.78539816],\n       [ 0.        ,  0.        ,  0.        ],\n       [ 0.78539816,  0.        , -0.78539816]])\n
    \n
    \n\n
    \n
    >>> u, L = cell_2d("X", "Z", 6.3e-10, 1e5)\n>>> u(np.array([0, 0, 0]))\narray([ 0.,  0., -0.])\n>>> u(np.array([0.0, 0.0, -5e4]))\narray([-6.3e-10,  0.0e+00, -0.0e+00])\n>>> u(np.array([2e2, 0e0, 0e0]))\narray([ 0.0000000e+00,  0.0000000e+00, -3.9583807e-12])\n
    \n
    \n", "signature": "(horizontal, vertical, velocity_edge, edge_length=2):", "funcdef": "def"}, "pydrex.velocity.corner_2d": {"fullname": "pydrex.velocity.corner_2d", "modulename": "pydrex.velocity", "qualname": "corner_2d", "kind": "function", "doc": "

    Get velocity and velocity gradient callables for a steady-state 2D corner flow.

    \n\n

    The velocity 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$$\nSee also Fig. 5 in Kaminski & Ribe, 2002.

    \n\n

    The returned callables have signature f(x) where x is a 3D position vector.

    \n\n

    Args:

    \n\n
      \n
    • horizontal (one of {\"X\", \"Y\", \"Z\"}) \u2014 horizontal direction
    • \n
    • vertical (one of {\"X\", \"Y\", \"Z\"}) \u2014 vertical direction
    • \n
    • plate_speed (float) \u2014 speed of the \u201cplate\u201d i.e. upper boundary
    • \n
    \n", "signature": "(horizontal, vertical, plate_speed):", "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.pathline_box2d": {"fullname": "pydrex.visualisation.pathline_box2d", "modulename": "pydrex.visualisation", "qualname": "pathline_box2d", "kind": "function", "doc": "

    Plot pathlines and velocity arrows for a 2D box domain.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.

    \n\n

    Args:

    \n\n
      \n
    • get_velocity (callable) \u2014 object with call signature f(x) that returns\nthe 3D velocity vector at a given 3D position vector
    • \n
    • ref_axes (two letters from {\"x\", \"y\", \"z\"}) \u2014 labels for the horizontal and\nvertical axes (these also define the projection for the 3D velocity/position)
    • \n
    • colors (array) \u2014 monotonic values along a representative pathline in the flow
    • \n
    • positions (Nx3 array) \u2014 3D position vectors along the same pathline
    • \n
    • min_coords (array) \u2014 2D coordinates of the lower left corner of the domain
    • \n
    • max_coords (array) \u2014 2D coordinates of the upper right corner of the domain
    • \n
    • resolution (array) \u2014 2D resolution of the velocity arrow grid (i.e. number of\ngrid points in the horizontal and vertical directions) which can be set to None to\nprevent drawing velocity vectors
    • \n
    • aspect (str|float, optional) \u2014 see matplotlib.axes.Axes.set_aspect
    • \n
    • cmap (Matplotlib color map, optional) \u2014 color map for colors
    • \n
    • cpo_vectors (array, optional) \u2014 vectors to plot as bars at pathline locations
    • \n
    • cpo_strengths (array, optional) \u2014 strengths used to scale the cpo bars
    • \n
    • tick_formatter (callable, optional) \u2014 function used to format tick labels
    • \n
    \n\n

    Additional keyword arguments are passed to the matplotlib.axes.Axes.quiver call\nused to plot the velocity vectors.

    \n\n

    Returns the figure handle, the axes handle, the quiver collection (velocities) and\nthe scatter collection (pathline).

    \n", "signature": "(\tax,\tget_velocity,\tref_axes,\tcolors,\tpositions,\tmarker,\tmin_coords,\tmax_coords,\tresolution,\taspect='equal',\tcmap=<matplotlib.colors.ListedColormap object>,\tcpo_vectors=None,\tcpo_strengths=None,\ttick_formatter=<function <lambda>>,\t**kwargs):", "funcdef": "def"}, "pydrex.visualisation.alignment": {"fullname": "pydrex.visualisation.alignment", "modulename": "pydrex.visualisation", "qualname": "alignment", "kind": "function", "doc": "

    Plot angles (in degrees) versus strains on the given axis.

    \n\n

    Alignment angles could be either bingham averages or the a-axis in the hexagonal\nsymmetry projection, measured from e.g. the shear direction. In the first case,\nthey should be calculated from resampled grain orientations. Expects as many\nmarkers and labels as there are data series in angles.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.

    \n\n

    Args:

    \n\n
      \n
    • strains (array) \u2014 X-values, accumulated strain (tensorial) during CPO evolution,\nmay be a 2D array of multiple strain series
    • \n
    • angles (array) \u2014 Y-values, may be a 2D array of multiple angle series
    • \n
    • markers (sequence) \u2014 MatPlotLib markers to use for the data series
    • \n
    • labels (sequence) \u2014 labels to use for the data series
    • \n
    • err (array, optional) \u2014 standard errors for the angles, shapes must match
    • \n
    • \u03b8_max (int) \u2014 maximum angle (\u00b0) to show on the plot, should be less than 90
    • \n
    • \u03b8_fse (array, optional) \u2014 an array of angles from the long axis of the finite\nstrain ellipsoid to the reference direction (e.g. shear direction)
    • \n
    • colors (array, optional) \u2014 color coordinates for series of angles
    • \n
    • cmaps (Matplotlib color maps, optional) \u2014 color maps for colors
    • \n
    \n\n

    If colors and cmaps are used, then angle values are colored individually within\neach angle series.

    \n\n

    Returns a tuple of the figure handle, the axes handle and the set of colors used for\nthe data series plots.

    \n", "signature": "(\tax,\tstrains,\tangles,\tmarkers,\tlabels,\terr=None,\t\u03b8_max=90,\t\u03b8_fse=None,\tcolors=None,\tcmaps=None):", "funcdef": "def"}, "pydrex.visualisation.strengths": {"fullname": "pydrex.visualisation.strengths", "modulename": "pydrex.visualisation", "qualname": "strengths", "kind": "function", "doc": "

    Plot CPO strengths (e.g. M-indices) versus strains on the given axis.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.

    \n\n

    Args:

    \n\n
      \n
    • strains (array) \u2014 X-values, accumulated strain (tensorial) during CPO evolution,\nmay be a 2D array of multiple strain series
    • \n
    • strengths (array) \u2014 Y-values, may be a 2D array of multiple strength series
    • \n
    • markers (sequence) \u2014 MatPlotLib markers to use for the data series
    • \n
    • labels (sequence) \u2014 labels to use for the data series
    • \n
    • err (array, optional) \u2014 standard errors for the strengths, shapes must match
    • \n
    • colors (array, optional) \u2014 color coordinates for series of strengths
    • \n
    • cpo_threshold (float, optional) \u2014 plot a dashed line at this threshold
    • \n
    • cmaps (Matplotlib color maps, optional) \u2014 color maps for colors
    • \n
    \n\n

    If colors and cmaps are used, then strength values are colored individually\nwithin each strength series.

    \n\n

    Returns a tuple of the figure handle, the axes handle and the set of colors used for\nthe data series plots.

    \n", "signature": "(\tax,\tstrains,\tstrengths,\tylabel,\tmarkers,\tlabels,\terr=None,\tcpo_threshold=None,\tcolors=None,\tcmaps=None):", "funcdef": "def"}, "pydrex.visualisation.grainsizes": {"fullname": "pydrex.visualisation.grainsizes", "modulename": "pydrex.visualisation", "qualname": "grainsizes", "kind": "function", "doc": "

    Plot grain volume fractions versus strains on the given axis.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.

    \n", "signature": "(ax, strains, fractions):", "funcdef": "def"}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"fullname": "pydrex.visualisation.show_Skemer2016_ShearStrainAngles", "modulename": "pydrex.visualisation", "qualname": "show_Skemer2016_ShearStrainAngles", "kind": "function", "doc": "

    Show data from src/pydrex/data/thirdparty/Skemer2016_ShearStrainAngles.scsv.

    \n\n

    Plot data from the Skemer 2016 datafile on the axis given by ax. Select the\nstudies from which to plot the data, which must be a list of strings with exact\nmatches in the study column in the datafile.\nAlso filter the data to select only the given fabric\n(see pydrex.core.MineralFabric).

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.

    \n\n

    Returns a tuple containing:

    \n\n
      \n
    • the figure handle
    • \n
    • the axes handle
    • \n
    • the set of colors used for the data series plots
    • \n
    • the Skemer 2016 dataset
    • \n
    • the indices used to select data according to the \"studies\" and \"fabric\" filters
    • \n
    \n", "signature": "(ax, studies, markers, colors, fillstyles, labels, fabric):", "funcdef": "def"}, "pydrex.visualisation.spin": {"fullname": "pydrex.visualisation.spin", "modulename": "pydrex.visualisation", "qualname": "spin", "kind": "function", "doc": "

    Plot rotation rates of grains with known, unique initial [100] angles from X.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.\nThe default labels (\"target\", \"computed\") can also be overriden.\nIf shear_axis is not None, a dashed line will be drawn at the given x-value\n(and its reflection around 180\u00b0).

    \n\n

    Returns a tuple of the figure handle, the axes handle and the set of colors used for\nthe data series plots.

    \n", "signature": "(\tax,\tinitial_angles,\trotation_rates,\ttarget_initial_angles=None,\ttarget_rotation_rates=None,\tlabels=('target', 'computed'),\tshear_axis=None):", "funcdef": "def"}, "pydrex.visualisation.growth": {"fullname": "pydrex.visualisation.growth", "modulename": "pydrex.visualisation", "qualname": "growth", "kind": "function", "doc": "

    Plot grain growth of grains with known, unique initial [100] angles from X.

    \n\n

    If ax is None, a new figure and axes are created with figure_unless.\nThe default labels (\"target\", \"computed\") can also be overriden.\nIf shear_axis is not None, a dashed line will be drawn at the given x-value\n(and its reflection around 180\u00b0).

    \n\n

    Returns a tuple of the figure handle, the axes handle and the set of colors used for\nthe data series plots.

    \n", "signature": "(\tax,\tinitial_angles,\tfractions_diff,\ttarget_initial_angles=None,\ttarget_fractions_diff=None,\tlabels=('target', 'computed'),\tshear_axis=None):", "funcdef": "def"}, "pydrex.visualisation.figure_unless": {"fullname": "pydrex.visualisation.figure_unless", "modulename": "pydrex.visualisation", "qualname": "figure_unless", "kind": "function", "doc": "

    Create figure and axes if ax is None, or return existing figure for ax.

    \n\n

    If ax is None, a new figure is created for the axes with a few opinionated default\nsettings (grid, constrained layout, high DPI).

    \n\n

    Returns a tuple containing the figure handle and the axes object.

    \n", "signature": "(ax):", "funcdef": "def"}, "pydrex.visualisation.figure": {"fullname": "pydrex.visualisation.figure", "modulename": "pydrex.visualisation", "qualname": "figure", "kind": "function", "doc": "

    Create new figure with a few opinionated default settings.

    \n\n

    (e.g. grid, constrained layout, high DPI).

    \n\n

    The keyword argument figscale can be used to scale the figure width and height\nrelative to the default values by passing a tuple. Any additional keyword arguments\nare passed to matplotlib.pyplot.figure().

    \n", "signature": "(figscale=None, **kwargs):", "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),\nsuch as detailed test progress, use the flag pytest -v.\nThe custom optional flag --outdir=\"OUT\" is recommended\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.

    \n\n

    In total, the following custom pytest command line flags are defined by PyDRex:

    \n\n
      \n
    • --outdir (described above)
    • \n
    • --runbig (enable tests which require a large amount of RAM)
    • \n
    • --runslow (enable slow tests which require HPC resources, implies --runbig)
    • \n
    • --ncpus (number of CPU cores to use for shared memory multiprocessing, set to one less than the available maximum by default)
    • \n
    • --fontsize (Matplotlib rcParams[\"font.size\"])
    • \n
    • --markersize (Matplotlib rcParams[\"lines.markersize\"])
    • \n
    • --linewidth (Matplotlib rcParams[\"lines.linewidth\"])
    • \n
    \n\n

    Tests which require a \u201csignificant\u201d amount of memory (> ~16GB RAM) are disabled by default.\nTo fully check the functionality of the code, it is recommended to run these locally\nby using the --runbig flag before moving to larger simulations.

    \n\n

    Long tests/examples are also disabled by default and can be enabled with --runslow.\nIt is recommended to run these on a HPC cluster infrastructure (>100GB RAM, >32 cores).\nThe number of cores to use for shared memory multiprocessing can be specified with --ncpus.

    \n\n

    Writing tests

    \n\n

    For quick sanity checks and inline unit tests, use python doctests.\nThese will also appear as inline examples in the generated documentation.\nMore comprehensive unit tests and larger integration tests should be organised\ninto submodules of the test module.

    \n\n
      \n
    • To mark a test as \u201cbig\u201d (i.e. requiring more than ~16GB RAM), apply the\n@pytest.mark.big decorator to the corresponding method definition.

    • \n
    • To mark a test as \u201cslow\u201d (i.e. requiring more than ~32 cores), apply the\n@pytest.mark.slow decorator to the corresponding method definition.

    • \n
    \n\n

    Tests should not produce persistent output by default.\nIf a test method can produce such output for debugging or visualisation,\nit should accept the outdir positional argument,\nand 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
    • logs can be saved by using the pydrex.logger.logfile_enable context manager,\nwhich accepts a path name and an optional logging level as per Python's logging module\n(the default is logging.DEBUG which implies the most verbose output),
    • \n
    • figures can be saved by (implementing and) calling a helper from pydrex.visualisation, and
    • \n
    • data dumps can be saved to outdir, e.g. in .npz format (see the pydrex.minerals.Mineral.save method)\nIn all cases, saving to outdir should handle creation of parent directories.\nTo handle this as well as relative paths, we provide pydrex.io.resolve_path,\nwhich is a thin wrapper around some pathlib methods.
    • \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.n_grains": {"fullname": "tests.conftest.n_grains", "modulename": "tests.conftest", "qualname": "n_grains", "kind": "function", "doc": "

    \n", "signature": "(request):", "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.TestDislocationCreepOPX": {"fullname": "tests.test_core.TestDislocationCreepOPX", "modulename": "tests.test_core", "qualname": "TestDislocationCreepOPX", "kind": "class", "doc": "

    Single-grain orthopyroxene crystallographic rotation rate tests.

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

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

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

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

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

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

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

    Single grain of A-type olivine, slip 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.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"fullname": "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100", "modulename": "tests.test_core", "qualname": "TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100", "kind": "function", "doc": "

    Single grain of A-type olivine, slip 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.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"fullname": "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100", "modulename": "tests.test_core", "qualname": "TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100", "kind": "function", "doc": "

    Single grain of A-type olivine, slip 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.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"fullname": "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001", "modulename": "tests.test_core", "qualname": "TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001", "kind": "function", "doc": "

    Single grain of A-type olivine, slip 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_core.TestRecrystallisation2D": {"fullname": "tests.test_core.TestRecrystallisation2D", "modulename": "tests.test_core", "qualname": "TestRecrystallisation2D", "kind": "class", "doc": "

    Basic recrystallisation tests for 2D simple shear.

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

    \n", "default_value": "'recrystallisation_2D'"}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"fullname": "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane", "modulename": "tests.test_core", "qualname": "TestRecrystallisation2D.test_shear_dvdx_circle_inplane", "kind": "function", "doc": "

    360000 grains of A-type olivine with uniform spread of a-axes on a circle.

    \n\n

    Grain growth rates are compared to analytical calculations.\nThe a-axes are distributed in the YX plane (i.e.\\ rotated around Z).

    \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.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"fullname": "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane", "modulename": "tests.test_core", "qualname": "TestRecrystallisation2D.test_shear_dvdx_circle_shearplane", "kind": "function", "doc": "

    360000 grains of A-type olivine with uniform spread of a-axes on a circle.

    \n\n

    Unlike test_shear_dvdx_circle_inplane, two slip systems are active here,\nwith cyclical variety in which one is dominant depending on grain orientation.\nThe a-axes are distributed in the YZ plane\n(i.e.\\ extrinsic rotation around Z by 90\u00b0 and then around X).

    \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_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"}, "tests.test_corner_flow_2d.SUBDIR": {"fullname": "tests.test_corner_flow_2d.SUBDIR", "modulename": "tests.test_corner_flow_2d", "qualname": "SUBDIR", "kind": "variable", "doc": "

    \n", "default_value": "'2d_cornerflow'"}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"fullname": "tests.test_corner_flow_2d.TestCornerOlivineA", "modulename": "tests.test_corner_flow_2d", "qualname": "TestCornerOlivineA", "kind": "class", "doc": "

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

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

    \n", "default_value": "'corner_olivineA'"}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"fullname": "tests.test_corner_flow_2d.TestCornerOlivineA.run", "modulename": "tests.test_corner_flow_2d", "qualname": "TestCornerOlivineA.run", "kind": "function", "doc": "

    Run 2D corner flow A-type olivine simulation.

    \n", "signature": "(\tcls,\tparams,\tseed,\tget_velocity,\tget_velocity_gradient,\tmin_coords,\tmax_coords,\tmax_strain,\tn_timesteps,\tfinal_location):", "funcdef": "def"}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"fullname": "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed", "modulename": "tests.test_corner_flow_2d", "qualname": "TestCornerOlivineA.test_prescribed", "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\n
    \n\n

    This example takes about 11 CPU hours to run and uses around 60GB of RAM.\nIt is recommended to only use ncpus=4 which matches the number of\npathlines, because higher numbers can lead to redundant cross-core\ncommunication.

    \n\n
    \n", "signature": "(self, outdir, seed, ncpus):", "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.TestElasticityComponents": {"fullname": "tests.test_diagnostics.TestElasticityComponents", "modulename": "tests.test_diagnostics", "qualname": "TestElasticityComponents", "kind": "class", "doc": "

    Test symmetry decomposition of elastic tensors.

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

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

    \n", "signature": "(self):", "funcdef": "def"}, "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_output_shape": {"fullname": "tests.test_diagnostics.TestVolumeWeighting.test_output_shape", "modulename": "tests.test_diagnostics", "qualname": "TestVolumeWeighting.test_output_shape", "kind": "function", "doc": "

    Test that we get the correct output shape.

    \n", "signature": "(self):", "funcdef": "def"}, "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.TestVolumeWeighting.test_common_input_errors": {"fullname": "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors", "modulename": "tests.test_diagnostics", "qualname": "TestVolumeWeighting.test_common_input_errors", "kind": "function", "doc": "

    Test that exceptions are raised for bad input 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_ortho": {"fullname": "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho", "modulename": "tests.test_diagnostics", "qualname": "TestMIndex.test_texture_uniform_ortho", "kind": "function", "doc": "

    Test with random (uniform distribution) orthorhombic grain orientations.

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

    Test for orthorhombic grains spread within 10\u00b0 of the \u00b1X axis.

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

    Test for orthorhombic grains spread within 45\u00b0 of the \u00b1X axis.

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

    Test M-index for textures of increasing strength.

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

    Test M-index for girdled texture.

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

    PyDRex: Run doctests for all submodules.

    \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 for all submodules.

    \n", "signature": "(module):", "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_save_scsv_errors": {"fullname": "tests.test_scsv.test_save_scsv_errors", "modulename": "tests.test_scsv", "qualname": "test_save_scsv_errors", "kind": "function", "doc": "

    Check that we raise errors when attempting to write bad SCSV data.

    \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.TestPreliminaries": {"fullname": "tests.test_simple_shear_2d.TestPreliminaries", "modulename": "tests.test_simple_shear_2d", "qualname": "TestPreliminaries", "kind": "class", "doc": "

    Preliminary tests to check that various auxiliary routines are working.

    \n"}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"fullname": "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment", "modulename": "tests.test_simple_shear_2d", "qualname": "TestPreliminaries.test_strain_increment", "kind": "function", "doc": "

    Test for accumulating strain via strain increment calculations.

    \n", "signature": "(self):", "funcdef": "def"}, "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 stationary 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.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 (A-type) simple shear tests.

    \n\n

    Returns a tuple with the mineral and the FSE angle (or None if return_fse is\nNone).

    \n", "signature": "(\tcls,\tparams,\ttimestamps,\tstrain_rate,\tget_velocity_gradient,\tshear_direction,\tseed=None,\treturn_fse=None,\tget_position=<function TestOlivineA.<lambda>>):", "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_GBM_FortranDRex": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.interp_GBM_FortranDRex", "kind": "function", "doc": "

    Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.

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

    Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.

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

    Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.

    \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_zero_recrystallisation": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_zero_recrystallisation", "kind": "function", "doc": "

    Check that M*=0 is a reliable switch to turn off recrystallisation.

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

    Check that M={50,100,150}, \u03bb=5 causes decreasing grain size median.

    \n", "signature": "(self, seed, gbm_mobility):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_dvdx_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", "signature": "(\tself,\toutdir,\tseeds_nearX45,\tncpus,\tgbs_threshold,\tnucleation_efficiency):", "funcdef": "def"}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"fullname": "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM", "modulename": "tests.test_simple_shear_2d", "qualname": "TestOlivineA.test_dvdx_GBM", "kind": "function", "doc": "

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

    \n\n

    Velocity gradient:\n$$\n\\bm{L} = 10^{-4} \u00d7\n \\begin{bmatrix} 0 & 0 & 0 \\cr 2 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}\n$$

    \n\n

    Results are compared to the Fortran 90 output.

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

    Compare results for various values of $$M^\u2217$$ to A-type olivine data.

    \n\n

    Velocity gradient:\n$$\n\\bm{L} = 10^{-4} \u00d7\n \\begin{bmatrix} 0 & 0 & 0 \\cr 2 & 0 & 0 \\cr 0 & 0 & 0 \\end{bmatrix}\n$$

    \n\n

    Unlike test_dvdx_GBM,\ngrain boudary sliding is enabled here (see _io.DEFAULT_PARAMS).\nData are provided by Skemer & Hansen, 2016.

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

    Test alignment of olivine a-axis for a polycrystal advected on a pathline.

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

    PyDRex: Simple shear 3D tests.

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

    \n", "default_value": "'3d_simple_shear'"}, "tests.test_simple_shear_3d.TestFraters2021": {"fullname": "tests.test_simple_shear_3d.TestFraters2021", "modulename": "tests.test_simple_shear_3d", "qualname": "TestFraters2021", "kind": "class", "doc": "

    Tests inspired by the benchmarks presented in [Fraters & Billen, 2021].

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

    \n", "default_value": "'Fraters2021'"}, "tests.test_simple_shear_3d.TestFraters2021.run": {"fullname": "tests.test_simple_shear_3d.TestFraters2021.run", "modulename": "tests.test_simple_shear_3d", "qualname": "TestFraters2021.run", "kind": "function", "doc": "

    Run simulation with stationary particles in the given velocity gradient.

    \n\n

    The optional RNG seed is used for the initial pseudorandom orientations.\nA prefix msg will be printed before each timestep log message if given.\nOther keyword args are passed to pydrex.Mineral.update_orientations.

    \n\n

    Returns a tuple containing one olivine (A-type) and one enstatite mineral.\nIf params[\"enstatite_fraction\"] is zero, then the second tuple element will be\nNone instead.

    \n", "signature": "(\tcls,\tparams,\ttimestamps,\tget_velocity_gradient_initial,\tget_velocity_gradient_final,\tswitch_time,\tmsg,\tseed=None):", "funcdef": "def"}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"fullname": "tests.test_simple_shear_3d.TestFraters2021.test_direction_change", "modulename": "tests.test_simple_shear_3d", "qualname": "TestFraters2021.test_direction_change", "kind": "function", "doc": "

    Test a-axis alignment in simple shear with instantaneous geometry change.

    \n\n

    The simulation runs for 5 Ma with a strain rate of 1.58e-14/s, resulting in an\naccumulated strain invariant of 2.5.

    \n\n

    The initial shear has nonzero du/dz and the final shear has nonzero dv/dx where\nu is the velocity along X and v the velocity along Y.

    \n", "signature": "(self, outdir, seeds, params_Fraters2021, switch_time_Ma, ncpus):", "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_vortex_2d": {"fullname": "tests.test_vortex_2d", "modulename": "tests.test_vortex_2d", "kind": "module", "doc": "
    \n

    PyDRex: tests for CPO stability in 2D vortex and Stokes cell flows.

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

    \n", "default_value": "'2d_vortex'"}, "tests.test_vortex_2d.TestCellOlivineA": {"fullname": "tests.test_vortex_2d.TestCellOlivineA", "modulename": "tests.test_vortex_2d", "qualname": "TestCellOlivineA", "kind": "class", "doc": "

    Tests for A-type olivine polycrystals in a 2D Stokes cell.

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

    \n", "default_value": "'cell_olivineA'"}, "tests.test_vortex_2d.TestCellOlivineA.run": {"fullname": "tests.test_vortex_2d.TestCellOlivineA.run", "modulename": "tests.test_vortex_2d", "qualname": "TestCellOlivineA.run", "kind": "function", "doc": "

    Run 2D Stokes cell A-type olivine simulation.

    \n", "signature": "(\tcls,\tparams,\tfinal_location,\tget_velocity,\tget_velocity_gradient,\tmin_coords,\tmax_coords,\tmax_strain,\tseed=None):", "funcdef": "def"}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"fullname": "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k", "modulename": "tests.test_vortex_2d", "qualname": "TestCellOlivineA.test_xz_10k", "kind": "function", "doc": "

    Run 2D cell test with 10000 grains (~14GiB RAM requirement).

    \n", "signature": "(self, outdir, seed):", "funcdef": "def"}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"fullname": "tests.test_vortex_2d.TestCellOlivineA.test_xz", "modulename": "tests.test_vortex_2d", "qualname": "TestCellOlivineA.test_xz", "kind": "function", "doc": "

    Test to check that 5000 grains is \"enough\" to resolve transient features.

    \n", "signature": "(self, outdir, seed, n_grains):", "funcdef": "def"}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"fullname": "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble", "modulename": "tests.test_vortex_2d", "qualname": "TestCellOlivineA.test_xz_ensemble", "kind": "function", "doc": "

    Test to demonstrate stability of the dip at \u03b5 \u2248 3.75 for 5000+ grains.

    \n", "signature": "(self, outdir, seeds_nearX45, ncpus, n_grains):", "funcdef": "def"}}, "docInfo": {"pydrex": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 2230}, "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": 267}, "pydrex.cli": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 46}, "pydrex.cli.NPZFileInspector": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 40}, "pydrex.cli.PoleFigureVisualiser": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 50}, "pydrex.cli.CLI_HANDLERS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 11, "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": 47, "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": 51}, "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.elasticity_components": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 335}, "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": 26, "bases": 0, "doc": 43}, "pydrex.diagnostics.symmetry_pgr": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 25, "bases": 0, "doc": 94}, "pydrex.diagnostics.misorientation_indices": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 67, "bases": 0, "doc": 132}, "pydrex.diagnostics.misorientation_index": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 127}, "pydrex.diagnostics.coaxial_index": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 89}, "pydrex.diagnostics.smallest_angle": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 51}, "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.LatticeSystem": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 102}, "pydrex.geometry.LatticeSystem.triclinic": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry.LatticeSystem.monoclinic": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry.LatticeSystem.orthorhombic": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry.LatticeSystem.rhombohedral": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry.LatticeSystem.tetragonal": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "pydrex.geometry.LatticeSystem.hexagonal": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 8, "signature": 0, "bases": 0, "doc": 3}, "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.misorientation_angles": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 18, "bases": 0, "doc": 137}, "pydrex.geometry.symmetry_operations": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 26, "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": 793}, "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": 35}, "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.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.CONSOLE_LOGGER": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "pydrex.logger.handle_exception": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 24, "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": 47}, "pydrex.minerals.OLIVINE_STIFFNESS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 60, "signature": 0, "bases": 0, "doc": 43}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 60, "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": 1157}, "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": 189}, "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": 69, "bases": 0, "doc": 371}, "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": 106}, "pydrex.stats.misorientation_hist": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 127}, "pydrex.stats.misorientations_random": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 36, "bases": 0, "doc": 83}, "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": 47, "signature": 0, "bases": 0, "doc": 3}, "pydrex.tensors.voigt_decompose": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 117}, "pydrex.tensors.mono_project": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 37}, "pydrex.tensors.ortho_project": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 37}, "pydrex.tensors.tetr_project": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 37}, "pydrex.tensors.hex_project": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 12, "bases": 0, "doc": 42}, "pydrex.tensors.upper_tri_to_symmetric": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 252}, "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.strain_increment": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 36}, "pydrex.utils.apply_gbs": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 34, "bases": 0, "doc": 10}, "pydrex.utils.extract_vars": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 13}, "pydrex.utils.remove_nans": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 8}, "pydrex.utils.default_ncpus": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 73}, "pydrex.utils.diff_like": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 384}, "pydrex.utils.angle_fse_simpleshear": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 17}, "pydrex.utils.lag_2d_corner_flow": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 26}, "pydrex.utils.quat_product": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 18}, "pydrex.utils.redraw_legend": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 49, "bases": 0, "doc": 229}, "pydrex.utils.add_subplot_labels": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 72, "bases": 0, "doc": 110}, "pydrex.velocity": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 67}, "pydrex.velocity.simple_shear_2d": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 23, "bases": 0, "doc": 479}, "pydrex.velocity.cell_2d": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 1409}, "pydrex.velocity.corner_2d": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 250}, "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.pathline_box2d": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 165, "bases": 0, "doc": 325}, "pydrex.visualisation.alignment": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 93, "bases": 0, "doc": 320}, "pydrex.visualisation.strengths": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 87, "bases": 0, "doc": 230}, "pydrex.visualisation.grainsizes": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 38}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 149}, "pydrex.visualisation.spin": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 95, "bases": 0, "doc": 94}, "pydrex.visualisation.growth": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 95, "bases": 0, "doc": 94}, "pydrex.visualisation.figure_unless": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 63}, "pydrex.visualisation.figure": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 23, "bases": 0, "doc": 64}, "tests": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 646}, "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.n_grains": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "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.TestDislocationCreepOPX": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "tests.test_core.TestDislocationCreepOPX.class_id": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "tests.test_core.TestDislocationCreepOlivineA": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 37}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 37}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 37}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"qualname": 7, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 37}, "tests.test_core.TestRecrystallisation2D": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 10}, "tests.test_core.TestRecrystallisation2D.class_id": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"qualname": 6, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 68}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"qualname": 6, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 93}, "tests.test_corner_flow_2d": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_corner_flow_2d.SUBDIR": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 74, "bases": 0, "doc": 11}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 80}, "tests.test_diagnostics": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_diagnostics.TestElasticityComponents": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 9}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "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_output_shape": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 11}, "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.TestVolumeWeighting.test_common_input_errors": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 12}, "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_ortho": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 14}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 14}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "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": 11, "bases": 0, "doc": 8}, "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_save_scsv_errors": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 15}, "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.TestPreliminaries": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 13}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 11}, "tests.test_simple_shear_2d.TestOlivineA": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "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.run": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 96, "bases": 0, "doc": 39}, "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_GBM_FortranDRex": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"qualname": 5, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 11}, "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_zero_recrystallisation": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 15}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 18}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 45, "bases": 0, "doc": 42}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 27, "bases": 0, "doc": 58}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 76}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 16}, "tests.test_simple_shear_3d": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 12}, "tests.test_simple_shear_3d.SUBDIR": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 7, "signature": 0, "bases": 0, "doc": 3}, "tests.test_simple_shear_3d.TestFraters2021": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "tests.test_simple_shear_3d.TestFraters2021.run": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 66, "bases": 0, "doc": 91}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 39, "bases": 0, "doc": 69}, "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_vortex_2d": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 19}, "tests.test_vortex_2d.SUBDIR": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "tests.test_vortex_2d.TestCellOlivineA": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 14}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "tests.test_vortex_2d.TestCellOlivineA.run": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 72, "bases": 0, "doc": 11}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 13}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 27, "bases": 0, "doc": 15}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 33, "bases": 0, "doc": 18}}, "length": 301, "save": true}, "index": {"qualname": {"root": {"0": {"0": {"1": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "1": {"0": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.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.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0, "k": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"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}}}}}, "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}}}}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"tf": 1}}, "df": 1}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}}, "df": 3}}}}}}}, "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": {"pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 4}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.quat_product": {"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.TestCornerOlivineA.test_prescribed": {"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}, "tests.conftest.n_grains": {"tf": 1}}, "df": 2, "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}}}, "p": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}, "tests.conftest.ncpus": {"tf": 1}}, "df": 2}}}}, "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_pgr": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 2}, "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}, "pydrex.utils.strain_increment": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}}, "df": 3}}}, "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}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.strengths": {"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}}}}}}}}, "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.test_save_scsv_errors": {"tf": 1}}, "df": 5, "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}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.spin": {"tf": 1}}, "df": 1}}, "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_ortho": {"tf": 1}}, "df": 2}}, "docs": {}, "df": 0}, "4": {"5": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"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}}}}}}, "w": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 9, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"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.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 4}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 5}}}, "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.simple_shear_2d": {"tf": 1}}, "df": 1, "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}}}}}}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}}, "df": 5}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"2": {"0": {"1": {"6": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 2}, "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.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}}, "df": 7}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.get_crss": {"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, "m": {"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": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 1}}}}, "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.CONSOLE_LOGGER": {"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.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2}}}}}, "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}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"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": {"tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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": {"pydrex.logger.handle_exception": {"tf": 1}}, "df": 1, "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, "x": {"docs": {"pydrex.tensors.hex_project": {"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.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 1}}}}}}}, "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}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.misorientation_hist": {"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_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 4, "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": {}, "df": 0, "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}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.tensors.mono_project": {"tf": 1}}, "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.geometry.LatticeSystem.monoclinic": {"tf": 1}}, "df": 1}}}}}}}}, "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}}}}}}}}}}}, "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}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}}, "df": 10}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.tensors.ortho_project": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 6, "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.geometry.LatticeSystem.orthorhombic": {"tf": 1}}, "df": 1}}}}}}}}}}, "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}}}}}}}}}}}, "p": {"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, "s": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.outdir": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 4}}}}}}, "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_ensemble": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_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}}}}}, "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, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"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, "s": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"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.handle_exception": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 2}}}}}}}, "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}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.extract_vars": {"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}}}}}}}, "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": {}, "df": 0, "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.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.utils.default_ncpus": {"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": {"pydrex.utils.diff_like": {"tf": 1}}, "df": 1, "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}}}}}}}}}, "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": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}}, "df": 3}}}, "v": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 6}, "z": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.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, "x": {"2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"2": {"0": {"0": {"4": {"docs": {"tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "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}}}}}}}}, "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}}}}, "e": {"docs": {}, "df": 0, "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}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.extract_vars": {"tf": 1}}, "df": 1}}, "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}}}}}}}}, "a": {"docs": {"pydrex.core.MineralFabric.olivine_A": {"tf": 1}}, "df": 1, "b": {"docs": {"pydrex.core.MineralFabric.enstatite_AB": {"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}}}}}}}, "n": {"docs": {}, "df": 0, "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.geometry.misorientation_angles": {"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}}}, "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}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.alignment": {"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}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1, "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.pathlines.get_pathline": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}, "tests.conftest.n_grains": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.grainsizes": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.visualisation.growth": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 4}, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 4}}, "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_ortho": {"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, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}}}}, "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}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 3}}}}}}}}}}, "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.utils.lag_2d_corner_flow": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}, "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}}, "df": 8}}, "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, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.strain_increment": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}}, "df": 2}}}}, "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_ortho": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 1}}}, "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_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 5}}}}}, "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.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}}, "df": 7}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 7}}}}}}}}}}}, "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}}}}}, "g": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}}, "df": 1}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}}, "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.CONSOLE_LOGGER": {"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": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 1, "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}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.redraw_legend": {"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}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.diff_like": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "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.geometry.LatticeSystem.triclinic": {"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, "t": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.tetr_project": {"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.geometry.LatticeSystem.tetragonal": {"tf": 1}}, "df": 1}}}}}}}}, "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.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_save_scsv_errors": {"tf": 1}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 51, "d": {"docs": {}, "df": 0, "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": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.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.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"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": {}, "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": {"2": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 4}}, "docs": {}, "df": 0}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "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.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 4}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "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_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 6}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"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": {}, "df": 0, "s": {"docs": {"tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "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}}}}}}}}}}}, "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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}, "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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 6}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}}, "df": 2}}}}}}}}}}}}}, "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_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "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_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}}, "df": 14}}}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 4}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}, "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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 4, "s": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}}, "df": 1}}}}}}}, "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}}}}}}, "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}}}}}}}}, "r": {"docs": {}, "df": 0, "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.geometry.LatticeSystem.rhombohedral": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.read_scsv": {"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": 5}}, "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}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"tests.conftest.ref_axes": {"tf": 1}}, "df": 1}, "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, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"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_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 4, "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}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.quat_product": {"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, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 1}}}}, "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_ortho": {"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}}}}}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 1}}}}, "x": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 3}}}}, "fullname": {"root": {"0": {"0": {"1": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "1": {"0": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.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.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0, "k": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"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.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 36}}, "3": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 6}}, "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.NPZFileInspector": {"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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"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.LatticeSystem": {"tf": 1}, "pydrex.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"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.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.CONSOLE_LOGGER": {"tf": 1}, "pydrex.logger.handle_exception": {"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.misorientation_hist": {"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.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"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.strain_increment": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 178}}}}, "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}}}}}, "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}}}}}}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"tf": 1}}, "df": 1}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}}, "df": 3, "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": {"pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 4}}}}, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.quat_product": {"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.TestCornerOlivineA.test_prescribed": {"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}, "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}}}}}}}, "n": {"docs": {}, "df": 0, "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.geometry.misorientation_angles": {"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}}}, "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}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1, "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}, "tests.conftest.n_grains": {"tf": 1}}, "df": 2, "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}}}, "p": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}, "tests.conftest.ncpus": {"tf": 1}}, "df": 2}}}}, "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_pgr": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 2}, "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}, "pydrex.utils.strain_increment": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}}, "df": 3}}}, "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}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.strengths": {"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.misorientation_hist": {"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": 11}}}}, "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_save_scsv_errors": {"tf": 1.4142135623730951}, "tests.test_scsv.test_read_Kaminski2004": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 12, "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}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.spin": {"tf": 1}}, "df": 1}}, "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_ortho": {"tf": 1}}, "df": 2}}, "docs": {}, "df": 0}, "4": {"5": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"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}}}}}}, "w": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"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.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 33, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"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.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 4}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 5}}}, "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.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"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.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 25, "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}}}}}}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}}, "df": 5}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"2": {"0": {"1": {"6": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests.test_scsv.test_read_Skemer2016": {"tf": 1}}, "df": 2}, "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.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.cli.CLI_HANDLERS": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.log_cli_handler": {"tf": 1}}, "df": 5}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}}, "df": 7}}}}, "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.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 35}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 8}}}}, "m": {"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": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 1}}}}, "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.n_grains": {"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": 26}}}}}, "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.CONSOLE_LOGGER": {"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, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.get_crss": {"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}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"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": {"tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.mock.PARAMS_KAMINSKI2004_FIG4_CIRCLES": {"tf": 1}, "tests.conftest.params_Kaminski2004_fig4_circles": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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": {"pydrex.logger.handle_exception": {"tf": 1}}, "df": 1, "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, "x": {"docs": {"pydrex.tensors.hex_project": {"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.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 1}}}}}}}, "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}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.misorientation_hist": {"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": {"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_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 4, "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": {}, "df": 0, "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}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.tensors.mono_project": {"tf": 1}}, "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.geometry.LatticeSystem.monoclinic": {"tf": 1}}, "df": 1}}}}}}}}, "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}}}}}}}}}}}, "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}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}}, "df": 10}}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.tensors.ortho_project": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 6, "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.geometry.LatticeSystem.orthorhombic": {"tf": 1}}, "df": 1}}}}}}}}}}, "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}}}}}}}}}}}, "p": {"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, "s": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.conftest.outdir": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 4}}}}}}, "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_ensemble": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_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}}}}}, "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, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"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.handle_exception": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 2, "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}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.extract_vars": {"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, "s": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"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}}}}}, "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": {}, "df": 0, "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.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.utils.default_ncpus": {"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": {"pydrex.utils.diff_like": {"tf": 1}}, "df": 1, "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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 32}}}}}}}}}, "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": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}}, "df": 3}}}, "v": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 6}, "z": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.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, "x": {"2": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"2": {"0": {"0": {"4": {"docs": {"tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}, "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.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 11}}}}}}}}}}}}, "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}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 8}}}}}, "e": {"docs": {}, "df": 0, "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}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 4}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.extract_vars": {"tf": 1}}, "df": 1}}, "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.pathlines.get_pathline": {"tf": 1}}, "df": 2}, "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.LatticeSystem": {"tf": 1}, "pydrex.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"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": 18}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.Mineral.n_grains": {"tf": 1}, "tests.conftest.n_grains": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.grainsizes": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.visualisation.growth": {"tf": 1}}, "df": 1}}}}}, "b": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 4}, "m": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 4}}, "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_ortho": {"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, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}}}}, "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}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 3}}}}}}}}}}, "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.utils.lag_2d_corner_flow": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 7}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}, "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}}, "df": 8}}, "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, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.strain_increment": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}}, "df": 2}}}}, "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_ortho": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 1}}}, "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_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 5}}}}}, "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.resolve_path": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.io.data": {"tf": 1}}, "df": 10}, "d": {"docs": {"tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}}, "df": 7}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 7}}}}}}}}}}}, "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}}}}}, "g": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}}, "df": 1}, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}}, "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.CONSOLE_LOGGER": {"tf": 1.4142135623730951}, "pydrex.logger.handle_exception": {"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}}, "df": 16}}}, "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": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 1, "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}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.redraw_legend": {"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}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.diff_like": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "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.geometry.LatticeSystem.triclinic": {"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, "t": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.tetr_project": {"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.geometry.LatticeSystem.tetragonal": {"tf": 1}}, "df": 1}}}}}}}}, "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.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"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": 17}}}}}, "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.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1.4142135623730951}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1.4142135623730951}, "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_output_shape": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_save_scsv_errors": {"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.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "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_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1.4142135623730951}}, "df": 96, "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.n_grains": {"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.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_save_scsv_errors": {"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.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"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.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 123, "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}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "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": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.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.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 6}}}}}}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"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": {}, "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": {"2": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 4}}, "docs": {}, "df": 0}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "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.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 4}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "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_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 6}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"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": {}, "df": 0, "s": {"docs": {"tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}}}}}, "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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 5}}}}}}}}}}}}}}}, "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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 6}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}}, "df": 2}}}}}}}}}}}}}, "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_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "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_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}}, "df": 14}}}}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 4}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}, "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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 4, "s": {"docs": {"tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}}, "df": 1}}}}}}}, "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}}}}}}, "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}}}}}}}}, "r": {"docs": {}, "df": 0, "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.geometry.LatticeSystem.rhombohedral": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.read_scsv": {"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": 5}}, "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}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"tests.conftest.ref_axes": {"tf": 1}}, "df": 1}, "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, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"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_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 4, "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}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.quat_product": {"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.strain_increment": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 12}}}}, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 1}}}}, "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_ortho": {"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}}}}}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 1}}}}, "x": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 3}}}}, "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": {"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": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "2": {"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": {"pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 1}, "8": {"0": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"7": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "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.geometry.LatticeSystem.triclinic": {"tf": 1.4142135623730951}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "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}, "docs": {}, "df": 0}, "1": {"9": {"7": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "2": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "3": {"0": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "6": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "5": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {"pydrex.core.DeformationRegime.byerlee": {"tf": 1}, "pydrex.core.MineralFabric.olivine_C": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.orthorhombic": {"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": 8, "d": {"docs": {"tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_vortex_2d.SUBDIR": {"tf": 1}}, "df": 4}}, "3": {"2": {"0": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "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}, "5": {"0": {"0": {"docs": {"pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.minerals.Mineral.n_grains": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "6": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {"pydrex.core.DeformationRegime.max_viscosity": {"tf": 1}, "pydrex.core.MineralFabric.olivine_D": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.4142135623730951}, "pydrex.minerals.ENSTATITE_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": 14, "d": {"docs": {"tests.test_simple_shear_3d.SUBDIR": {"tf": 1}}, "df": 1}}, "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}, "docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}}, "df": 6}, "5": {"0": {"0": {"0": {"docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}}, "df": 1}, "6": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"pydrex.core.MineralFabric.enstatite_AB": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.7320508075688772}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"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": 11}, "6": {"3": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 2}, "7": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 3}, "7": {"1": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.7320508075688772}}, "df": 1}, "4": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "7": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 1}, "8": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {"pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 2}, "8": {"0": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "4": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}, "docs": {"pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1.4142135623730951}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1.4142135623730951}}, "df": 3}, "9": {"docs": {"pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 1}, "docs": {"pydrex.axes.PoleFigureAxes.name": {"tf": 1.4142135623730951}, "pydrex.cli.CLI_HANDLERS": {"tf": 1}, "pydrex.core.PERMUTATION_SYMBOL": {"tf": 4.358898943540674}, "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.geometry.LatticeSystem.triclinic": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem.hexagonal": {"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.CONSOLE_LOGGER": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 3.3166247903554}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 3.3166247903554}, "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": 4.358898943540674}, "tests.conftest.PytestConsoleLogger.name": {"tf": 1.4142135623730951}, "tests.test_core.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.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}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1.4142135623730951}}, "df": 55, "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.TestDislocationCreepOPX.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.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}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.SUBDIR": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1.4142135623730951}}, "df": 26}, "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}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"tests.test_corner_flow_2d.SUBDIR": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.class_id": {"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}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"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.geometry.LatticeSystem.hexagonal": {"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}}}}, "l": {"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}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}, "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}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_vortex_2d.SUBDIR": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "z": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.CLI_HANDLERS": {"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.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, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.cli.CLI_HANDLERS": {"tf": 1}}, "df": 1}}}}}}}, "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.CONSOLE_LOGGER": {"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}}}}}}}, "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}}, "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.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 2.23606797749979}, "pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.CONSOLE_LOGGER": {"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": 34}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}}, "df": 6}}}}}}}}}}}}, "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, "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.geometry.LatticeSystem.monoclinic": {"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.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": {}, "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.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_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.class_id": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1}}, "df": 3}}}}}}, "a": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "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.geometry.LatticeSystem.orthorhombic": {"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.TestDislocationCreepOPX.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.geometry.LatticeSystem.triclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 2.23606797749979}, "pydrex.logger.LOGGER": {"tf": 1}, "pydrex.logger.CONSOLE_LOGGER": {"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": 34}, "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}}}}}}, "e": {"docs": {"pydrex.core.MineralFabric.olivine_E": {"tf": 1}, "pydrex.minerals.OLIVINE_PRIMARY_AXIS": {"tf": 1}}, "df": 2, "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}}}}}}}}}}, "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}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1}}, "df": 4}}}}}}}}}}}, "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}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"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.geometry.LatticeSystem.triclinic": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "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.geometry.LatticeSystem.tetragonal": {"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.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, "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.geometry.LatticeSystem.rhombohedral": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"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": {}, "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": {"tests.test_core.TestRecrystallisation2D.class_id": {"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.CONSOLE_LOGGER": {"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_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_simple_shear_2d.SUBDIR": {"tf": 1}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1}}, "df": 2}}}}}, "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}}, "df": 3}, "1": {"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}}, "df": 5}, "2": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}, "3": {"5": {"0": {"0": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "9": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry_pgr": {"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.add_subplot_labels": {"tf": 2}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 2}, "pydrex.visualisation.growth": {"tf": 2}}, "df": 13}, "docs": {}, "df": 0}, "9": {"0": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "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.elasticity_components": {"tf": 3.1622776601683795}, "pydrex.diagnostics.bingham_average": {"tf": 4.47213595499958}, "pydrex.diagnostics.finite_strain": {"tf": 4.47213595499958}, "pydrex.diagnostics.symmetry_pgr": {"tf": 4.47213595499958}, "pydrex.diagnostics.misorientation_indices": {"tf": 7.416198487095663}, "pydrex.diagnostics.misorientation_index": {"tf": 5.830951894845301}, "pydrex.diagnostics.coaxial_index": {"tf": 5.477225575051661}, "pydrex.diagnostics.smallest_angle": {"tf": 4.69041575982343}, "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.misorientation_angles": {"tf": 3.7416573867739413}, "pydrex.geometry.symmetry_operations": {"tf": 4.69041575982343}, "pydrex.geometry.poles": {"tf": 6.48074069840786}, "pydrex.geometry.lambert_equal_area": {"tf": 4.242640687119285}, "pydrex.geometry.shirley_concentric_squaredisk": {"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.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.handle_exception": {"tf": 4.242640687119285}, "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": 7.211102550927978}, "pydrex.stats.resample_orientations": {"tf": 5.477225575051661}, "pydrex.stats.misorientation_hist": {"tf": 5.830951894845301}, "pydrex.stats.misorientations_random": {"tf": 5.477225575051661}, "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.mono_project": {"tf": 3.1622776601683795}, "pydrex.tensors.ortho_project": {"tf": 3.1622776601683795}, "pydrex.tensors.tetr_project": {"tf": 3.1622776601683795}, "pydrex.tensors.hex_project": {"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.strain_increment": {"tf": 3.7416573867739413}, "pydrex.utils.apply_gbs": {"tf": 5.0990195135927845}, "pydrex.utils.extract_vars": {"tf": 3.7416573867739413}, "pydrex.utils.remove_nans": {"tf": 3.1622776601683795}, "pydrex.utils.default_ncpus": {"tf": 2.6457513110645907}, "pydrex.utils.diff_like": {"tf": 3.1622776601683795}, "pydrex.utils.angle_fse_simpleshear": {"tf": 3.1622776601683795}, "pydrex.utils.lag_2d_corner_flow": {"tf": 3.3166247903554}, "pydrex.utils.quat_product": {"tf": 3.7416573867739413}, "pydrex.utils.redraw_legend": {"tf": 6.324555320336759}, "pydrex.utils.add_subplot_labels": {"tf": 7.615773105863909}, "pydrex.velocity.simple_shear_2d": {"tf": 4.242640687119285}, "pydrex.velocity.cell_2d": {"tf": 5.0990195135927845}, "pydrex.velocity.corner_2d": {"tf": 4.242640687119285}, "pydrex.visualisation.polefigures": {"tf": 7.54983443527075}, "pydrex.visualisation.pathline_box2d": {"tf": 11.224972160321824}, "pydrex.visualisation.alignment": {"tf": 8.831760866327848}, "pydrex.visualisation.strengths": {"tf": 8.48528137423857}, "pydrex.visualisation.grainsizes": {"tf": 4.242640687119285}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 5.830951894845301}, "pydrex.visualisation.spin": {"tf": 8.48528137423857}, "pydrex.visualisation.growth": {"tf": 8.48528137423857}, "pydrex.visualisation.figure_unless": {"tf": 3.1622776601683795}, "pydrex.visualisation.figure": {"tf": 4.47213595499958}, "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.n_grains": {"tf": 3.1622776601683795}, "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.TestDislocationCreepOPX.test_shear_dudz": {"tf": 3.7416573867739413}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 3.7416573867739413}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 3.7416573867739413}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 3.7416573867739413}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 3.7416573867739413}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 3.7416573867739413}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 3.7416573867739413}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 3.7416573867739413}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 7.483314773547883}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 4.69041575982343}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 3.1622776601683795}, "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_output_shape": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 3.1622776601683795}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 3.7416573867739413}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 3.7416573867739413}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 3.7416573867739413}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 3.7416573867739413}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 3.7416573867739413}, "tests.test_doctests.test_doctests": {"tf": 3.1622776601683795}, "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_save_scsv_errors": {"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.TestPreliminaries.test_strain_increment": {"tf": 3.1622776601683795}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 8.48528137423857}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 3.7416573867739413}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 4.242640687119285}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 6}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 4.69041575982343}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 4.69041575982343}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 4.242640687119285}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 7.0710678118654755}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 5.477225575051661}, "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_vortex_2d.TestCellOlivineA.run": {"tf": 7.416198487095663}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 4.242640687119285}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 4.69041575982343}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 5.0990195135927845}}, "df": 175, "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.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 45}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 18, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 5}}}}, "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}}}}}, "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.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 9}}}}, "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}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"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_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}, "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}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 3}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}}, "df": 3}}}, "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.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}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.io.data": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}}}}}, "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}}, "f": {"docs": {}, "df": 0, "f": {"docs": {"pydrex.visualisation.growth": {"tf": 1.4142135623730951}}, "df": 1}}}, "t": {"docs": {"pydrex.utils.strain_increment": {"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.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 3}}}, "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}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 4}}}}}, "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}}, "df": 3}}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 4}}}, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.figure": {"tf": 1}}, "df": 1}}}}}}}, "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}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}}, "df": 6}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"2": {"0": {"2": {"1": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.add_subplot_labels": {"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.pathline_box2d": {"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.visualisation.pathline_box2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 5, "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}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "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.visualisation.pathline_box2d": {"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.n_grains": {"tf": 1}, "tests.conftest.hkl": {"tf": 1}, "tests.conftest.ref_axes": {"tf": 1}}, "df": 6}}}}}, "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.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.visualisation.spin": {"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.spin": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "a": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}}, "df": 6, "x": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 9, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 6}}, "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_pgr": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 5, "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}}}, "l": {"docs": {"pydrex.utils.redraw_legend": {"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.alignment": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}}, "df": 3}}}}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 2}}}}}, "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, "r": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "s": {"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}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 7}}}}, "x": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2, "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}}, "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}}}}}, "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}}, "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}}}, "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.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2}}}}}}}}}}, "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.io.save_scsv": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 17}}}}}, "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}}}}, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral.__init__": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 8, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 2}, "pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 26}}}, "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}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}}, "df": 2}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 7}}}}, "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_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}, "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.pathline_box2d": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 5}, "o": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1, "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": {"pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 3}}}}}}, "w": {"docs": {"pydrex.stats.misorientations_random": {"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, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 5}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2}}}}}, "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}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "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}}}}}, "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.pathline_box2d": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 5}, "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}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 6}}}, "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}, "pydrex.utils.strain_increment": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 9}}}}}}, "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}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 2}, "s": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}}, "df": 2}}, "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.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}}, "t": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1.4142135623730951}}, "df": 7}}}, "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": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"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.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 11}}}}}}}}}}}, "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}}}}}}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_scsv.test_save_specfile": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 18}}}}}}, "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_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 3}}}}, "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_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "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_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 10}}, "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, "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}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.colorfmt": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"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": 4}}}, "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.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1.4142135623730951}}, "df": 4}}}}, "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}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 4}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}, "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}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 6}}}, "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}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"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}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.misorientation_indices": {"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}}, "e": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.utils.apply_gbs": {"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}}}}, "y": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 5}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 2}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}, "i": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.logger.handler_level": {"tf": 1}}, "df": 1}}, "t": {"docs": {"pydrex.minerals.Mineral.__init__": {"tf": 2.6457513110645907}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.utils.add_subplot_labels": {"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.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 3}}}}}, "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}}}}}}, "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}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 2}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.logfile_enable": {"tf": 1}}, "df": 1}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_doctests.test_doctests": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}, "x": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}}, "df": 3}}}, "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.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}}, "x": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1.4142135623730951}}, "df": 5}, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"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}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.utils.add_subplot_labels": {"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}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 7}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 4, "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}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}}, "df": 2}}}}}}}}}, "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}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.logger.handle_exception": {"tf": 1.7320508075688772}}, "df": 1}}}, "v": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}, "z": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2, "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}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2}}}}}}}}}, "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}}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.logger.handle_exception": {"tf": 1}}, "df": 1}}}}}}}, "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.utils.redraw_legend": {"tf": 1}}, "df": 6}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.handle_exception": {"tf": 1}}, "df": 1}}}, "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}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "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_simple_shear_2d.TestOlivineA.run": {"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.utils.apply_gbs": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}}, "df": 3}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}}, "df": 2}}}}}}, "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}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1.4142135623730951}}, "df": 10}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"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.elasticity_components": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 5}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.handle_exception": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {"pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}}, "df": 3, "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.strengths": {"tf": 1}}, "df": 2}}}}, "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}}}}}, "q": {"1": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}, "2": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "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}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}}, "df": 4}}}, "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": {"0": {"0": {"0": {"0": {"0": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "+": {"0": {"0": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "1": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 1}, "2": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {}, "df": 0}, "1": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.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}, "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.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 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}, "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": 2}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2.449489742783178}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "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.pathlines.get_pathline": {"tf": 2}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2.23606797749979}, "pydrex.utils.diff_like": {"tf": 2.23606797749979}, "pydrex.velocity.simple_shear_2d": {"tf": 6.708203932499369}, "pydrex.velocity.cell_2d": {"tf": 9.9498743710662}, "pydrex.velocity.corner_2d": {"tf": 2.449489742783178}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.8284271247461903}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.8284271247461903}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.8284271247461903}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.8284271247461903}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 2.8284271247461903}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 2.8284271247461903}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 2.8284271247461903}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 2.8284271247461903}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 2.8284271247461903}}, "df": 29, "e": {"0": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0, "+": {"0": {"0": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}, "1": {"0": {"0": {"0": {"0": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 1}, "docs": {"tests.conftest.seeds": {"tf": 1}}, "df": 1}, "docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 9, "g": {"docs": {}, "df": 0, "b": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "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": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.utils.diff_like": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 9}, "1": {"0": {"7": {"2": {"0": {"7": {"3": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "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": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 2}, "2": {"0": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}}, "df": 1}, "5": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}}, "df": 3}, "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": {"pydrex.tensors.mono_project": {"tf": 1}}, "df": 1}, "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, "/": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 1}}}}, "5": {"0": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "6": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 4}}, "df": 1, "g": {"docs": {}, "df": 0, "b": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}, "8": {"0": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 3}, "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.geometry.LatticeSystem": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "9": {"0": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"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_pgr": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem": {"tf": 1.7320508075688772}, "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.misorientation_hist": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 5.0990195135927845}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 4.358898943540674}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 20, "e": {"5": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex": {"tf": 1.7320508075688772}}, "df": 1}, "docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 1}, "/": {"2": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "n": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "}": {"docs": {}, "df": 0, "\\": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}, "2": {"0": {"0": {"0": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.23606797749979}}, "df": 2}, "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}}, "df": 3}, "2": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2}, "4": {"docs": {"pydrex": {"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.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 9}, "5": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}, "8": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1}, "9": {"docs": {"pydrex.geometry.misorientation_angles": {"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}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "2": {"1": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}, "1": {"docs": {"pydrex.tensors": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 7}, "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": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 2}, "docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry_pgr": {"tf": 2}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.7320508075688772}, "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.misorientation_hist": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 2.23606797749979}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 28, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"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_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 23}, "e": {"2": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "3": {"2": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}, "6": {"0": {"0": {"0": {"0": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 4.898979485566356}}, "df": 1}, "9": {"docs": {"pydrex": {"tf": 4.795831523312719}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 2}, "docs": {"pydrex": {"tf": 2}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry_pgr": {"tf": 2}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.utils.diff_like": {"tf": 3}, "pydrex.velocity.cell_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 14, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2}, "tests.test_simple_shear_3d": {"tf": 1}}, "df": 10}, "x": {"3": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.tensors.rotate": {"tf": 1}}, "df": 4}, "docs": {}, "df": 0}, "e": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}}, "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_spread45X_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 4}, "docs": {"pydrex": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.mock.PARAMS_KAMINSKI2004_FIG4_TRIANGLES": {"tf": 1}, "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.utils.diff_like": {"tf": 1.7320508075688772}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 14, "x": {"4": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "5": {"0": {"0": {"0": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}, "docs": {"pydrex.mock.PARAMS_KAMINSKI2001_FIG5_SHORTDASH": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 2}, "7": {"0": {"7": {"9": {"6": {"3": {"3": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "8": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}, "docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.utils.diff_like": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 2}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 12, "e": {"4": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}, "docs": {"pydrex": {"tf": 1}}, "df": 1}}, "6": {"0": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "b": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}, "4": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 5.656854249492381}}, "df": 1}, "docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.7320508075688772}, "pydrex.utils.diff_like": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 8, "x": {"6": {"docs": {"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": 7}, "docs": {}, "df": 0}}, "7": {"0": {"7": {"1": {"0": {"6": {"7": {"8": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "5": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 1}, "8": {"5": {"3": {"9": {"8": {"1": {"6": {"docs": {"pydrex.velocity.cell_2d": {"tf": 2}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "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.geometry.LatticeSystem": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}}, "df": 2}, "9": {"0": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 6, "k": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "5": {"8": {"3": {"8": {"0": {"7": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "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.ortho_project": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2}, "pydrex.utils.diff_like": {"tf": 1.4142135623730951}}, "df": 6}, "docs": {"pydrex": {"tf": 25.278449319529077}, "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.0990195135927845}, "pydrex.cli": {"tf": 3.4641016151377544}, "pydrex.cli.NPZFileInspector": {"tf": 3.4641016151377544}, "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.58257569495584}, "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.elasticity_components": {"tf": 9.643650760992955}, "pydrex.diagnostics.bingham_average": {"tf": 4}, "pydrex.diagnostics.finite_strain": {"tf": 2.449489742783178}, "pydrex.diagnostics.symmetry_pgr": {"tf": 5.196152422706632}, "pydrex.diagnostics.misorientation_indices": {"tf": 4.898979485566356}, "pydrex.diagnostics.misorientation_index": {"tf": 6.082762530298219}, "pydrex.diagnostics.coaxial_index": {"tf": 3.4641016151377544}, "pydrex.diagnostics.smallest_angle": {"tf": 3.4641016151377544}, "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.LatticeSystem": {"tf": 5.0990195135927845}, "pydrex.geometry.LatticeSystem.triclinic": {"tf": 1.7320508075688772}, "pydrex.geometry.LatticeSystem.monoclinic": {"tf": 1.7320508075688772}, "pydrex.geometry.LatticeSystem.orthorhombic": {"tf": 1.7320508075688772}, "pydrex.geometry.LatticeSystem.rhombohedral": {"tf": 1.7320508075688772}, "pydrex.geometry.LatticeSystem.tetragonal": {"tf": 1.7320508075688772}, "pydrex.geometry.LatticeSystem.hexagonal": {"tf": 1.7320508075688772}, "pydrex.geometry.to_cartesian": {"tf": 5.0990195135927845}, "pydrex.geometry.to_spherical": {"tf": 5.0990195135927845}, "pydrex.geometry.misorientation_angles": {"tf": 6.6332495807108}, "pydrex.geometry.symmetry_operations": {"tf": 3.1622776601683795}, "pydrex.geometry.poles": {"tf": 3.7416573867739413}, "pydrex.geometry.lambert_equal_area": {"tf": 3}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 20.396078054371138}, "pydrex.io": {"tf": 5.477225575051661}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1.7320508075688772}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1.7320508075688772}, "pydrex.io.read_scsv": {"tf": 2.8284271247461903}, "pydrex.io.write_scsv_header": {"tf": 5.656854249492381}, "pydrex.io.save_scsv": {"tf": 5.5677643628300215}, "pydrex.io.parse_config": {"tf": 1.7320508075688772}, "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.CONSOLE_LOGGER": {"tf": 1.7320508075688772}, "pydrex.logger.handle_exception": {"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": 4.123105625617661}, "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": 25.13961017995307}, "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": 8.94427190999916}, "pydrex.stats": {"tf": 2.6457513110645907}, "pydrex.stats.resample_orientations": {"tf": 5.830951894845301}, "pydrex.stats.misorientation_hist": {"tf": 6.082762530298219}, "pydrex.stats.misorientations_random": {"tf": 4.795831523312719}, "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": 5.0990195135927845}, "pydrex.tensors.mono_project": {"tf": 3.7416573867739413}, "pydrex.tensors.ortho_project": {"tf": 3.7416573867739413}, "pydrex.tensors.tetr_project": {"tf": 3.7416573867739413}, "pydrex.tensors.hex_project": {"tf": 3.7416573867739413}, "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.strain_increment": {"tf": 3}, "pydrex.utils.apply_gbs": {"tf": 1.7320508075688772}, "pydrex.utils.extract_vars": {"tf": 1.7320508075688772}, "pydrex.utils.remove_nans": {"tf": 1.7320508075688772}, "pydrex.utils.default_ncpus": {"tf": 3.605551275463989}, "pydrex.utils.diff_like": {"tf": 16.55294535724685}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1.7320508075688772}, "pydrex.utils.lag_2d_corner_flow": {"tf": 3}, "pydrex.utils.quat_product": {"tf": 1.7320508075688772}, "pydrex.utils.redraw_legend": {"tf": 7.615773105863909}, "pydrex.utils.add_subplot_labels": {"tf": 5.656854249492381}, "pydrex.velocity": {"tf": 3.4641016151377544}, "pydrex.velocity.simple_shear_2d": {"tf": 16.97056274847714}, "pydrex.velocity.cell_2d": {"tf": 30.479501308256342}, "pydrex.velocity.corner_2d": {"tf": 7.810249675906654}, "pydrex.visualisation": {"tf": 2.6457513110645907}, "pydrex.visualisation.polefigures": {"tf": 2.8284271247461903}, "pydrex.visualisation.pathline_box2d": {"tf": 9.539392014169456}, "pydrex.visualisation.alignment": {"tf": 9.591663046625438}, "pydrex.visualisation.strengths": {"tf": 8.602325267042627}, "pydrex.visualisation.grainsizes": {"tf": 3.7416573867739413}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 6.244997998398398}, "pydrex.visualisation.spin": {"tf": 3.872983346207417}, "pydrex.visualisation.growth": {"tf": 3.872983346207417}, "pydrex.visualisation.figure_unless": {"tf": 3.872983346207417}, "pydrex.visualisation.figure": {"tf": 3.872983346207417}, "tests": {"tf": 13}, "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.n_grains": {"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.TestDislocationCreepOPX": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOPX.class_id": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOPX.test_shear_dudz": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOPX.test_shear_dvdx": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOlivineA.class_id": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.23606797749979}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.23606797749979}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.23606797749979}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.23606797749979}, "tests.test_core.TestRecrystallisation2D": {"tf": 1.7320508075688772}, "tests.test_core.TestRecrystallisation2D.class_id": {"tf": 1.7320508075688772}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 3}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 3.3166247903554}, "tests.test_corner_flow_2d": {"tf": 2.6457513110645907}, "tests.test_corner_flow_2d.SUBDIR": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.class_id": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 4.242640687119285}, "tests.test_diagnostics": {"tf": 2.6457513110645907}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestElasticityComponents.test_olivine_Browaeys2004": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestElasticityComponents.test_enstatite_Browaeys2004": {"tf": 1.7320508075688772}, "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_output_shape": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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_save_scsv_errors": {"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.TestPreliminaries": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"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.run": {"tf": 3.4641016151377544}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 2.23606797749979}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 3.3166247903554}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 4.242640687119285}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d": {"tf": 2.6457513110645907}, "tests.test_simple_shear_3d.SUBDIR": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.class_id": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 4.47213595499958}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 3}, "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_vortex_2d": {"tf": 2.6457513110645907}, "tests.test_vortex_2d.SUBDIR": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA.class_id": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1.7320508075688772}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 2.23606797749979}}, "df": 301, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "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.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 9, "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, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}}}}, "t": {"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": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D": {"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_3d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 9, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 3}}}}}}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "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}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "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}, "tests": {"tf": 1}}, "df": 2}}}}}}}}}, "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}}}}}}}}, "n": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 2, "\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.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}}, "df": 8}}}}, "z": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.utils.extract_vars": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {"pydrex": {"tf": 2}, "pydrex.logger": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 5, "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}}}}}, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}}, "df": 1, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"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": {"pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 4}}}}}, "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": {"tests": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 3}}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 2}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 12}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io": {"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}}}}}}, "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_pgr": {"tf": 1}}, "df": 2, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 2.23606797749979}}, "df": 1, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 2}, "pydrex.utils.strain_increment": {"tf": 1.7320508075688772}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 11, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.grainsizes": {"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": {"tf": 2}, "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.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 2}}, "df": 2}}}}}, "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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"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}, "tests": {"tf": 1}}, "df": 8, "s": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}, "|": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 4}}, "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}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 4}}}}, "a": {"docs": {}, "df": 0, "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": {"tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 5}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1, "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.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.io": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 6}}}, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}}, "df": 3}}}, "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.4142135623730951}}, "df": 3}}}}}}}, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}}, "df": 1}}}, "y": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}, "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, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}}, "df": 2}}}}}}}}, "y": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "c": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 2.449489742783178}, "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": 5}}, "y": {"docs": {"pydrex": {"tf": 2}, "pydrex.diagnostics.elasticity_components": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1.7320508075688772}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1.4142135623730951}, "pydrex.tensors.ortho_project": {"tf": 1.4142135623730951}, "pydrex.tensors.tetr_project": {"tf": 1.4142135623730951}, "pydrex.tensors.hex_project": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}}, "df": 18}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}, "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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 7}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {"pydrex": {"tf": 1}, "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.utils.redraw_legend": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1}}, "df": 15, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "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}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 4}}}}}, "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}}}}}}, "e": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals.Mineral": {"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.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 34, "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}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 5, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 2}}}, "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.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 2.8284271247461903}, "pydrex.visualisation.strengths": {"tf": 2.6457513110645907}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 8}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.io.read_scsv": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2}}}}, "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}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 3}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.7320508075688772}}, "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": 2.23606797749979}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "tests": {"tf": 2.23606797749979}}, "df": 13}}}, "w": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 3, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"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_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.7320508075688772}}, "df": 21, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"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.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "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.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.7320508075688772}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 3}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}}}}, "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}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 11}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.apply_gbs": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 3}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 2}}}}}}, "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.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}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 2}}, "c": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "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": 5, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "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": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "tests": {"tf": 1}}, "df": 7}, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}}}, "y": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"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}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}}, "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}}}}}, "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}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}}, "df": 5, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.io": {"tf": 2.23606797749979}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 2}, "pydrex.io.save_scsv": {"tf": 2}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"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_save_scsv_errors": {"tf": 1}}, "df": 13}}, "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_pgr": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 4}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}}, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 3}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}}}, "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}}, "d": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.stats.schmidt_count": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}}, "df": 4}}, "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}}}}}}}}, "c": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"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": 8, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 3}, "z": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 1}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 4}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.stats.resample_orientations": {"tf": 2.23606797749979}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"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}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 4}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.stats.square_inverse_kamb": {"tf": 1}}, "df": 2, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "c": {"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": {}, "df": 0, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"2": {"0": {"1": {"6": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 4}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}}, "df": 4, "r": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1.4142135623730951}}, "df": 12, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.elasticity_components": {"tf": 1.7320508075688772}, "pydrex.diagnostics.coaxial_index": {"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": 2}, "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.LatticeSystem": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 12}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"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.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}}, "df": 9, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 9}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests": {"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": {"tf": 1}, "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": 6}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 2}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "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.axes": {"tf": 1}, "pydrex.exceptions": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 6}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.logger": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}}, "df": 3}, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}, "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}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 5}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}}, "df": 2}}}}, "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.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 5}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 7, "s": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"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.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 6}}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}}, "df": 4, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 5}, "s": {"docs": {"pydrex.core": {"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": {}, "df": 0, "s": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 4}}}, "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}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1}}, "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": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1.4142135623730951}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"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": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "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.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.logger.ConsoleFormatter": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.handler_level": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 3, "l": {"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.core.derivatives": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.elasticity_components": {"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}}}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"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}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 8}}}}}}, "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}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2, "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.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": 7}}}}}}}}}}, "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.velocity.corner_2d": {"tf": 1}}, "df": 1, "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}}, "df": 2}}}}, "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}}}}}}}, "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.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "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}}}, "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.minerals.Mineral": {"tf": null}}, "df": 1}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}, "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}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}}}}}}, "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}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.velocity": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 2}}}}}, "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}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1.4142135623730951}, "tests": {"tf": 2}}, "df": 2}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 8}}}, "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.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 4}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 2, "/": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}}, "df": 5, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 2}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 6}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"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}}}}}}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 2, "s": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 3, "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.geometry": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 9}}}}}}, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 2}}}}, "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}}}}}, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}}, "df": 1}}}, "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, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 3, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 4}}, "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.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 4, "[": {"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}}}}}}, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 5}}}}}, "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": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}}, "df": 10, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}}, "df": 3}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {"pydrex": {"tf": 3.1622776601683795}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 2.6457513110645907}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 16, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}, "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}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 5}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"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}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 3}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}}, "df": 12}, "u": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "tests": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.exceptions.Error": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}}, "df": 4, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}, "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_pgr": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "i": {"docs": {"pydrex.cli": {"tf": 1.4142135623730951}}, "df": 1, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}}, "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}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}}}}}, "y": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}}, "df": 2}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 2.8284271247461903}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 6}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 2}}}, "/": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "r": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "p": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}}, "df": 3, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 2, "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.7320508075688772}, "pydrex.minerals": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals": {"tf": 1}}, "df": 2}}}}}}}}, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"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": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}}}}}, "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}}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}}, "df": 1}}}}}}}}}, "o": {"docs": {}, "df": 0, "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": 2.449489742783178}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 6}}}}}, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "tests": {"tf": 1}}, "df": 2}}}}}, "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}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "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, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 6}, "s": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}}, "t": {"docs": {"pydrex.utils.quat_product": {"tf": 1}}, "df": 1}}}}, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 7, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 4, "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}}}}}}, "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, "s": {"docs": {"pydrex.io.read_scsv": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger": {"tf": 2.449489742783178}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2}}, "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": 2.449489742783178}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.stats.misorientation_hist": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}}, "df": 8, "s": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}}, "df": 4}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {"pydrex": {"tf": 1}, "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": 6, "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}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "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.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 7}}}}, "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}, "pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 2}}}}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}}, "df": 4}}}}, "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.4142135623730951}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 8, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3}, "a": {"docs": {}, "df": 0, "l": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1.7320508075688772}, "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.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": {"tf": 1.4142135623730951}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests": {"tf": 2.449489742783178}, "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_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}}, "df": 49}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "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.4142135623730951}}, "df": 7}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"tests": {"tf": 2.449489742783178}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 2}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.figure": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "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.449489742783178}}, "df": 5, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.MineralPhase": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}}, "df": 3}}}}, "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, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.cli": {"tf": 1}}, "df": 2}}}}}, "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": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2, "/": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"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": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 2}, "pydrex.io": {"tf": 1}, "pydrex.io.DEFAULT_PARAMS": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}}, "df": 4}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 3}}, "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.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}}, "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}}, "df": 2, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 12}}, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.visualisation.figure": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "h": {"0": {"0": {"1": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "2": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 6, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"0": {"0": {"1": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"pydrex": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 2.6457513110645907}, "pydrex.visualisation.pathline_box2d": {"tf": 2}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3}}}, "b": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex": {"tf": 2}, "pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "tests": {"tf": 1}}, "df": 3}}, "c": {"docs": {}, "df": 0, "h": {"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": {"tests.test_corner_flow_2d.TestCornerOlivineA": {"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": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 3}}, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 2}}}, "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.pathline_box2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 12, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 5}}}, "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": 2}, "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.elasticity_components": {"tf": 2.449489742783178}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 2.449489742783178}}, "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}}}}}}}}}, "i": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.7320508075688772}}, "df": 1, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 3.872983346207417}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 13, "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.8284271247461903}, "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_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"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": 19, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.3166247903554}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 2}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"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_ortho": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 21}}}}}}, "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}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "pydrex.utils.redraw_legend": {"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.elasticity_components": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}}, "df": 6, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 1}}}}, "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.TestDislocationCreepOPX": {"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {"pydrex": {"tf": 6.782329983125268}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.cli.PoleFigureVisualiser": {"tf": 2}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 2.449489742783178}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 3.3166247903554}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 3}, "pydrex.diagnostics.misorientation_index": {"tf": 1.7320508075688772}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "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.LatticeSystem": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 2}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 2}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1.7320508075688772}, "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.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.minerals": {"tf": 1.4142135623730951}, "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": 3.872983346207417}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2.8284271247461903}, "pydrex.stats.resample_orientations": {"tf": 1.7320508075688772}, "pydrex.stats.misorientation_hist": {"tf": 1.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 3}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.7320508075688772}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 2}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 2.23606797749979}, "pydrex.velocity.cell_2d": {"tf": 2.449489742783178}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.polefigures": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 2.449489742783178}, "pydrex.visualisation.alignment": {"tf": 2.6457513110645907}, "pydrex.visualisation.strengths": {"tf": 2.23606797749979}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}, "tests": {"tf": 2.8284271247461903}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestElasticityComponents": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 97, "f": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 1, "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}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "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.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": 2.23606797749979}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"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_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 25}}}}}, "d": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}, "a": {"docs": {"pydrex.minerals.Mineral": {"tf": 3.1622776601683795}}, "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.diagnostics.misorientation_indices": {"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.utils.default_ncpus": {"tf": 1.7320508075688772}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}}, "df": 27, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 7}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 9}, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 7}}}, "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.geometry.misorientation_angles": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "tests.test_tensors": {"tf": 1}}, "df": 4}}}}}, "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": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 4}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 2}, "pydrex.geometry.poles": {"tf": 1}, "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.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2.23606797749979}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 2}, "tests": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 17, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.smallest_angle": {"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}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}}}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 2}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 5, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 4}}}}}}}}, "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}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 2}}}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 3, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 3.605551275463989}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "tests": {"tf": 2.23606797749979}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 10, "s": {"docs": {"pydrex.visualisation": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {"tests": {"tf": 2.6457513110645907}}, "df": 1}}}}, "r": {"docs": {"pydrex.io": {"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.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.mock": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.velocity.corner_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}}}}}}}}}}, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1.4142135623730951}}, "df": 1}}, "e": {"docs": {"pydrex": {"tf": 1}, "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_pgr": {"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": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1.7320508075688772}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 26, "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.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 4}}}}}}}, "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, "d": {"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}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 3}, "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}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 11}}}, "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": {"tf": 2.23606797749979}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 4}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.diff_like": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.cli": {"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}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "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}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2, "{": {"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}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 11}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.velocity.corner_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}}}, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}, "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.7320508075688772}}, "df": 3, "d": {"docs": {"tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 2}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.strain_increment": {"tf": 1}}, "df": 1}}}}}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.default_ncpus": {"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": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 2}, "pydrex.tensors.voigt_to_elastic_tensor": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}}, "df": 7, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 2.449489742783178}, "pydrex.minerals": {"tf": 1}, "pydrex.stats": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 8}}}}}}}}, "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}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.utils.diff_like": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "t": {"docs": {"pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 4, "c": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.handler_level": {"tf": 1}}, "df": 4}}, "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.7320508075688772}, "pydrex.logger": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "tests": {"tf": 1}}, "df": 7}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "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.449489742783178}, "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}, "pydrex.velocity": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.geometry.poles": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}, "/": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}}, "df": 2}}}}}, "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}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 3}}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}}, "df": 4}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.io.resolve_path": {"tf": 1}}, "df": 1}}}}}}, "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}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2}}}}}, "a": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}}, "df": 1}}}}}, "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}}}}}}}}, "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": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 5}}}}, "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_pgr": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 1}}}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"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.logger": {"tf": 2.449489742783178}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.error": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}}, "df": 10, "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}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 8}}}}}, "q": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"tf": 1}}, "df": 1, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "tests.test_geometry.test_lambert_equal_area": {"tf": 1}}, "df": 7}, "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_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}}, "df": 4}}}}}}}}}, "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}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"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}}}}}}}}, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.cell_2d": {"tf": 2.449489742783178}}, "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.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 15, "n": {"docs": {"pydrex": {"tf": 5.5677643628300215}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"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.LatticeSystem": {"tf": 1.4142135623730951}, "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": {"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.7320508075688772}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.7320508075688772}, "pydrex.utils.add_subplot_labels": {"tf": 2}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "tests": {"tf": 2.449489742783178}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}}, "df": 70, "t": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 5, "o": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "tests": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 5}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "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}, "r": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 5}}}}}}, "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}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}}, "df": 3}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "tests": {"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}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 7}, "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}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 6}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 4}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"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.4142135623730951}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1}}}, "t": {"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": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "u": {"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": {"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}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 6}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_simple_shear_3d.TestFraters2021": {"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}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 9, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "/": {"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}}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.6457513110645907}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 10, "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_pgr": {"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": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "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, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.strain_increment": {"tf": 2}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}}, "df": 2}}}}, "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_ortho": {"tf": 1}}, "df": 1}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"pydrex.utils.diff_like": {"tf": 1.4142135623730951}}, "df": 1, "o": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 2.8284271247461903}, "pydrex.logger.info": {"tf": 1}, "tests": {"tf": 1}}, "df": 4, "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.cli.NPZFileInspector": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "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": {"tests": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "s": {"docs": {"pydrex": {"tf": 5.656854249492381}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 2.449489742783178}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.geometry.to_cartesian": {"tf": 1.7320508075688772}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"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.pathlines.get_pathline": {"tf": 2.23606797749979}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1.4142135623730951}, "pydrex.utils.default_ncpus": {"tf": 2.23606797749979}, "pydrex.utils.redraw_legend": {"tf": 3}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 2.449489742783178}, "pydrex.velocity.corner_2d": {"tf": 2}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1.7320508075688772}, "tests": {"tf": 2.8284271247461903}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 56, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 3}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 3}}}}}}}}, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "tests": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 9, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1}}, "df": 6}, "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}}}}}}}}, "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}}, "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.4142135623730951}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.geometry.symmetry_operations": {"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}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}}, "df": 6, "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}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"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.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1.4142135623730951}, "tests": {"tf": 2}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 27}, "d": {"docs": {"pydrex": {"tf": 2.6457513110645907}}, "df": 1, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 1}}}}}}}}}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "/": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.exceptions.SCSVError": {"tf": 1}}, "df": 1}}, "o": {"docs": {"tests": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2, "/": {"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}}}}}}}, "p": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 2}}}, "v": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}}, "df": 1}}, "j": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 2}}, "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": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2.449489742783178}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}}, "df": 4, "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": 3.605551275463989}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "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.misorientation_hist": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.7320508075688772}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "tests": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 16}, "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}}, "df": 2}}}, "e": {"docs": {"pydrex": {"tf": 9.16515138991168}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.cli": {"tf": 1.4142135623730951}, "pydrex.cli.NPZFileInspector": {"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.elasticity_components": {"tf": 4.898979485566356}, "pydrex.diagnostics.bingham_average": {"tf": 1.7320508075688772}, "pydrex.diagnostics.finite_strain": {"tf": 2.449489742783178}, "pydrex.diagnostics.symmetry_pgr": {"tf": 2}, "pydrex.diagnostics.misorientation_indices": {"tf": 3}, "pydrex.diagnostics.misorientation_index": {"tf": 2.8284271247461903}, "pydrex.diagnostics.coaxial_index": {"tf": 2.23606797749979}, "pydrex.diagnostics.smallest_angle": {"tf": 2}, "pydrex.exceptions.ConfigError": {"tf": 1.4142135623730951}, "pydrex.exceptions.MeshError": {"tf": 1.4142135623730951}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 2.23606797749979}, "pydrex.geometry.to_cartesian": {"tf": 1.7320508075688772}, "pydrex.geometry.to_spherical": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 2}, "pydrex.geometry.symmetry_operations": {"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.io": {"tf": 2.23606797749979}, "pydrex.io.read_scsv": {"tf": 1.4142135623730951}, "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": 5.0990195135927845}, "pydrex.minerals.Mineral.update_orientations": {"tf": 3}, "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": 4.898979485566356}, "pydrex.stats.resample_orientations": {"tf": 2}, "pydrex.stats.misorientation_hist": {"tf": 2.8284271247461903}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "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.23606797749979}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1.7320508075688772}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 3.3166247903554}, "pydrex.utils.add_subplot_labels": {"tf": 2}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 2}, "pydrex.velocity.cell_2d": {"tf": 3.3166247903554}, "pydrex.velocity.corner_2d": {"tf": 3}, "pydrex.visualisation.polefigures": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 4.358898943540674}, "pydrex.visualisation.alignment": {"tf": 4}, "pydrex.visualisation.strengths": {"tf": 2.8284271247461903}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 3.872983346207417}, "pydrex.visualisation.spin": {"tf": 2.449489742783178}, "pydrex.visualisation.growth": {"tf": 2.449489742783178}, "pydrex.visualisation.figure_unless": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure": {"tf": 1.7320508075688772}, "tests": {"tf": 5}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 2}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 2.23606797749979}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 106, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 3, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3}}}}}}, "y": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.cli": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 8}, "i": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests": {"tf": 2}}, "df": 5}}, "n": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 8}, "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}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 30}, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 6, "k": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}}, "df": 2}, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 4}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {"pydrex": {"tf": 4.58257569495584}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.7320508075688772}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "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.elasticity_components": {"tf": 3.1622776601683795}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.io.read_scsv": {"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": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1.7320508075688772}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "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.strain_increment": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2.449489742783178}, "pydrex.utils.add_subplot_labels": {"tf": 2}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 2.6457513110645907}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 2}, "pydrex.visualisation.figure": {"tf": 1.7320508075688772}, "tests": {"tf": 4.123105625617661}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestSymmetryPGR.test_pointX": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries": {"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_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 75, "m": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 2}, "pydrex.io.parse_config": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}}, "df": 3}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}, "o": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 3}}}}}}}}, "p": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 5, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "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_ortho": {"tf": 1}}, "df": 12, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}}, "df": 3}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.7320508075688772}, "pydrex.diagnostics.finite_strain": {"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.23606797749979}, "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": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}}, "df": 5}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 5}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"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.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": 2.23606797749979}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.test_config.test_specfile": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"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_output_shape": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_downsample": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"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.TestPreliminaries.test_strain_increment": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"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_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 47, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "tests": {"tf": 3.1622776601683795}, "tests.conftest": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_core": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"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.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}}, "df": 26, "/": {"docs": {}, "df": 0, "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}}}}}, "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}, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"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.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1.4142135623730951}}, "df": 3, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 3}}}}}, "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.7320508075688772}, "pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 6}}, "df": 5}}, "i": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}}, "df": 1, "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}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 2, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}}}}, "g": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.tensors.upper_tri_to_symmetric": {"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}}}, "w": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 9, "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}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}}, "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": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"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}}}}, "n": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "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.7320508075688772}, "pydrex.utils.strain_increment": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 2.23606797749979}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.minerals.Mineral.save": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"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_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 20, "s": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 4}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"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.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 16, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"pydrex": {"tf": 2}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "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.7320508075688772}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.tensors.voigt_decompose": {"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, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.core.DeformationRegime": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2.23606797749979}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 8, "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.7320508075688772}}, "df": 1}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.poles": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1.4142135623730951}, "tests": {"tf": 2.23606797749979}, "tests.conftest.seed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 25}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests": {"tf": 1}}, "df": 6}}, "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.4142135623730951}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "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}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "tests.test_diagnostics.TestElasticityComponents": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}, "e": {"docs": {"pydrex.tensors.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.4142135623730951}}, "df": 1}}}}}}, "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_simple_shear_2d.TestOlivineA.test_grainsize_median": {"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}, "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": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}}, "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}}}}}}, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1.7320508075688772}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.logger.debug": {"tf": 1}, "tests": {"tf": 1}}, "df": 5, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.logger.handler_level": {"tf": 1}}, "df": 2}, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "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.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 3}, "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}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}}}}}}}}}, "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}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}}}}}, "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}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}}, "df": 4}}}}, "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": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}}, "df": 8}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "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}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 2}}}}}, "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.1622776601683795}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}}, "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.4142135623730951}}, "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}}}}}}, "k": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 2}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}}, "df": 2}}, "f": {"docs": {}, "df": 0, "f": {"docs": {"pydrex.utils.diff_like": {"tf": 1.7320508075688772}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.diff_like": {"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": {"pydrex": {"tf": 1.7320508075688772}, "tests.test_diagnostics.TestMIndex": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "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": 9}}}}}}}}, "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}}}}}}, "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": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 11, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 6}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.bingham_average": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 2}, "pydrex.io.resolve_path": {"tf": 1.7320508075688772}, "pydrex.io.data": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 4}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.velocity": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 3, "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.diagnostics.elasticity_components": {"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}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 8}}}}}}}}, "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.pathlines.get_pathline": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}}, "df": 1}}}}, "s": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "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}}}}}}}}}}, "p": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 1}}, "o": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "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": {"pydrex.velocity.corner_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}}}}}}}}}}, "c": {"docs": {}, "df": 0, "u": {"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": 2.6457513110645907}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"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": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.7320508075688772}}, "df": 3, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {"pydrex.logger": {"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}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "w": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "n": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 3}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.read_scsv": {"tf": 1.4142135623730951}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 2}, "pydrex.io.data": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "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.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 2.449489742783178}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "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_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_geometry.test_poles_example": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"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_GBM_calibration": {"tf": 1.4142135623730951}}, "df": 32, "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": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 3}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 3}}}}, "e": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "z": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 3}}, "v": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2}}, "/": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"pydrex": {"tf": 4.898979485566356}, "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.elasticity_components": {"tf": 2.23606797749979}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.coaxial_index": {"tf": 1.7320508075688772}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem": {"tf": 2}, "pydrex.geometry.to_cartesian": {"tf": 1.4142135623730951}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 2.23606797749979}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 3.1622776601683795}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}, "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.1622776601683795}, "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": 3.4641016151377544}, "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.4142135623730951}, "pydrex.tensors.hex_project": {"tf": 1.4142135623730951}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1.7320508075688772}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 2}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2}, "pydrex.visualisation.alignment": {"tf": 2.23606797749979}, "pydrex.visualisation.strengths": {"tf": 2.23606797749979}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.7320508075688772}, "pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure_unless": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure": {"tf": 1.4142135623730951}, "tests": {"tf": 3.1622776601683795}, "tests.conftest.PytestConsoleLogger": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 2}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 2}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}}, "df": 90, "l": {"docs": {"pydrex.core.MineralFabric": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 4, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 2}}}, "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": {"pydrex": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 6}}}}, "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}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"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.7320508075688772}, "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}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 22}}, "l": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.cli": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1.4142135623730951}, "tests": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}}, "df": 12, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 2}, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 3}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 5, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}}}}}, "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, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 2}}}}}}}}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 2}}}}}, "n": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"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": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"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.visualisation.alignment": {"tf": 1}, "tests": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 24, "d": {"docs": {"pydrex": {"tf": 4.69041575982343}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "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.bingham_average": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.7320508075688772}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.geometry.poles": {"tf": 2}, "pydrex.geometry.lambert_equal_area": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1.7320508075688772}, "pydrex.io.read_scsv": {"tf": 1}, "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.6457513110645907}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.mock": {"tf": 1}, "pydrex.mock.PARAMS_FRATERS2021": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 2.23606797749979}, "pydrex.stats": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "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.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.7320508075688772}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 2.23606797749979}, "pydrex.velocity.corner_2d": {"tf": 2}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2.23606797749979}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure_unless": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 3}, "tests.conftest": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1.4142135623730951}, "tests.test_geometry": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}, "tests.test_vortex_2d": {"tf": 1}}, "df": 77}, "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": {"tf": 2}, "pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}}}}, "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}}}}}}, "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}}}, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 9}, "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": {"pydrex": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 3}}}}}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 2}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}}, "df": 10, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 2.6457513110645907}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_Kaminski2001": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_Kaminski2004": {"tf": 1}}, "df": 11}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.geometry.misorientation_angles": {"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}}}}, "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}}}}}}}}}}}}, "b": {"docs": {"pydrex.core.MineralFabric": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "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}}}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 3}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 4.58257569495584}, "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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "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.pathlines.get_pathline": {"tf": 1.7320508075688772}, "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.utils.quat_product": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 2}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1.7320508075688772}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 48, "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": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 13}}}}}}, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"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}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 17}}, "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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 2.6457513110645907}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.stats.resample_orientations": {"tf": 2}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 2.6457513110645907}, "pydrex.velocity.simple_shear_2d": {"tf": 3.1622776601683795}, "pydrex.velocity.cell_2d": {"tf": 6}, "pydrex.visualisation.pathline_box2d": {"tf": 2.6457513110645907}, "pydrex.visualisation.alignment": {"tf": 2.8284271247461903}, "pydrex.visualisation.strengths": {"tf": 2.449489742783178}}, "df": 24, "s": {"docs": {"pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}}, "df": 8}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 8}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.redraw_legend": {"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": {"tf": 2.449489742783178}, "pydrex.diagnostics.bingham_average": {"tf": 1.4142135623730951}, "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.elasticity_components": {"tf": 1}}, "df": 2}, "s": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "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": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}}}}}}}, "s": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.cli": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "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.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.7320508075688772}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "tests": {"tf": 2.6457513110645907}}, "df": 25, "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.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.resample_orientations": {"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}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 2}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.logger.logfile_enable": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2}, "pydrex.pathlines.get_pathline": {"tf": 2.23606797749979}, "pydrex.velocity.cell_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"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_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 14, "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": {"tf": 1}, "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": 6}, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 2.23606797749979}}, "df": 2}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"2": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics": {"tf": 2.449489742783178}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 3}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 2.449489742783178}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 2.449489742783178}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 2.449489742783178}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 2.449489742783178}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 2.449489742783178}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 2.449489742783178}, "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_ensemble": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 2.449489742783178}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 2.6457513110645907}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}}, "df": 24}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "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": {"tests": {"tf": 1}}, "df": 1}}}}, "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.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 3}}}}}}, "u": {"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": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}}, "df": 1}}}}}}}}}}, "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}}}, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"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}, "pydrex.minerals": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 1}}}}}, "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}, "pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"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}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.apply_gbs": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2}}}}, "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}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.utils.add_subplot_labels": {"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.geometry.LatticeSystem": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 5, "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}}}}}}}}}, "x": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1.7320508075688772}}, "df": 9, "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.coaxial_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 2.449489742783178}, "pydrex.utils.redraw_legend": {"tf": 2}, "pydrex.utils.add_subplot_labels": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 2.8284271247461903}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1.7320508075688772}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_geometry.test_poles_example": {"tf": 1}}, "df": 19, "/": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1.7320508075688772}, "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}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.conftest.seeds_nearX45": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 26, "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}}}, "s": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "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": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 2}}}}}}}}}, "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}, "tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}}, "df": 2}}}}}}}}, "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}}}}}}}}, "*": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}, "b": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 4, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"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.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 5}}}}}}}, "a": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 2.23606797749979}}, "df": 2, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.exceptions.Error": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 4}}, "i": {"docs": {}, "df": 0, "c": {"docs": {"tests.test_core.TestRecrystallisation2D": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 1}}, "d": {"docs": {"tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.visualisation.alignment": {"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": 7}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}}, "df": 3}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"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}}}}}}}}}}}, "g": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}, "y": {"docs": {"pydrex": {"tf": 4.123105625617661}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"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.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 2.8284271247461903}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}}, "df": 32}, "e": {"docs": {"pydrex": {"tf": 4.358898943540674}, "pydrex.cli": {"tf": 1.4142135623730951}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.geometry.shirley_concentric_squaredisk": {"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.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2.449489742783178}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}, "pydrex.utils.add_subplot_labels": {"tf": 2}, "pydrex.velocity": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 2.23606797749979}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 2.8284271247461903}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 32, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 4}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 2}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "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}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 11}}}}}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2}}}}}}}}}, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 6}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 5}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_simple_shear_3d.TestFraters2021": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.io": {"tf": 1}, "pydrex.logger.exception": {"tf": 1}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 5}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}}, "df": 1}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "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}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.velocity.corner_2d": {"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}}}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2}}}}}, "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.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}}, "df": 1}}}, "h": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 3}}, "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}}}}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}}, "df": 2, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "u": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}}, "df": 2}, "\\": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 1, "{": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "v": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}, "r": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}}, "df": 1}, "x": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}, "z": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {"tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 9}}}}, "w": {"docs": {"pydrex.utils.quat_product": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}, "pydrex.io.read_scsv": {"tf": 1}, "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.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 44, "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}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_spread10X": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}}, "df": 9}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 3}, "pydrex.cli": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.logger": {"tf": 2.6457513110645907}, "pydrex.pathlines.get_pathline": {"tf": 2}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1.7320508075688772}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 15}}, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}}}, "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.cli": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.tensors": {"tf": 1.4142135623730951}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "tests": {"tf": 2.449489742783178}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 26}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "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": 2}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 14}}, "n": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 4}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}}}}, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}, "tests": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 4, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}}, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "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}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 2}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}}, "df": 2}}}, "s": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.warning": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}}, "df": 5, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}, "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, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 3}, "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}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry_pgr": {"tf": 2}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.utils.default_ncpus": {"tf": 1}}, "df": 11, "o": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.io": {"tf": 1}, "tests": {"tf": 1}}, "df": 3, "t": {"docs": {"pydrex": {"tf": 2.8284271247461903}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 17, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.utils.redraw_legend": {"tf": 1}}, "df": 4}, "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.6457513110645907}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "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}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2.449489742783178}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1.4142135623730951}, "tests": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 21}, "z": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 3, "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}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}, "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.4142135623730951}}, "df": 1}, "d": {"docs": {"pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.cli": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}}, "df": 2}}}}}}}}, "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.utils.diff_like": {"tf": 1}}, "df": 2}}, "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.4142135623730951}, "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.diagnostics.misorientation_indices": {"tf": 2.23606797749979}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 3.1622776601683795}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.utils.default_ncpus": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 15, "s": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}, "a": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "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.stats.misorientation_hist": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}}, "df": 10}}}, "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}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 15}, "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}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"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}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "/": {"2": {"0": {"2": {"0": {"docs": {}, "df": 0, "/": {"0": {"4": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "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_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 3}}}, "p": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.449489742783178}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.utils.diff_like": {"tf": 2}, "pydrex.velocity.simple_shear_2d": {"tf": 2.449489742783178}, "pydrex.velocity.cell_2d": {"tf": 4.58257569495584}}, "df": 5, "z": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.save": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}, "x": {"3": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1, "x": {"3": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}, "6": {"docs": {}, "df": 0, "x": {"6": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 2, "m": {"docs": {"pydrex.stats.resample_orientations": {"tf": 1}}, "df": 1, "x": {"3": {"docs": {}, "df": 0, "x": {"3": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}, "docs": {}, "df": 0}}, "a": {"docs": {}, "df": 0, "x": {"4": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}, "b": {"docs": {}, "df": 0, "x": {"4": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "u": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3}}}}}, "v": {"docs": {"pydrex.tensors.voigt_decompose": {"tf": 1.4142135623730951}, "tests": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "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}}, "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": {"tf": 1}, "pydrex.visualisation": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}}}, "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, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"tf": 1}}, "df": 3}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2.23606797749979}, "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.7320508075688772}, "pydrex.visualisation.grainsizes": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 6}, "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_pgr": {"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": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 2.23606797749979}, "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.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "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": 18}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {"tests.test_vortex_2d": {"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": {"tf": 2.6457513110645907}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 2.23606797749979}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 2.23606797749979}, "pydrex.velocity.cell_2d": {"tf": 2.449489742783178}, "pydrex.velocity.corner_2d": {"tf": 2.449489742783178}, "pydrex.visualisation.pathline_box2d": {"tf": 2.449489742783178}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 23, "/": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "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.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}}, "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}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}}, "df": 3}}}, "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}, "pydrex.velocity.cell_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 5, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.velocity.corner_2d": {"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.finite_strain": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1}, "pydrex.tensors.ortho_project": {"tf": 1}, "pydrex.tensors.tetr_project": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}, "pydrex.tensors.voigt_matrix_to_vector": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "tests.test_tensors.test_voigt_to_vector": {"tf": 1}}, "df": 18, "s": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 2.23606797749979}, "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": 8}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}}}}}}, "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.geometry.LatticeSystem": {"tf": 1}, "pydrex.logger": {"tf": 3.3166247903554}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 10, "s": {"docs": {"pydrex": {"tf": 1}, "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.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 22}, "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": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"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, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}}, "m": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_indices": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1.4142135623730951}, "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}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 17, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 3.1622776601683795}, "pydrex.cli.NPZFileInspector": {"tf": 1.4142135623730951}, "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}, "pydrex.velocity": {"tf": 1}, "tests": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 20, "s": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 2.23606797749979}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests": {"tf": 1}}, "df": 9}, "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.7320508075688772}}, "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.7320508075688772}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 3}}}}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 2}}}}}, "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}}}}}}}}}}}, "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}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}}, "df": 3}}}}, "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_indices": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}}, "df": 6}}}}}}}}}}}, "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}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "y": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}, "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}}}}}, "c": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1, "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": {"tf": 1.4142135623730951}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 4}}}}}}}}}, "y": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 6}, "x": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 6, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests": {"tf": 1}}, "df": 10}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}}, "df": 11}}}, "x": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 2}, "pydrex.diagnostics.symmetry_pgr": {"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}, "tests.test_tensors.test_voigt_decompose": {"tf": 1}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 15}}}, "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": 2}, "pydrex.utils.redraw_legend": {"tf": 2}, "pydrex.visualisation.pathline_box2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 9}}}}}}}, "h": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}, "c": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3}}}}}, "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": 2}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 2, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"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": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 4}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.io.SCSV_TYPEMAP": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1}}, "df": 2}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 3}, "d": {"docs": {"pydrex.visualisation.alignment": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "u": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "tests": {"tf": 2}}, "df": 10, "s": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.stats": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.utils": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests": {"tf": 1}}, "df": 9}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 2}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"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}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.io": {"tf": 1.4142135623730951}}, "df": 3, "i": {"docs": {}, "df": 0, "o": {"docs": {"pydrex": {"tf": 1}, "pydrex.io": {"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}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 13, "s": {"docs": {"pydrex.logger": {"tf": 2.23606797749979}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}}}}}}, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "tests": {"tf": 1.7320508075688772}}, "df": 2}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2, "l": {"docs": {"pydrex": {"tf": 3}, "pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 2}}, "df": 2}}, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 5, "s": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 1}, "pydrex.mock": {"tf": 1}}, "df": 2}}, "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}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "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}}, "df": 2}}}}}}, "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}}}}}}}, "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.diagnostics.elasticity_components": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.tensors.mono_project": {"tf": 1.4142135623730951}}, "df": 3, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {"pydrex.mock.PARAMS_HEDJAZIAN2017": {"tf": 1}}, "df": 1, "e": {"docs": {"tests": {"tf": 2}}, "df": 1}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2}, "pydrex.core.derivatives": {"tf": 1}}, "df": 2}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}}, "df": 5}, "y": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}, "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.diagnostics.misorientation_indices": {"tf": 1.4142135623730951}, "pydrex.utils.default_ncpus": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 10}}}, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}, "y": {"docs": {"pydrex.logger": {"tf": 1}, "pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 2}, "s": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.MineralFabric": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"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}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1}}, "df": 14, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 3.4641016151377544}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.diagnostics": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.minerals": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.7320508075688772}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_grainsize_median": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 27, "s": {"docs": {"pydrex": {"tf": 4.242640687119285}, "pydrex.core.derivatives": {"tf": 2}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 3.872983346207417}, "pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 16}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.update_orientations": {"tf": 2.23606797749979}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdx_slip_010_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dudz_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dwdx_slip_001_100": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA.test_shear_dvdz_slip_010_001": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 21, "s": {"docs": {"pydrex": {"tf": 2}, "pydrex.velocity": {"tf": 1}}, "df": 2}}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.visualisation.growth": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 2}}}}, "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, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"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}}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}}, "df": 4, "d": {"docs": {"tests.test_diagnostics.TestSymmetryPGR.test_girdle": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}}, "df": 2}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1, "n": {"docs": {"pydrex": {"tf": 2.449489742783178}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"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.7320508075688772}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1.4142135623730951}}, "df": 25}, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}}, "df": 1}}}, "d": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"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}}}}}}}, "e": {"docs": {}, "df": 0, "o": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 3, "d": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"pydrex.geometry": {"tf": 1}, "tests.test_geometry": {"tf": 1}}, "df": 2}}, "y": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {"pydrex.core.get_crss": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.diagnostics.smallest_angle": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.io.data": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.misorientations_random": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_output_shape": {"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": 19, "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}}}}}}}, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.default_ncpus": {"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": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}, "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}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 2}, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "b": {"docs": {"pydrex.core.derivatives": {"tf": 1}}, "df": 1}}, "t": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 6}, "pydrex.minerals.Mineral": {"tf": 7.211102550927978}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 2.449489742783178}, "pydrex.utils.diff_like": {"tf": 3}, "pydrex.velocity.simple_shear_2d": {"tf": 4.58257569495584}, "pydrex.velocity.cell_2d": {"tf": 7.54983443527075}, "tests": {"tf": 1.7320508075688772}}, "df": 7}, "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}}, "l": {"1": {"1": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "2": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "3": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 3.605551275463989}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 6}}, "n": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral": {"tf": 1}}, "df": 3, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.7320508075688772}}, "df": 7}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "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, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3}}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests": {"tf": 1}}, "df": 4}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.redraw_legend": {"tf": 3.3166247903554}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 7, "s": {"docs": {}, "df": 0, "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.geometry.symmetry_operations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1}}, "df": 4}}}}}}}}}}, "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}, "pydrex.utils.add_subplot_labels": {"tf": 2}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 7}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {"pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 4}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "tests": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.finite_strain": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 2}}, "r": {"docs": {"tests": {"tf": 1.4142135623730951}}, "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.utils.diff_like": {"tf": 1.4142135623730951}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}}, "g": {"docs": {"pydrex.utils.lag_2d_corner_flow": {"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}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1}}, "df": 8, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.stats.linear_inverse_kamb": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 2}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "x": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.utils.diff_like": {"tf": 1.7320508075688772}}, "df": 2}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 5}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests": {"tf": 1}}, "df": 5, "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": {"pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 2}}, "df": 1, "s": {"docs": {"pydrex": {"tf": 2}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}}, "df": 1}}}, "l": {"docs": {"pydrex.logger": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {"pydrex": {"tf": 2}, "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}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 11, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.logger": {"tf": 2.23606797749979}, "pydrex.logger.handler_level": {"tf": 2}, "pydrex.logger.logfile_enable": {"tf": 1}, "tests": {"tf": 2}}, "df": 5}}}, "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}}, "d": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}, "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.cli.NPZFileInspector": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 5}}}, "t": {"docs": {"pydrex.minerals.Mineral": {"tf": 2}, "pydrex.pathlines.get_pathline": {"tf": 2}, "tests.test_tensors.test_voigt_tensor": {"tf": 1}}, "df": 3}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}}}}, "f": {"9": {"0": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 3}, "docs": {}, "df": 0}, "docs": {"pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 5, "o": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 5.385164807134504}, "pydrex.axes.PoleFigureAxes": {"tf": 1.4142135623730951}, "pydrex.cli": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 3.605551275463989}, "pydrex.diagnostics.bingham_average": {"tf": 1.7320508075688772}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 2}, "pydrex.diagnostics.misorientation_index": {"tf": 2}, "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": {"tf": 1}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2.8284271247461903}, "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.7320508075688772}, "pydrex.stats": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 2}, "pydrex.stats.misorientations_random": {"tf": 2}, "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.utils.strain_increment": {"tf": 1}, "pydrex.utils.apply_gbs": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 2}, "pydrex.visualisation.alignment": {"tf": 2.449489742783178}, "pydrex.visualisation.strengths": {"tf": 2.449489742783178}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1.4142135623730951}, "tests": {"tf": 2}, "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_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_diagnostics": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats": {"tf": 1}, "tests.test_diagnostics.TestMIndex": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread10X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_textures_increasing_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_girdle_ortho": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}, "tests.test_geometry": {"tf": 1}, "tests.test_scsv": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries.test_strain_increment": {"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_GBM_calibration": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dudz_pathline": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}, "tests.test_tensors": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_ensemble": {"tf": 1}}, "df": 103, "m": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1.4142135623730951}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests": {"tf": 1}, "tests.test_config": {"tf": 1}, "tests.test_scsv": {"tf": 1}}, "df": 8, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 3}, "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}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 2}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.diff_like": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 5}}}}}, "l": {"docs": {}, "df": 0, "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.diagnostics.elasticity_components": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.io": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.tensors": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 3}}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 2}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 4, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"pydrex.logger.quiet_aliens": {"tf": 1}}, "df": 1}}, "g": {"docs": {"pydrex.utils.redraw_legend": {"tf": 2.449489742783178}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1.4142135623730951}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.7320508075688772}, "pydrex.cli.PoleFigureVisualiser": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2.449489742783178}, "pydrex.visualisation.pathline_box2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.strengths": {"tf": 1.7320508075688772}, "pydrex.visualisation.grainsizes": {"tf": 1.4142135623730951}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.7320508075688772}, "pydrex.visualisation.spin": {"tf": 1.7320508075688772}, "pydrex.visualisation.growth": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure_unless": {"tf": 2}, "pydrex.visualisation.figure": {"tf": 1.7320508075688772}}, "df": 14, "s": {"docs": {"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": 6}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.figure": {"tf": 1}}, "df": 1}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "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": {"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": 18, "s": {"docs": {"pydrex": {"tf": 2.6457513110645907}, "pydrex.io": {"tf": 3}}, "df": 2, "/": {"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": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "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}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.io.SCSV_TYPEMAP": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "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": 6}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 7}}}, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.conftest": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 2}}}}}}, "w": {"docs": {"pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 2}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 2.23606797749979}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.diagnostics.finite_strain": {"tf": 1.4142135623730951}, "pydrex.diagnostics.symmetry_pgr": {"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": 2}, "pydrex.minerals.Mineral.save": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1.7320508075688772}, "pydrex.minerals.Mineral.from_file": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.stats.resample_orientations": {"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.voigt_to_elastic_tensor": {"tf": 1}, "pydrex.tensors.elastic_tensor_to_voigt": {"tf": 1}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.angle_fse_simpleshear": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 2}, "pydrex.velocity": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.7320508075688772}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.7320508075688772}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}}, "df": 41}, "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}, "tests.test_simple_shear_3d.TestFraters2021": {"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.449489742783178}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.minerals.voigt_averages": {"tf": 1.7320508075688772}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 4, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}, "pydrex.core": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}}, "df": 3}}, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 2.8284271247461903}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.visualisation.grainsizes": {"tf": 1}}, "df": 4}}}}}, "{": {"1": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}, "2": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}}, "df": 1, "u": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 1}}, "4": {"docs": {"pydrex.velocity.corner_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}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "!": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}}}, "d": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}, "\u03b8": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}, "\u03c8": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.corner_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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "x": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1, "z": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "{": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.velocity.corner_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": {"pydrex.velocity.corner_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.geometry.poles": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 4, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "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}}}}}}}}}}}}}}}, "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.4142135623730951}, "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.449489742783178}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}}, "df": 7, "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}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 3}}, "l": {"docs": {"pydrex.stats.misorientations_random": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.stats.point_density": {"tf": 1}}, "df": 1}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"pydrex.utils.default_ncpus": {"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}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"pydrex": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_corner_flow_2d": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 8, "s": {"docs": {"pydrex.io": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA": {"tf": 1}, "tests.test_vortex_2d": {"tf": 1}}, "df": 4}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 4.58257569495584}, "pydrex.core.derivatives": {"tf": 2.23606797749979}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}}, "df": 7, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}}, "df": 2}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 2}}}}}}, "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}}}}}}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}}, "df": 1}, "g": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"tests": {"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": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.core": {"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}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 13, "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}}, "df": 8}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}}, "df": 2, "y": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}}, "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}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1.4142135623730951}}, "df": 3}}}, "j": {"docs": {"pydrex.diagnostics": {"tf": 1.4142135623730951}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 2}}, "df": 3, "i": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "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}}}}, "r": {"docs": {"pydrex.diagnostics.symmetry_pgr": {"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}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}}, "df": 6, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "x": {"docs": {"pydrex": {"tf": 2}, "pydrex.core": {"tf": 1.4142135623730951}, "tests.test_core": {"tf": 1}}, "df": 3}, "f": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 3, "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.4142135623730951}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1.7320508075688772}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_0": {"tf": 1}}, "df": 8}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}}, "df": 1}}}}}}}}, "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}, "tests": {"tf": 1.7320508075688772}}, "df": 2, "d": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1.4142135623730951}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}}, "df": 4}, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1}}, "df": 3}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.Mineral.load": {"tf": 1}, "pydrex.minerals.Mineral.from_file": {"tf": 1}}, "df": 6, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}, "/": {"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}}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "d": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}, "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.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.tensors.voigt_vector_to_matrix": {"tf": 1}}, "df": 4, "s": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"pydrex.diagnostics.coaxial_index": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.tensors": {"tf": 1}}, "df": 2}}}}}}}, "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.utils.diff_like": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "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}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_core.TestRecrystallisation2D": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}, "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": {"tf": 1}, "pydrex.diagnostics.misorientation_index": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.stats.misorientation_hist": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 7}}}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1.7320508075688772}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1.4142135623730951}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.diagnostics.misorientation_indices": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.utils.remove_nans": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}}, "df": 2, "d": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1.4142135623730951}}, "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}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1, "n": {"docs": {"pydrex.utils.redraw_legend": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "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": {"tf": 1.4142135623730951}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 5}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 1}}}}}}, "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}, "pydrex.velocity.cell_2d": {"tf": 1}}, "df": 2}}}}}}}}}, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.io.resolve_path": {"tf": 1}, "tests": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz": {"tf": 1}}, "df": 3, "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}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 2}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}}, "df": 1}}}}, "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": {"pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.visualisation.polefigures": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}}, "df": 2}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1}}, "df": 5}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_zero_recrystallisation": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.io.stringify": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "pydrex.tensors.voigt_decompose": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "pydrex.visualisation.figure_unless": {"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.elasticity_components": {"tf": 1}, "pydrex.diagnostics.bingham_average": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.to_spherical": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.io.read_scsv": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.7320508075688772}, "pydrex.stats.resample_orientations": {"tf": 1}, "pydrex.utils.strain_increment": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure_unless": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.run": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 24}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.minerals.OLIVINE_SLIP_SYSTEMS": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 9}}}}}, "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, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.Mineral": {"tf": 2.6457513110645907}}, "df": 1, "s": {"docs": {"pydrex.core.DeformationRegime": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1.4142135623730951}}, "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}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.symmetry_pgr": {"tf": 1}, "pydrex.diagnostics.coaxial_index": {"tf": 1.4142135623730951}, "pydrex.minerals.Mineral": {"tf": 2}, "pydrex.stats.resample_orientations": {"tf": 1.4142135623730951}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR": {"tf": 1}, "tests.test_diagnostics.TestSymmetryPGR.test_random": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}}, "df": 9, "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": {"tf": 2}, "pydrex.diagnostics.coaxial_index": {"tf": 1}, "pydrex.stats.kamb_count": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_upsample": {"tf": 1}}, "df": 4}, "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": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1.7320508075688772}, "pydrex.velocity.simple_shear_2d": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_scsv.test_save_scsv_errors": {"tf": 1}}, "df": 1, "d": {"docs": {"pydrex.exceptions.ConfigError": {"tf": 1}, "pydrex.exceptions.MeshError": {"tf": 1}, "pydrex.exceptions.IterationError": {"tf": 1}, "pydrex.exceptions.SCSVError": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "tests.test_diagnostics.TestVolumeWeighting.test_common_input_errors": {"tf": 1}}, "df": 6}, "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}}}}, "m": {"docs": {"tests": {"tf": 2}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_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": 5}}, "g": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.axes.PoleFigureAxes.set": {"tf": 1}, "pydrex.geometry.poles": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 4}}}, "d": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.velocity.corner_2d": {"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": {"tf": 1.4142135623730951}, "pydrex.core": {"tf": 1}, "pydrex.core.derivatives": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "pydrex.tensors.rotate": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "tests.test_core.TestDislocationCreepOPX": {"tf": 1}, "tests.test_core.TestDislocationCreepOlivineA": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 11, "s": {"docs": {"pydrex.diagnostics": {"tf": 1}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}}, "df": 2}}}}, "e": {"docs": {"pydrex.tensors.rotate": {"tf": 1}}, "df": 1, "d": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 2}}}}}, "w": {"docs": {"pydrex.geometry.LatticeSystem": {"tf": 1}}, "df": 1}, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1}, "tests": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "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, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_core": {"tf": 1}, "tests.test_simple_shear_2d.TestPreliminaries": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"tests": {"tf": 1.7320508075688772}, "tests.test_corner_flow_2d.TestCornerOlivineA.run": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_doctests": {"tf": 1}, "tests.test_doctests.test_doctests": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.run": {"tf": 1}, "tests.test_vortex_2d.TestCellOlivineA.test_xz_10k": {"tf": 1}}, "df": 8, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.logger": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1}}, "df": 1}}}}, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1}}}, "s": {"docs": {"tests.conftest.seeds": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 2, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "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.geometry.LatticeSystem": {"tf": 1}}, "df": 1}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.minerals.Mineral": {"tf": 1.7320508075688772}, "tests.conftest.seeds": {"tf": 1}, "tests.conftest.seed": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 4}}, "}": {"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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"tests": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}}, "u": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 2}, "pydrex.velocity.cell_2d": {"tf": 3.4641016151377544}, "pydrex.velocity.corner_2d": {"tf": 2}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 4, "p": {"docs": {"pydrex.geometry.shirley_concentric_squaredisk": {"tf": 1}, "pydrex.io": {"tf": 1}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests.conftest.PytestConsoleLogger": {"tf": 1}}, "df": 5, "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}, "pydrex.velocity": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 6, "s": {"docs": {"pydrex": {"tf": 1}}, "df": 1}, "d": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.minerals.Mineral.update_orientations": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.axes.PoleFigureAxes.set": {"tf": 1.4142135623730951}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.tensors.upper_tri_to_symmetric": {"tf": 1.4142135623730951}, "pydrex.velocity.corner_2d": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}}, "df": 6}}}, "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}}}}}}}}}, "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_indices": {"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}, "pydrex.utils.redraw_legend": {"tf": 1}, "tests": {"tf": 1.4142135623730951}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBM_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_FortranDRex": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.interp_GBS_long_FortranDRex": {"tf": 1}}, "df": 17}}}, "e": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.axes.PoleFigureAxes": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.io.stringify": {"tf": 1}, "pydrex.logger": {"tf": 2}, "pydrex.minerals.Mineral": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "tests": {"tf": 2}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 13, "d": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.core.get_crss": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"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.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.stats.misorientation_hist": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "pydrex.utils.default_ncpus": {"tf": 1.7320508075688772}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}, "pydrex.velocity": {"tf": 1}, "pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}, "tests": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 38}, "s": {"docs": {"pydrex": {"tf": 1}, "pydrex.diagnostics.misorientation_indices": {"tf": 1}, "pydrex.geometry.misorientation_angles": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.logger.ConsoleFormatter": {"tf": 1}, "pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.tensors": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 8, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {"pydrex.minerals.Mineral": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}}, "df": 2, "r": {"docs": {}, "df": 0, "e": {"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": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}, "tests.conftest.seeds": {"tf": 1}}, "df": 4}}}, "t": {"docs": {"pydrex.diagnostics.smallest_angle": {"tf": 1.7320508075688772}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 5, "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_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_uniform_ortho": {"tf": 1}}, "df": 7}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.io.resolve_path": {"tf": 1}, "pydrex.logger": {"tf": 1}, "pydrex.pathlines.get_pathline": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.grainsizes": {"tf": 1}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 11}}}, "i": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"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.1622776601683795}, "pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}}, "df": 3}}}}}, "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}}}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "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": {"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, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.velocity.cell_2d": {"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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}}}}, "k": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.diagnostics.elasticity_components": {"tf": 1}, "pydrex.stats.schmidt_count": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1}}, "df": 4, "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.7320508075688772}, "pydrex.utils.lag_2d_corner_flow": {"tf": 1}, "pydrex.velocity.corner_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": 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}}}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.axes.PoleFigureAxes.polefigure": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.utils.add_subplot_labels": {"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.pathlines.get_pathline": {"tf": 1}, "pydrex.stats.point_density": {"tf": 1}, "pydrex.utils.redraw_legend": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1.4142135623730951}, "tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 9}}}}, "s": {"docs": {"pydrex.cli.NPZFileInspector": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.io.save_scsv": {"tf": 1}, "pydrex.minerals.voigt_averages": {"tf": 1}, "pydrex.utils.add_subplot_labels": {"tf": 1.4142135623730951}}, "df": 5}}, "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}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"pydrex.visualisation.spin": {"tf": 1}, "pydrex.visualisation.growth": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"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": {"tf": 1}, "pydrex.diagnostics.elasticity_components": {"tf": 2}, "pydrex.geometry.LatticeSystem": {"tf": 1}, "pydrex.tensors.hex_project": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 6, "l": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.diagnostics.elasticity_components": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "p": {"docs": {"pydrex": {"tf": 1}, "pydrex.visualisation.polefigures": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "r": {"docs": {"tests": {"tf": 1}}, "df": 1, "s": {"docs": {"pydrex.tensors": {"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.visualisation.figure": {"tf": 1}}, "df": 2}}}}, "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}}}}}}}}, "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}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"pydrex.minerals.OLIVINE_STIFFNESS": {"tf": 1}, "pydrex.minerals.ENSTATITE_STIFFNESS": {"tf": 1}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 5}}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.misorientations_random": {"tf": 1.7320508075688772}, "pydrex.visualisation.figure_unless": {"tf": 1}, "pydrex.visualisation.figure": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex": {"tf": 1}, "pydrex.stats.SPHERICAL_COUNTING_KERNELS": {"tf": 1}, "tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 3}}}}, "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}, "pydrex.stats.misorientation_hist": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"pydrex.cli": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"pydrex.io.write_scsv_header": {"tf": 1}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1.4142135623730951}, "pydrex.visualisation.strengths": {"tf": 1.4142135623730951}, "pydrex.visualisation.show_Skemer2016_ShearStrainAngles": {"tf": 1.4142135623730951}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "pydrex.visualisation.figure_unless": {"tf": 1}, "tests": {"tf": 1.4142135623730951}}, "df": 9, "r": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}, "pydrex.logger.handler_level": {"tf": 2}, "pydrex.logger.exception": {"tf": 1}}, "df": 3, "s": {"docs": {"pydrex.cli": {"tf": 1.4142135623730951}, "tests.conftest.PytestConsoleLogger.__init__": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"tests.test_simple_shear_2d.TestOlivineA.test_GBM_calibration": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.utils.diff_like": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}, "tests.conftest.seeds_nearX45": {"tf": 1}}, "df": 6}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex": {"tf": 1}}, "df": 1}}}, "f": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}, "s": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1.4142135623730951}}, "df": 2}}, "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}, "pydrex.velocity.cell_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 5}}}}}}}}, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.velocity.simple_shear_2d": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"tests.test_corner_flow_2d.TestCornerOlivineA.test_prescribed": {"tf": 1}}, "df": 1}}}}, "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.geometry.misorientation_angles": {"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}}}, "w": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "w": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}}}}, ":": {"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}, "pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "h": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"pydrex.pathlines.get_pathline": {"tf": 1}}, "df": 1}}}}, "w": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}, "p": {"docs": {}, "df": 0, "c": {"docs": {"tests": {"tf": 1.4142135623730951}}, "df": 1}}}, "q": {"1": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1.7320508075688772}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}, "2": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1.7320508075688772}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"pydrex": {"tf": 6.48074069840786}, "pydrex.logger": {"tf": 5.656854249492381}, "pydrex.minerals.Mineral": {"tf": 1.4142135623730951}, "pydrex.velocity.simple_shear_2d": {"tf": 2}, "pydrex.velocity.cell_2d": {"tf": 2.8284271247461903}}, "df": 5}}, "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.geometry.symmetry_operations": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}}, "df": 2, "s": {"docs": {"pydrex.geometry.misorientation_angles": {"tf": 1.4142135623730951}, "pydrex.geometry.symmetry_operations": {"tf": 1.4142135623730951}}, "df": 2}}}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"pydrex.logger": {"tf": 1.4142135623730951}}, "df": 1}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "k": {"docs": {"tests": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.utils.default_ncpus": {"tf": 1}}, "df": 1}}}}}}}, "x": {"3": {"docs": {}, "df": 0, "x": {"3": {"docs": {"pydrex.core.derivatives": {"tf": 1}, "pydrex.stats.resample_orientations": {"tf": 1}}, "df": 2}, "docs": {}, "df": 0}}, "docs": {"pydrex": {"tf": 1.7320508075688772}, "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.utils.quat_product": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 2.23606797749979}, "pydrex.velocity.cell_2d": {"tf": 2.449489742783178}, "pydrex.velocity.corner_2d": {"tf": 2.449489742783178}, "pydrex.visualisation.pathline_box2d": {"tf": 1.4142135623730951}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "pydrex.visualisation.spin": {"tf": 1.4142135623730951}, "pydrex.visualisation.growth": {"tf": 1.4142135623730951}, "tests.conftest.seeds_nearX45": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"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_ortho": {"tf": 1}, "tests.test_diagnostics.TestMIndex.test_texture_spread45X_ortho": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 28, "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}}}}}, "z": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "y": {"docs": {}, "df": 0, "z": {"docs": {"pydrex.geometry.poles": {"tf": 1}}, "df": 1}}, "/": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "df": 1}}, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {}, "df": 0, "}": {"docs": {}, "df": 0, "+": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}}, "z": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 1}}}, "3": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}}}, "y": {"docs": {"pydrex": {"tf": 1.7320508075688772}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.geometry.lambert_equal_area": {"tf": 1}, "pydrex.geometry.shirley_concentric_squaredisk": {"tf": 3}, "pydrex.utils.extract_vars": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.4142135623730951}, "pydrex.velocity.cell_2d": {"tf": 2}, "pydrex.velocity.corner_2d": {"tf": 1.7320508075688772}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "pydrex.visualisation.alignment": {"tf": 1}, "pydrex.visualisation.strengths": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_ensemble": {"tf": 1}, "tests.test_simple_shear_2d.TestOlivineA.test_dvdx_GBM": {"tf": 1}, "tests.test_simple_shear_3d.TestFraters2021.test_direction_change": {"tf": 1}}, "df": 15, "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.read_scsv": {"tf": 1}, "pydrex.io.write_scsv_header": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"pydrex.logger.ConsoleFormatter.format": {"tf": 1}, "pydrex.velocity.corner_2d": {"tf": 1}}, "df": 2}}}}}, "x": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}}, "df": 1}, "z": {"docs": {"tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}}, "df": 1}}, "z": {"docs": {"pydrex": {"tf": 1.4142135623730951}, "pydrex.geometry.to_cartesian": {"tf": 1}, "pydrex.utils.quat_product": {"tf": 1}, "pydrex.velocity.simple_shear_2d": {"tf": 1.7320508075688772}, "pydrex.velocity.cell_2d": {"tf": 2}, "pydrex.velocity.corner_2d": {"tf": 2}, "pydrex.visualisation.pathline_box2d": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_inplane": {"tf": 1}, "tests.test_core.TestRecrystallisation2D.test_shear_dvdx_circle_shearplane": {"tf": 1}, "tests.test_diagnostics.TestBinghamStats.test_average_twopoles90Z": {"tf": 1}}, "df": 10, "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}}, "/": {"docs": {}, "df": 0, "d": {"docs": {"pydrex.velocity.cell_2d": {"tf": 1.4142135623730951}}, "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": {"pydrex.velocity.corner_2d": {"tf": 1}}, "df": 1}}}}}}}, "^": {"docs": {}, "df": 0, "{": {"2": {"docs": {"pydrex.velocity.corner_2d": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {"tests.test_simple_shear_3d.TestFraters2021.run": {"tf": 1}}, "df": 1}}}}}}}, "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_corner_flow_2d.html b/tests/test_corner_flow_2d.html index 9957694f..c5cd0fd6 100644 --- a/tests/test_corner_flow_2d.html +++ b/tests/test_corner_flow_2d.html @@ -147,15 +147,15 @@

    52 seed=seed, 53 ) 54 deformation_gradient = np.eye(3) - 55 timestamps_back, get_position = _path.get_pathline( + 55 timestamps, get_position = _path.get_pathline( 56 final_location, 57 get_velocity, 58 get_velocity_gradient, 59 min_coords, 60 max_coords, 61 max_strain, - 62 ) - 63 timestamps = np.linspace(timestamps_back[-1], timestamps_back[0], n_timesteps) + 62 regular_steps=n_timesteps, + 63 ) 64 positions = [get_position(t) for t in timestamps] 65 velocity_gradients = [get_velocity_gradient(np.asarray(x)) for x in positions] 66 strains = np.empty_like(timestamps) @@ -402,15 +402,15 @@

    53 seed=seed, 54 ) 55 deformation_gradient = np.eye(3) - 56 timestamps_back, get_position = _path.get_pathline( + 56 timestamps, get_position = _path.get_pathline( 57 final_location, 58 get_velocity, 59 get_velocity_gradient, 60 min_coords, 61 max_coords, 62 max_strain, - 63 ) - 64 timestamps = np.linspace(timestamps_back[-1], timestamps_back[0], n_timesteps) + 63 regular_steps=n_timesteps, + 64 ) 65 positions = [get_position(t) for t in timestamps] 66 velocity_gradients = [get_velocity_gradient(np.asarray(x)) for x in positions] 67 strains = np.empty_like(timestamps) @@ -656,15 +656,15 @@

    53 seed=seed, 54 ) 55 deformation_gradient = np.eye(3) -56 timestamps_back, get_position = _path.get_pathline( +56 timestamps, get_position = _path.get_pathline( 57 final_location, 58 get_velocity, 59 get_velocity_gradient, 60 min_coords, 61 max_coords, 62 max_strain, -63 ) -64 timestamps = np.linspace(timestamps_back[-1], timestamps_back[0], n_timesteps) +63 regular_steps=n_timesteps, +64 ) 65 positions = [get_position(t) for t in timestamps] 66 velocity_gradients = [get_velocity_gradient(np.asarray(x)) for x in positions] 67 strains = np.empty_like(timestamps) diff --git a/tests/test_simple_shear_2d.html b/tests/test_simple_shear_2d.html index a20d072f..4d3955f8 100644 --- a/tests/test_simple_shear_2d.html +++ b/tests/test_simple_shear_2d.html @@ -54,13 +54,19 @@

    API Documentation

    SUBDIR

  • - TestOlivineA + TestPreliminaries + +
  • +
  • + TestOlivineA +
  • @@ -132,697 +141,870 @@

    7 8import numpy as np 9import pytest - 10from numpy import testing as nt - 11from scipy.interpolate import PchipInterpolator - 12 - 13from pydrex import core as _core - 14from pydrex import diagnostics as _diagnostics - 15from pydrex import io as _io - 16from pydrex import logger as _log - 17from pydrex import minerals as _minerals - 18from pydrex import utils as _utils - 19from pydrex import velocity as _velocity - 20from pydrex import visualisation as _vis - 21 - 22# Subdirectory of `outdir` used to store outputs from these tests. - 23SUBDIR = "2d_simple_shear" - 24 + 10from numpy import asarray as Ŋ + 11from numpy import testing as nt + 12from scipy.interpolate import PchipInterpolator + 13 + 14from pydrex import core as _core + 15from pydrex import diagnostics as _diagnostics + 16from pydrex import geometry as _geo + 17from pydrex import io as _io + 18from pydrex import logger as _log + 19from pydrex import minerals as _minerals + 20from pydrex import pathlines as _paths + 21from pydrex import stats as _stats + 22from pydrex import utils as _utils + 23from pydrex import velocity as _velocity + 24from pydrex import visualisation as _vis 25 - 26class TestOlivineA: - 27 """Tests for stationary A-type olivine polycrystals in 2D simple shear.""" + 26# Subdirectory of `outdir` used to store outputs from these tests. + 27SUBDIR = "2d_simple_shear" 28 - 29 class_id = "olivineA" - 30 - 31 @classmethod - 32 def get_position(cls, t): - 33 return np.zeros(3) # These crystals are stationary. - 34 - 35 @classmethod - 36 def run( - 37 cls, - 38 params, - 39 timestamps, - 40 strain_rate, - 41 get_velocity_gradient, - 42 shear_direction, - 43 seed=None, - 44 return_fse=None, - 45 ): - 46 """Reusable logic for 2D olivine (A-type) simple shear tests. - 47 - 48 Returns a tuple with the mineral and the FSE angle (or `None` if `return_fse` is - 49 `None`). - 50 - 51 """ - 52 mineral = _minerals.Mineral( - 53 phase=_core.MineralPhase.olivine, - 54 fabric=_core.MineralFabric.olivine_A, - 55 regime=_core.DeformationRegime.dislocation, - 56 n_grains=params["number_of_grains"], - 57 seed=seed, - 58 ) - 59 deformation_gradient = np.eye(3) # Undeformed initial state. - 60 θ_fse = np.empty_like(timestamps) - 61 θ_fse[0] = 45 - 62 - 63 for t, time in enumerate(timestamps[:-1], start=1): - 64 # Set up logging message depending on dynamic parameter and seeds. - 65 msg_start = ( - 66 f"N = {params['number_of_grains']}; " - 67 + f"λ∗ = {params['nucleation_efficiency']}; " - 68 + f"X = {params['gbs_threshold']}; " - 69 + f"M∗ = {params['gbm_mobility']}; " - 70 ) - 71 if seed is not None: - 72 msg_start += f"# {seed}; " + 29 + 30class TestPreliminaries: + 31 """Preliminary tests to check that various auxiliary routines are working.""" + 32 + 33 def test_strain_increment(self): + 34 """Test for accumulating strain via strain increment calculations.""" + 35 _, get_velocity_gradient = _velocity.simple_shear_2d("X", "Z", 1) + 36 timestamps = np.linspace(0, 1, 10) # Solve until D₀t=1 (tensorial strain). + 37 strains_inc = np.zeros_like(timestamps) + 38 L = get_velocity_gradient(Ŋ([0e0, 0e0, 0e0])) + 39 for i, ε in enumerate(strains_inc[1:]): + 40 strains_inc[i + 1] = strains_inc[i] + _utils.strain_increment( + 41 timestamps[1] - timestamps[0], + 42 L, + 43 ) + 44 # For constant timesteps, check strains == positive_timestamps * strain_rate. + 45 nt.assert_allclose(strains_inc, timestamps, atol=6e-16, rtol=0) + 46 + 47 # Same thing, but for strain rate similar to experiments. + 48 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", 1e-5) + 49 timestamps = np.linspace(0, 1e6, 10) # Solve until D₀t=10 (tensorial strain). + 50 strains_inc = np.zeros_like(timestamps) + 51 L = get_velocity_gradient(Ŋ([0e0, 0e0, 0e0])) + 52 for i, ε in enumerate(strains_inc[1:]): + 53 strains_inc[i + 1] = strains_inc[i] + _utils.strain_increment( + 54 timestamps[1] - timestamps[0], + 55 L, + 56 ) + 57 nt.assert_allclose(strains_inc, timestamps * 1e-5, atol=5e-15, rtol=0) + 58 + 59 # Again, but this time the particle will move (using get_pathline). + 60 # We use a 400km x 400km box and a strain rate of 1e-15 s⁻¹. + 61 get_velocity, get_velocity_gradient = _velocity.simple_shear_2d("X", "Z", 1e-15) + 62 timestamps, get_position = _paths.get_pathline( + 63 Ŋ([1e5, 0e0, 1e5]), + 64 get_velocity, + 65 get_velocity_gradient, + 66 Ŋ([-2e5, 0e0, -2e5]), + 67 Ŋ([2e5, 0e0, 2e5]), + 68 2, + 69 regular_steps=10, + 70 ) + 71 positions = [get_position(t) for t in timestamps] + 72 velocity_gradients = [get_velocity_gradient(Ŋ(x)) for x in positions] 73 - 74 _log.info(msg_start + "step %s/%s (t = %s)", t, len(timestamps) - 1, time) - 75 - 76 deformation_gradient = mineral.update_orientations( - 77 params, - 78 deformation_gradient, - 79 get_velocity_gradient, - 80 pathline=(time, timestamps[t], cls.get_position), - 81 ) - 82 _log.debug( - 83 "› velocity gradient = %s", - 84 get_velocity_gradient(None).flatten(), - 85 ) - 86 _log.debug("› strain D₀t = %.2f", strain_rate * timestamps[t]) - 87 _log.debug( - 88 "› grain fractions: median = %s, max = %s, min = %s", - 89 np.median(mineral.fractions[-1]), - 90 np.max(mineral.fractions[-1]), - 91 np.min(mineral.fractions[-1]), - 92 ) - 93 if return_fse: - 94 _, fse_v = _diagnostics.finite_strain(deformation_gradient) - 95 θ_fse[t] = _diagnostics.smallest_angle(fse_v, shear_direction) - 96 else: - 97 θ_fse = None - 98 - 99 return mineral, θ_fse -100 -101 @classmethod -102 def interp_GBM_Kaminski2001(cls, strains): -103 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" -104 _log.info("interpolating target CPO angles...") -105 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv") -106 cs_M0 = PchipInterpolator( -107 _utils.remove_nans(data.equivalent_strain_M0) / 200, -108 _utils.remove_nans(data.angle_M0), -109 ) -110 cs_M50 = PchipInterpolator( -111 _utils.remove_nans(data.equivalent_strain_M50) / 200, -112 _utils.remove_nans(data.angle_M50), -113 ) -114 cs_M200 = PchipInterpolator( -115 _utils.remove_nans(data.equivalent_strain_M200) / 200, -116 _utils.remove_nans(data.angle_M200), -117 ) -118 return [cs_M0(strains), cs_M50(strains), cs_M200(strains)] -119 -120 @classmethod -121 def interp_GBM_FortranDRex(cls, strains): -122 """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.""" -123 _log.info("interpolating target CPO angles...") -124 data = _io.read_scsv(_io.data("drexF90") / "olA_D1E4_dt50_X0_L5.scsv") -125 data_strains = np.linspace(0, 1, 200) -126 cs_M0 = PchipInterpolator(data_strains, _utils.remove_nans(data.M0_angle)) -127 cs_M50 = PchipInterpolator(data_strains, _utils.remove_nans(data.M50_angle)) -128 cs_M200 = PchipInterpolator(data_strains, _utils.remove_nans(data.M200_angle)) -129 return [cs_M0(strains), cs_M50(strains), cs_M200(strains)] -130 -131 @classmethod -132 def interp_GBS_FortranDRex(cls, strains): -133 """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.""" -134 _log.info("interpolating target CPO angles...") -135 data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_fortran.scsv") -136 data_strains = np.linspace(0, 1, 200) -137 cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0)) -138 cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20)) -139 cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40)) -140 return [cs_X0(strains), cs_X20(strains), cs_X40(strains)] -141 -142 @classmethod -143 def interp_GBS_long_FortranDRex(cls, strains): -144 """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.""" -145 _log.info("interpolating target CPO angles...") -146 data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_long_fortran.scsv") -147 data_strains = np.linspace(0, 2.5, 500) -148 cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0)) -149 cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20)) -150 cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40)) -151 return [cs_X0(strains), cs_X20(strains), cs_X40(strains)] -152 -153 @classmethod -154 def interp_GBS_Kaminski2004(cls, strains): -155 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" -156 _log.info("interpolating target CPO angles...") -157 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv") -158 cs_X0 = PchipInterpolator( -159 _utils.remove_nans(data.dimensionless_time_X0), -160 45 + _utils.remove_nans(data.angle_X0), -161 ) -162 cs_X0d2 = PchipInterpolator( -163 _utils.remove_nans(data.dimensionless_time_X0d2), -164 45 + _utils.remove_nans(data.angle_X0d2), -165 ) -166 cs_X0d4 = PchipInterpolator( -167 _utils.remove_nans(data.dimensionless_time_X0d4), -168 45 + _utils.remove_nans(data.angle_X0d4), -169 ) -170 return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)] -171 -172 def test_zero_recrystallisation(self, seed): -173 """Check that M*=0 is a reliable switch to turn off recrystallisation.""" -174 params = _io.DEFAULT_PARAMS -175 params["gbm_mobility"] = 0 -176 strain_rate = 1 -177 timestamps = np.linspace(0, 1, 25) # Solve until D₀t=1 (tensorial strain). -178 shear_direction = [0, 1, 0] -179 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate) -180 mineral, _ = self.run( -181 params, -182 timestamps, -183 strain_rate, -184 get_velocity_gradient, -185 shear_direction, -186 seed=seed, -187 ) -188 for fractions in mineral.fractions[1:]: -189 nt.assert_allclose(fractions, mineral.fractions[0], atol=1e-15, rtol=0) -190 -191 @pytest.mark.parametrize("gbm_mobility", [50, 100, 150]) -192 def test_grainsize_median(self, seed, gbm_mobility): -193 """Check that M*={50,100,150}, λ*=5 causes decreasing grain size median.""" -194 params = _io.DEFAULT_PARAMS -195 params["gbm_mobility"] = gbm_mobility -196 params["nucleation_efficiency"] = 5 -197 strain_rate = 1 -198 timestamps = np.linspace(0, 1, 25) # Solve until D₀t=1 (tensorial strain). -199 n_timestamps = len(timestamps) -200 shear_direction = [0, 1, 0] -201 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate) -202 mineral, _ = self.run( -203 params, -204 timestamps, -205 strain_rate, -206 get_velocity_gradient, -207 shear_direction, -208 seed=seed, -209 ) -210 medians = np.empty(n_timestamps) -211 for i, fractions in enumerate(mineral.fractions): -212 medians[i] = np.median(fractions) -213 -214 # The first diff is positive (~1e-6) before nucleation sets in. -215 nt.assert_array_less(np.diff(medians)[1:], np.full(n_timestamps - 2, 0)) -216 -217 @pytest.mark.slow -218 @pytest.mark.parametrize("gbs_threshold", [0, 0.2, 0.4]) -219 @pytest.mark.parametrize("nucleation_efficiency", [3, 5, 10]) -220 def test_dvdx_ensemble( -221 self, outdir, seeds_nearX45, ncpus, gbs_threshold, nucleation_efficiency -222 ): -223 r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X). -224 -225 Velocity gradient: -226 $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$ -227 -228 """ -229 strain_rate = 1 -230 timestamps = np.linspace(0, 1, 201) # Solve until D₀t=1 ('shear' γ=2). -231 n_timestamps = len(timestamps) -232 # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time. -233 _seeds = seeds_nearX45 -234 n_seeds = len(_seeds) -235 -236 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. -237 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate) -238 -239 gbm_mobilities = [0, 50, 125, 200] -240 markers = ("x", "*", "d", "s") -241 -242 _id = f"X{_io.stringify(gbs_threshold)}_L{_io.stringify(nucleation_efficiency)}" -243 # Output setup with optional logging and data series labels. -244 θ_fse = np.empty_like(timestamps) -245 angles = np.empty((len(gbm_mobilities), n_seeds, n_timestamps)) -246 optional_logging = cl.nullcontext() -247 if outdir is not None: -248 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_ensemble_{_id}" -249 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -250 labels = [] -251 -252 with optional_logging: -253 clock_start = process_time() -254 for m, gbm_mobility in enumerate(gbm_mobilities): -255 if m == 0: -256 return_fse = True -257 else: -258 return_fse = False -259 -260 params = { -261 "olivine_fraction": 1.0, -262 "enstatite_fraction": 0.0, -263 "stress_exponent": 1.5, -264 "deformation_exponent": 3.5, -265 "gbm_mobility": gbm_mobility, -266 "gbs_threshold": gbs_threshold, -267 "nucleation_efficiency": nucleation_efficiency, -268 "number_of_grains": 5000, -269 "initial_olivine_fabric": "A", -270 } + 74 # Check that polycrystal is experiencing steady velocity gradient. + 75 nt.assert_array_equal( + 76 velocity_gradients, np.full_like(velocity_gradients, velocity_gradients[0]) + 77 ) + 78 # Check that positions are changing as expected. + 79 xdiff = np.diff(Ŋ([x[0] for x in positions])) + 80 zdiff = np.diff(Ŋ([x[2] for x in positions])) + 81 assert xdiff[0] > 0 + 82 assert zdiff[0] == 0 + 83 nt.assert_allclose(xdiff, np.full_like(xdiff, xdiff[0]), rtol=0, atol=1e-10) + 84 nt.assert_allclose(zdiff, np.full_like(zdiff, zdiff[0]), rtol=0, atol=1e-10) + 85 strains_inc = np.zeros_like(timestamps) + 86 for t, time in enumerate(timestamps[:-1], start=1): + 87 strains_inc[t] = strains_inc[t - 1] + ( + 88 _utils.strain_increment(timestamps[t] - time, velocity_gradients[t]) + 89 ) + 90 # fig, ax, _, _ = _vis.pathline_box2d( + 91 # None, + 92 # get_velocity, + 93 # "xz", + 94 # strains_inc, + 95 # positions, + 96 # ".", + 97 # Ŋ([-2e5, -2e5]), + 98 # Ŋ([2e5, 2e5]), + 99 # [20, 20], +100 # ) +101 # fig.savefig("/tmp/fig.png") +102 nt.assert_allclose( +103 strains_inc, +104 (timestamps - timestamps[0]) * 1e-15, +105 atol=5e-15, +106 rtol=0, +107 ) +108 +109 +110class TestOlivineA: +111 """Tests for stationary A-type olivine polycrystals in 2D simple shear.""" +112 +113 class_id = "olivineA" +114 +115 @classmethod +116 def run( +117 cls, +118 params, +119 timestamps, +120 strain_rate, +121 get_velocity_gradient, +122 shear_direction, +123 seed=None, +124 return_fse=None, +125 get_position=lambda t: np.zeros(3), # Stationary particles by default. +126 ): +127 """Reusable logic for 2D olivine (A-type) simple shear tests. +128 +129 Returns a tuple with the mineral and the FSE angle (or `None` if `return_fse` is +130 `None`). +131 +132 """ +133 mineral = _minerals.Mineral( +134 phase=_core.MineralPhase.olivine, +135 fabric=_core.MineralFabric.olivine_A, +136 regime=_core.DeformationRegime.dislocation, +137 n_grains=params["number_of_grains"], +138 seed=seed, +139 ) +140 deformation_gradient = np.eye(3) # Undeformed initial state. +141 θ_fse = np.empty_like(timestamps) +142 θ_fse[0] = 45 +143 +144 for t, time in enumerate(timestamps[:-1], start=1): +145 # Set up logging message depending on dynamic parameter and seeds. +146 msg_start = ( +147 f"N = {params['number_of_grains']}; " +148 + f"λ∗ = {params['nucleation_efficiency']}; " +149 + f"X = {params['gbs_threshold']}; " +150 + f"M∗ = {params['gbm_mobility']}; " +151 ) +152 if seed is not None: +153 msg_start += f"# {seed}; " +154 +155 _log.info(msg_start + "step %s/%s (t = %s)", t, len(timestamps) - 1, time) +156 +157 deformation_gradient = mineral.update_orientations( +158 params, +159 deformation_gradient, +160 get_velocity_gradient, +161 pathline=(time, timestamps[t], get_position), +162 ) +163 _log.debug( +164 "› velocity gradient = %s", +165 get_velocity_gradient(None).flatten(), +166 ) +167 _log.debug("› strain D₀t = %.2f", strain_rate * timestamps[t]) +168 _log.debug( +169 "› grain fractions: median = %s, max = %s, min = %s", +170 np.median(mineral.fractions[-1]), +171 np.max(mineral.fractions[-1]), +172 np.min(mineral.fractions[-1]), +173 ) +174 if return_fse: +175 _, fse_v = _diagnostics.finite_strain(deformation_gradient) +176 θ_fse[t] = _diagnostics.smallest_angle(fse_v, shear_direction) +177 else: +178 θ_fse = None +179 +180 return mineral, θ_fse +181 +182 @classmethod +183 def interp_GBM_Kaminski2001(cls, strains): +184 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" +185 _log.info("interpolating target CPO angles...") +186 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv") +187 cs_M0 = PchipInterpolator( +188 _utils.remove_nans(data.equivalent_strain_M0) / 200, +189 _utils.remove_nans(data.angle_M0), +190 ) +191 cs_M50 = PchipInterpolator( +192 _utils.remove_nans(data.equivalent_strain_M50) / 200, +193 _utils.remove_nans(data.angle_M50), +194 ) +195 cs_M200 = PchipInterpolator( +196 _utils.remove_nans(data.equivalent_strain_M200) / 200, +197 _utils.remove_nans(data.angle_M200), +198 ) +199 return [cs_M0(strains), cs_M50(strains), cs_M200(strains)] +200 +201 @classmethod +202 def interp_GBM_FortranDRex(cls, strains): +203 """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.""" +204 _log.info("interpolating target CPO angles...") +205 data = _io.read_scsv(_io.data("drexF90") / "olA_D1E4_dt50_X0_L5.scsv") +206 data_strains = np.linspace(0, 1, 200) +207 cs_M0 = PchipInterpolator(data_strains, _utils.remove_nans(data.M0_angle)) +208 cs_M50 = PchipInterpolator(data_strains, _utils.remove_nans(data.M50_angle)) +209 cs_M200 = PchipInterpolator(data_strains, _utils.remove_nans(data.M200_angle)) +210 return [cs_M0(strains), cs_M50(strains), cs_M200(strains)] +211 +212 @classmethod +213 def interp_GBS_FortranDRex(cls, strains): +214 """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.""" +215 _log.info("interpolating target CPO angles...") +216 data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_fortran.scsv") +217 data_strains = np.linspace(0, 1, 200) +218 cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0)) +219 cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20)) +220 cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40)) +221 return [cs_X0(strains), cs_X20(strains), cs_X40(strains)] +222 +223 @classmethod +224 def interp_GBS_long_FortranDRex(cls, strains): +225 """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'.""" +226 _log.info("interpolating target CPO angles...") +227 data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_long_fortran.scsv") +228 data_strains = np.linspace(0, 2.5, 500) +229 cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0)) +230 cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20)) +231 cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40)) +232 return [cs_X0(strains), cs_X20(strains), cs_X40(strains)] +233 +234 @classmethod +235 def interp_GBS_Kaminski2004(cls, strains): +236 """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`.""" +237 _log.info("interpolating target CPO angles...") +238 data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv") +239 cs_X0 = PchipInterpolator( +240 _utils.remove_nans(data.dimensionless_time_X0), +241 45 + _utils.remove_nans(data.angle_X0), +242 ) +243 cs_X0d2 = PchipInterpolator( +244 _utils.remove_nans(data.dimensionless_time_X0d2), +245 45 + _utils.remove_nans(data.angle_X0d2), +246 ) +247 cs_X0d4 = PchipInterpolator( +248 _utils.remove_nans(data.dimensionless_time_X0d4), +249 45 + _utils.remove_nans(data.angle_X0d4), +250 ) +251 return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)] +252 +253 def test_zero_recrystallisation(self, seed): +254 """Check that M*=0 is a reliable switch to turn off recrystallisation.""" +255 params = _io.DEFAULT_PARAMS +256 params["gbm_mobility"] = 0 +257 strain_rate = 1 +258 timestamps = np.linspace(0, 1, 25) # Solve until D₀t=1 (tensorial strain). +259 shear_direction = [0, 1, 0] +260 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate) +261 mineral, _ = self.run( +262 params, +263 timestamps, +264 strain_rate, +265 get_velocity_gradient, +266 shear_direction, +267 seed=seed, +268 ) +269 for fractions in mineral.fractions[1:]: +270 nt.assert_allclose(fractions, mineral.fractions[0], atol=1e-15, rtol=0) 271 -272 _run = ft.partial( -273 self.run, -274 params, -275 timestamps, -276 strain_rate, -277 get_velocity_gradient, -278 shear_direction, -279 return_fse=return_fse, -280 ) -281 with Pool(processes=ncpus) as pool: -282 for s, out in enumerate(pool.imap_unordered(_run, _seeds)): -283 mineral, fse_angles = out -284 angles[m, s, :] = [ -285 _diagnostics.smallest_angle(v, shear_direction) -286 for v in _diagnostics.elasticity_components( -287 _minerals.voigt_averages([mineral], params) -288 )["hexagonal_axis"] -289 ] -290 # Save the whole mineral for the first seed only. -291 if outdir is not None and s == 0: -292 postfix = ( -293 f"M{_io.stringify(gbm_mobility)}" -294 + f"_X{_io.stringify(gbs_threshold)}" -295 + f"_L{_io.stringify(nucleation_efficiency)}" -296 ) -297 mineral.save(f"{out_basepath}.npz", postfix=postfix) -298 if return_fse: -299 θ_fse += fse_angles -300 -301 if return_fse: -302 θ_fse /= n_seeds -303 -304 if outdir is not None: -305 labels.append(f"$M^∗$ = {gbm_mobility}") -306 -307 _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start)) +272 @pytest.mark.parametrize("gbm_mobility", [50, 100, 150]) +273 def test_grainsize_median(self, seed, gbm_mobility): +274 """Check that M*={50,100,150}, λ*=5 causes decreasing grain size median.""" +275 params = _io.DEFAULT_PARAMS +276 params["gbm_mobility"] = gbm_mobility +277 params["nucleation_efficiency"] = 5 +278 strain_rate = 1 +279 timestamps = np.linspace(0, 1, 25) # Solve until D₀t=1 (tensorial strain). +280 n_timestamps = len(timestamps) +281 shear_direction = [0, 1, 0] +282 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate) +283 mineral, _ = self.run( +284 params, +285 timestamps, +286 strain_rate, +287 get_velocity_gradient, +288 shear_direction, +289 seed=seed, +290 ) +291 medians = np.empty(n_timestamps) +292 for i, fractions in enumerate(mineral.fractions): +293 medians[i] = np.median(fractions) +294 +295 # The first diff is positive (~1e-6) before nucleation sets in. +296 nt.assert_array_less(np.diff(medians)[1:], np.full(n_timestamps - 2, 0)) +297 +298 @pytest.mark.slow +299 @pytest.mark.parametrize("gbs_threshold", [0, 0.2, 0.4]) +300 @pytest.mark.parametrize("nucleation_efficiency", [3, 5, 10]) +301 def test_dvdx_ensemble( +302 self, outdir, seeds_nearX45, ncpus, gbs_threshold, nucleation_efficiency +303 ): +304 r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X). +305 +306 Velocity gradient: +307 $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$ 308 -309 # Take ensemble means and optionally plot figure. -310 strains = timestamps * strain_rate -311 _log.info("postprocessing results for %s", _id) -312 result_angles = angles.mean(axis=1) -313 result_angles_err = angles.std(axis=1) -314 -315 if outdir is not None: -316 schema = { -317 "delimiter": ",", -318 "missing": "-", -319 "fields": [ -320 { -321 "name": "strain", -322 "type": "integer", -323 "unit": "percent", -324 "fill": 999999, -325 } -326 ], -327 } -328 np.savez( -329 f"{out_basepath}.npz", -330 angles=result_angles, -331 angles_err=result_angles_err, -332 ) -333 _io.save_scsv( -334 f"{out_basepath}_strains.scsv", -335 schema, -336 [[int(D * 200) for D in strains]], # Shear strain % is 200 * D₀. -337 ) -338 fig, ax, colors = _vis.alignment( -339 None, -340 strains, -341 result_angles, -342 markers, -343 labels, -344 err=result_angles_err, -345 θ_max=60, -346 θ_fse=θ_fse, -347 ) -348 fig.savefig(_io.resolve_path(f"{out_basepath}.pdf")) -349 -350 @pytest.mark.slow -351 def test_dvdx_GBM(self, outdir, seeds_nearX45, ncpus): -352 r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X). -353 -354 Velocity gradient: -355 $$ -356 \bm{L} = 10^{-4} × -357 \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix} -358 $$ -359 -360 Results are compared to the Fortran 90 output. -361 -362 """ -363 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. -364 strain_rate = 1e-4 -365 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate) -366 timestamps = np.linspace(0, 1e4, 51) # Solve until D₀t=1 ('shear' γ=2). -367 i_strain_40p = 10 # Index of 40% strain, lower strains are not relevant here. -368 i_strain_100p = 25 # Index of 100% strain, when M*=0 matches FSE. -369 params = _io.DEFAULT_PARAMS -370 params["gbs_threshold"] = 0 # No GBS, to match the Fortran parameters. -371 gbm_mobilities = (0, 10, 50, 125, 200) # Must be in ascending order. -372 markers = ("x", ".", "*", "d", "s") -373 # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time. -374 _seeds = seeds_nearX45 -375 n_seeds = len(_seeds) -376 angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps))) -377 θ_fse = np.zeros_like(timestamps) -378 strains = timestamps * strain_rate -379 M0_drexF90, M50_drexF90, M200_drexF90 = self.interp_GBM_FortranDRex(strains) -380 -381 optional_logging = cl.nullcontext() -382 if outdir is not None: -383 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility" -384 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -385 labels = [] -386 -387 with optional_logging: -388 clock_start = process_time() -389 for m, gbm_mobility in enumerate(gbm_mobilities): -390 if m == 0: -391 return_fse = True -392 else: -393 return_fse = False -394 params["gbm_mobility"] = gbm_mobility +309 """ +310 strain_rate = 1 +311 timestamps = np.linspace(0, 1, 201) # Solve until D₀t=1 ('shear' γ=2). +312 n_timestamps = len(timestamps) +313 # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time. +314 _seeds = seeds_nearX45 +315 n_seeds = len(_seeds) +316 +317 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. +318 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate) +319 +320 gbm_mobilities = [0, 50, 125, 200] +321 markers = ("x", "*", "d", "s") +322 +323 _id = f"X{_io.stringify(gbs_threshold)}_L{_io.stringify(nucleation_efficiency)}" +324 # Output setup with optional logging and data series labels. +325 θ_fse = np.empty_like(timestamps) +326 angles = np.empty((len(gbm_mobilities), n_seeds, n_timestamps)) +327 optional_logging = cl.nullcontext() +328 if outdir is not None: +329 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_ensemble_{_id}" +330 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +331 labels = [] +332 +333 with optional_logging: +334 clock_start = process_time() +335 for m, gbm_mobility in enumerate(gbm_mobilities): +336 if m == 0: +337 return_fse = True +338 else: +339 return_fse = False +340 +341 params = { +342 "olivine_fraction": 1.0, +343 "enstatite_fraction": 0.0, +344 "stress_exponent": 1.5, +345 "deformation_exponent": 3.5, +346 "gbm_mobility": gbm_mobility, +347 "gbs_threshold": gbs_threshold, +348 "nucleation_efficiency": nucleation_efficiency, +349 "number_of_grains": 5000, +350 "initial_olivine_fabric": "A", +351 } +352 +353 _run = ft.partial( +354 self.run, +355 params, +356 timestamps, +357 strain_rate, +358 get_velocity_gradient, +359 shear_direction, +360 return_fse=return_fse, +361 ) +362 with Pool(processes=ncpus) as pool: +363 for s, out in enumerate(pool.imap_unordered(_run, _seeds)): +364 mineral, fse_angles = out +365 angles[m, s, :] = [ +366 _diagnostics.smallest_angle(v, shear_direction) +367 for v in _diagnostics.elasticity_components( +368 _minerals.voigt_averages([mineral], params) +369 )["hexagonal_axis"] +370 ] +371 # Save the whole mineral for the first seed only. +372 if outdir is not None and s == 0: +373 postfix = ( +374 f"M{_io.stringify(gbm_mobility)}" +375 + f"_X{_io.stringify(gbs_threshold)}" +376 + f"_L{_io.stringify(nucleation_efficiency)}" +377 ) +378 mineral.save(f"{out_basepath}.npz", postfix=postfix) +379 if return_fse: +380 θ_fse += fse_angles +381 +382 if return_fse: +383 θ_fse /= n_seeds +384 +385 if outdir is not None: +386 labels.append(f"$M^∗$ = {gbm_mobility}") +387 +388 _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start)) +389 +390 # Take ensemble means and optionally plot figure. +391 strains = timestamps * strain_rate +392 _log.info("postprocessing results for %s", _id) +393 result_angles = angles.mean(axis=1) +394 result_angles_err = angles.std(axis=1) 395 -396 _run = ft.partial( -397 self.run, -398 params, -399 timestamps, -400 strain_rate, -401 get_velocity_gradient, -402 shear_direction, -403 return_fse=True, -404 ) -405 with Pool(processes=ncpus) as pool: -406 for s, out in enumerate(pool.imap_unordered(_run, _seeds)): -407 mineral, fse_angles = out -408 angles[m, s, :] = [ -409 _diagnostics.smallest_angle(v, shear_direction) -410 for v in _diagnostics.elasticity_components( -411 _minerals.voigt_averages([mineral], params) -412 )["hexagonal_axis"] -413 ] -414 # Save the whole mineral for the first seed only. -415 if outdir is not None and s == 0: -416 mineral.save( -417 f"{out_basepath}.npz", -418 postfix=f"M{_io.stringify(gbm_mobility)}", -419 ) -420 if return_fse: -421 θ_fse += fse_angles -422 -423 if return_fse: -424 θ_fse /= n_seeds -425 -426 if outdir is not None: -427 labels.append(f"$M^∗$ = {params['gbm_mobility']}") -428 -429 _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start)) +396 if outdir is not None: +397 schema = { +398 "delimiter": ",", +399 "missing": "-", +400 "fields": [ +401 { +402 "name": "strain", +403 "type": "integer", +404 "unit": "percent", +405 "fill": 999999, +406 } +407 ], +408 } +409 np.savez( +410 f"{out_basepath}.npz", +411 angles=result_angles, +412 angles_err=result_angles_err, +413 ) +414 _io.save_scsv( +415 f"{out_basepath}_strains.scsv", +416 schema, +417 [[int(D * 200) for D in strains]], # Shear strain % is 200 * D₀. +418 ) +419 fig, ax, colors = _vis.alignment( +420 None, +421 strains, +422 result_angles, +423 markers, +424 labels, +425 err=result_angles_err, +426 θ_max=60, +427 θ_fse=θ_fse, +428 ) +429 fig.savefig(_io.resolve_path(f"{out_basepath}.pdf")) 430 -431 # Take ensemble means and optionally plot figure. -432 _log.info("postprocessing results...") -433 result_angles = angles.mean(axis=1) -434 result_angles_err = angles.std(axis=1) -435 -436 if outdir is not None: -437 schema = { -438 "delimiter": ",", -439 "missing": "-", -440 "fields": [ -441 { -442 "name": "strain", -443 "type": "integer", -444 "unit": "percent", -445 "fill": 999999, -446 } -447 ], -448 } -449 _io.save_scsv( -450 f"{out_basepath}_strains.scsv", -451 schema, -452 [[int(D * 200) for D in strains]], # Shear strain % is 200 * D₀. -453 ) -454 np.savez( -455 f"{out_basepath}_angles.npz", -456 angles=result_angles, -457 err=result_angles_err, -458 ) -459 fig, ax, colors = _vis.alignment( -460 None, -461 strains, -462 result_angles, -463 markers, -464 labels, -465 err=result_angles_err, -466 θ_max=60, -467 θ_fse=θ_fse, -468 ) -469 ax.plot(strains, M0_drexF90, c=colors[0]) -470 ax.plot(strains, M50_drexF90, c=colors[2]) -471 ax.plot(strains, M200_drexF90, c=colors[4]) -472 _vis.show_Skemer2016_ShearStrainAngles( -473 ax, -474 ["Z&K 1200 C", "Z&K 1300 C"], -475 ["v", "^"], -476 ["k", "k"], -477 ["none", None], -478 [ -479 "Zhang & Karato, 1995\n(1473 K)", -480 "Zhang & Karato, 1995\n(1573 K)", -481 ], -482 _core.MineralFabric.olivine_A, -483 ) -484 # There is a lot of stuff on this legend, so put it outside the axes. -485 # These values might need to be tweaked depending on the font size, etc. -486 _legend = _utils.redraw_legend(ax, fig=fig, bbox_to_anchor=(1.66, 0.99)) -487 fig.savefig( -488 _io.resolve_path(f"{out_basepath}.pdf"), -489 bbox_extra_artists=(_legend,), -490 bbox_inches="tight", -491 ) -492 -493 # Check that GBM speeds up the alignment between 40% and 100% strain. -494 _log.info("checking grain orientations...") -495 for i, θ in enumerate(result_angles[:-1], start=1): -496 nt.assert_array_less( -497 result_angles[i][i_strain_40p:i_strain_100p], -498 θ[i_strain_40p:i_strain_100p], -499 ) -500 -501 # Check that M*=0 matches FSE (±1°) past 100% strain. -502 nt.assert_allclose( -503 result_angles[0][i_strain_100p:], -504 θ_fse[i_strain_100p:], -505 atol=1, -506 rtol=0, -507 ) -508 -509 # Check that results match Fortran output past 40% strain. -510 nt.assert_allclose( -511 result_angles[0][i_strain_40p:], -512 M0_drexF90[i_strain_40p:], -513 atol=0, -514 rtol=0.1, # At 40% strain the match is worse than at higher strain. -515 ) -516 nt.assert_allclose( -517 result_angles[2][i_strain_40p:], -518 M50_drexF90[i_strain_40p:], -519 atol=1, -520 rtol=0, -521 ) -522 nt.assert_allclose( -523 result_angles[4][i_strain_40p:], -524 M200_drexF90[i_strain_40p:], -525 atol=1.5, -526 rtol=0, -527 ) -528 -529 @pytest.mark.slow -530 def test_GBM_calibration(self, outdir, seeds, ncpus): -531 r"""Compare results for various values of $$M^∗$$ to A-type olivine data. -532 -533 Velocity gradient: -534 $$ -535 \bm{L} = 10^{-4} × -536 \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix} -537 $$ -538 -539 Unlike `test_dvdx_GBM`, -540 grain boudary sliding is enabled here (see `_io.DEFAULT_PARAMS`). -541 Data are provided by [Skemer & Hansen, 2016](http://dx.doi.org/10.1016/j.tecto.2015.12.003). -542 -543 """ -544 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. -545 strain_rate = 1 -546 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate) -547 timestamps = np.linspace(0, 3.2, 65) # Solve until D₀t=3.2 ('shear' γ=6.4). -548 params = _io.DEFAULT_PARAMS -549 params["number_of_grains"] = 5000 -550 gbm_mobilities = (0, 10, 50, 125) # Must be in ascending order. -551 markers = ("x", "*", "1", ".") -552 # Uses 100 seeds by default; use all 1000 if you have more RAM and CPU time. -553 _seeds = seeds[:100] -554 n_seeds = len(_seeds) -555 angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps))) -556 θ_fse = np.zeros_like(timestamps) -557 strains = timestamps * strain_rate -558 -559 optional_logging = cl.nullcontext() -560 if outdir is not None: -561 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_calibration" -562 optional_logging = _log.logfile_enable(f"{out_basepath}.log") -563 labels = [] -564 -565 with optional_logging: -566 clock_start = process_time() -567 for m, gbm_mobility in enumerate(gbm_mobilities): -568 return_fse = True if m == 0 else False -569 params["gbm_mobility"] = gbm_mobility -570 _run = ft.partial( -571 self.run, -572 params, -573 timestamps, -574 strain_rate, -575 get_velocity_gradient, -576 shear_direction, -577 return_fse=return_fse, -578 ) -579 with Pool(processes=ncpus) as pool: -580 for s, out in enumerate(pool.imap_unordered(_run, _seeds)): -581 mineral, fse_angles = out -582 angles[m, s, :] = [ -583 _diagnostics.smallest_angle(v, shear_direction) -584 for v in _diagnostics.elasticity_components( -585 _minerals.voigt_averages([mineral], params) -586 )["hexagonal_axis"] -587 ] -588 # Save the whole mineral for the first seed only. -589 if outdir is not None and s == 0: -590 mineral.save( -591 f"{out_basepath}.npz", -592 postfix=f"M{_io.stringify(gbm_mobility)}", -593 ) -594 if return_fse: -595 θ_fse += fse_angles -596 -597 if return_fse: -598 θ_fse /= n_seeds -599 -600 if outdir is not None: -601 labels.append(f"$M^∗$ = {params['gbm_mobility']}") -602 -603 _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start)) -604 -605 # Take ensemble means and optionally plot figure. -606 _log.info("postprocessing results...") -607 result_angles = angles.mean(axis=1) -608 result_angles_err = angles.std(axis=1) +431 @pytest.mark.slow +432 def test_dvdx_GBM(self, outdir, seeds_nearX45, ncpus): +433 r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X). +434 +435 Velocity gradient: +436 $$ +437 \bm{L} = 10^{-4} × +438 \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix} +439 $$ +440 +441 Results are compared to the Fortran 90 output. +442 +443 """ +444 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. +445 strain_rate = 1e-4 +446 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate) +447 timestamps = np.linspace(0, 1e4, 51) # Solve until D₀t=1 ('shear' γ=2). +448 i_strain_40p = 10 # Index of 40% strain, lower strains are not relevant here. +449 i_strain_100p = 25 # Index of 100% strain, when M*=0 matches FSE. +450 params = _io.DEFAULT_PARAMS +451 params["gbs_threshold"] = 0 # No GBS, to match the Fortran parameters. +452 gbm_mobilities = (0, 10, 50, 125, 200) # Must be in ascending order. +453 markers = ("x", ".", "*", "d", "s") +454 # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time. +455 _seeds = seeds_nearX45 +456 n_seeds = len(_seeds) +457 angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps))) +458 θ_fse = np.zeros_like(timestamps) +459 strains = timestamps * strain_rate +460 M0_drexF90, M50_drexF90, M200_drexF90 = self.interp_GBM_FortranDRex(strains) +461 +462 optional_logging = cl.nullcontext() +463 if outdir is not None: +464 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility" +465 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +466 labels = [] +467 +468 with optional_logging: +469 clock_start = process_time() +470 for m, gbm_mobility in enumerate(gbm_mobilities): +471 if m == 0: +472 return_fse = True +473 else: +474 return_fse = False +475 params["gbm_mobility"] = gbm_mobility +476 +477 _run = ft.partial( +478 self.run, +479 params, +480 timestamps, +481 strain_rate, +482 get_velocity_gradient, +483 shear_direction, +484 return_fse=True, +485 ) +486 with Pool(processes=ncpus) as pool: +487 for s, out in enumerate(pool.imap_unordered(_run, _seeds)): +488 mineral, fse_angles = out +489 angles[m, s, :] = [ +490 _diagnostics.smallest_angle(v, shear_direction) +491 for v in _diagnostics.elasticity_components( +492 _minerals.voigt_averages([mineral], params) +493 )["hexagonal_axis"] +494 ] +495 # Save the whole mineral for the first seed only. +496 if outdir is not None and s == 0: +497 mineral.save( +498 f"{out_basepath}.npz", +499 postfix=f"M{_io.stringify(gbm_mobility)}", +500 ) +501 if return_fse: +502 θ_fse += fse_angles +503 +504 if return_fse: +505 θ_fse /= n_seeds +506 +507 if outdir is not None: +508 labels.append(f"$M^∗$ = {params['gbm_mobility']}") +509 +510 _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start)) +511 +512 # Take ensemble means and optionally plot figure. +513 _log.info("postprocessing results...") +514 result_angles = angles.mean(axis=1) +515 result_angles_err = angles.std(axis=1) +516 +517 if outdir is not None: +518 schema = { +519 "delimiter": ",", +520 "missing": "-", +521 "fields": [ +522 { +523 "name": "strain", +524 "type": "integer", +525 "unit": "percent", +526 "fill": 999999, +527 } +528 ], +529 } +530 _io.save_scsv( +531 f"{out_basepath}_strains.scsv", +532 schema, +533 [[int(D * 200) for D in strains]], # Shear strain % is 200 * D₀. +534 ) +535 np.savez( +536 f"{out_basepath}_angles.npz", +537 angles=result_angles, +538 err=result_angles_err, +539 ) +540 fig, ax, colors = _vis.alignment( +541 None, +542 strains, +543 result_angles, +544 markers, +545 labels, +546 err=result_angles_err, +547 θ_max=60, +548 θ_fse=θ_fse, +549 ) +550 ax.plot(strains, M0_drexF90, c=colors[0]) +551 ax.plot(strains, M50_drexF90, c=colors[2]) +552 ax.plot(strains, M200_drexF90, c=colors[4]) +553 _vis.show_Skemer2016_ShearStrainAngles( +554 ax, +555 ["Z&K 1200 C", "Z&K 1300 C"], +556 ["v", "^"], +557 ["k", "k"], +558 ["none", None], +559 [ +560 "Zhang & Karato, 1995\n(1473 K)", +561 "Zhang & Karato, 1995\n(1573 K)", +562 ], +563 _core.MineralFabric.olivine_A, +564 ) +565 # There is a lot of stuff on this legend, so put it outside the axes. +566 # These values might need to be tweaked depending on the font size, etc. +567 _legend = _utils.redraw_legend(ax, fig=fig, bbox_to_anchor=(1.66, 0.99)) +568 fig.savefig( +569 _io.resolve_path(f"{out_basepath}.pdf"), +570 bbox_extra_artists=(_legend,), +571 bbox_inches="tight", +572 ) +573 +574 # Check that GBM speeds up the alignment between 40% and 100% strain. +575 _log.info("checking grain orientations...") +576 for i, θ in enumerate(result_angles[:-1], start=1): +577 nt.assert_array_less( +578 result_angles[i][i_strain_40p:i_strain_100p], +579 θ[i_strain_40p:i_strain_100p], +580 ) +581 +582 # Check that M*=0 matches FSE (±1°) past 100% strain. +583 nt.assert_allclose( +584 result_angles[0][i_strain_100p:], +585 θ_fse[i_strain_100p:], +586 atol=1, +587 rtol=0, +588 ) +589 +590 # Check that results match Fortran output past 40% strain. +591 nt.assert_allclose( +592 result_angles[0][i_strain_40p:], +593 M0_drexF90[i_strain_40p:], +594 atol=0, +595 rtol=0.1, # At 40% strain the match is worse than at higher strain. +596 ) +597 nt.assert_allclose( +598 result_angles[2][i_strain_40p:], +599 M50_drexF90[i_strain_40p:], +600 atol=1, +601 rtol=0, +602 ) +603 nt.assert_allclose( +604 result_angles[4][i_strain_40p:], +605 M200_drexF90[i_strain_40p:], +606 atol=1.5, +607 rtol=0, +608 ) 609 -610 if outdir is not None: -611 schema = { -612 "delimiter": ",", -613 "missing": "-", -614 "fields": [ -615 { -616 "name": "strain", -617 "type": "integer", -618 "unit": "percent", -619 "fill": 999999, -620 } -621 ], -622 } -623 _io.save_scsv( -624 f"{out_basepath}_strains.scsv", -625 schema, -626 [[int(D * 200) for D in strains]], # Shear strain % is 200 * D₀. -627 ) -628 np.savez( -629 _io.resolve_path(f"{out_basepath}_ensemble_means.npz"), -630 angles=result_angles, -631 err=result_angles_err, -632 ) -633 fig = _vis.figure( -634 figsize=(_vis.DEFAULT_FIG_WIDTH * 3, _vis.DEFAULT_FIG_HEIGHT) -635 ) -636 fig, ax, colors = _vis.alignment( -637 fig.add_subplot(), -638 strains, -639 result_angles, -640 markers, -641 labels, -642 err=result_angles_err, -643 θ_max=80, -644 θ_fse=θ_fse, -645 ) -646 ( -647 _, -648 _, -649 _, -650 data_Skemer2016, -651 indices, -652 ) = _vis.show_Skemer2016_ShearStrainAngles( -653 ax, -654 [ -655 "Z&K 1200 C", -656 "Z&K 1300 C", -657 "Skemer 2011", -658 "Hansen 2014", -659 "Warren 2008", -660 "Webber 2010", -661 "H&W 2015", -662 ], -663 ["v", "^", "o", "s", "v", "o", "s"], -664 ["k", "k", "k", "k", "k", "k", "k"], -665 ["none", "none", "none", "none", None, None, None], -666 [ -667 "Zhang & Karato, 1995 (1473 K)", -668 "Zhang & Karato, 1995 (1573 K)", -669 "Skemer et al., 2011 (1500 K)", -670 "Hansen et al., 2014 (1473 K)", -671 "Warren et al., 2008", -672 "Webber et al., 2010", -673 "Hansen & Warren, 2015", -674 ], -675 fabric=_core.MineralFabric.olivine_A, -676 ) -677 _legend = _utils.redraw_legend(ax, loc="upper right", ncols=3) -678 fig.savefig( -679 _io.resolve_path(f"{out_basepath}.pdf"), -680 bbox_extra_artists=(_legend,), -681 bbox_inches="tight", -682 ) -683 r2vals = [] -684 for angles in result_angles: -685 _angles = PchipInterpolator(strains, angles) -686 r2 = np.sum( -687 [ -688 (a - b) ** 2 -689 for a, b in zip( -690 _angles( -691 np.take(data_Skemer2016.shear_strain, indices) / 200 -692 ), -693 np.take(data_Skemer2016.angle, indices), -694 ) -695 ] -696 ) -697 r2vals.append(r2) -698 _log.info( -699 "Sums of squared residuals (r-values) for each M∗: %s", r2vals -700 ) +610 @pytest.mark.slow +611 def test_GBM_calibration(self, outdir, seeds, ncpus): +612 r"""Compare results for various values of $$M^∗$$ to A-type olivine data. +613 +614 Velocity gradient: +615 $$ +616 \bm{L} = 10^{-4} × +617 \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix} +618 $$ +619 +620 Unlike `test_dvdx_GBM`, +621 grain boudary sliding is enabled here (see `_io.DEFAULT_PARAMS`). +622 Data are provided by [Skemer & Hansen, 2016](http://dx.doi.org/10.1016/j.tecto.2015.12.003). +623 +624 """ +625 shear_direction = [0, 1, 0] # Used to calculate the angular diagnostics. +626 strain_rate = 1 +627 _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate) +628 timestamps = np.linspace(0, 3.2, 65) # Solve until D₀t=3.2 ('shear' γ=6.4). +629 params = _io.DEFAULT_PARAMS +630 params["number_of_grains"] = 5000 +631 gbm_mobilities = (0, 10, 50, 125) # Must be in ascending order. +632 markers = ("x", "*", "1", ".") +633 # Uses 100 seeds by default; use all 1000 if you have more RAM and CPU time. +634 _seeds = seeds[:100] +635 n_seeds = len(_seeds) +636 angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps))) +637 θ_fse = np.zeros_like(timestamps) +638 strains = timestamps * strain_rate +639 +640 optional_logging = cl.nullcontext() +641 if outdir is not None: +642 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_calibration" +643 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +644 labels = [] +645 +646 with optional_logging: +647 clock_start = process_time() +648 for m, gbm_mobility in enumerate(gbm_mobilities): +649 return_fse = True if m == 0 else False +650 params["gbm_mobility"] = gbm_mobility +651 _run = ft.partial( +652 self.run, +653 params, +654 timestamps, +655 strain_rate, +656 get_velocity_gradient, +657 shear_direction, +658 return_fse=return_fse, +659 ) +660 with Pool(processes=ncpus) as pool: +661 for s, out in enumerate(pool.imap_unordered(_run, _seeds)): +662 mineral, fse_angles = out +663 angles[m, s, :] = [ +664 _diagnostics.smallest_angle(v, shear_direction) +665 for v in _diagnostics.elasticity_components( +666 _minerals.voigt_averages([mineral], params) +667 )["hexagonal_axis"] +668 ] +669 # Save the whole mineral for the first seed only. +670 if outdir is not None and s == 0: +671 mineral.save( +672 f"{out_basepath}.npz", +673 postfix=f"M{_io.stringify(gbm_mobility)}", +674 ) +675 if return_fse: +676 θ_fse += fse_angles +677 +678 if return_fse: +679 θ_fse /= n_seeds +680 +681 if outdir is not None: +682 labels.append(f"$M^∗$ = {params['gbm_mobility']}") +683 +684 _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start)) +685 +686 # Take ensemble means and optionally plot figure. +687 _log.info("postprocessing results...") +688 result_angles = angles.mean(axis=1) +689 result_angles_err = angles.std(axis=1) +690 +691 if outdir is not None: +692 schema = { +693 "delimiter": ",", +694 "missing": "-", +695 "fields": [ +696 { +697 "name": "strain", +698 "type": "integer", +699 "unit": "percent", +700 "fill": 999999, +701 } +702 ], +703 } +704 _io.save_scsv( +705 f"{out_basepath}_strains.scsv", +706 schema, +707 [[int(D * 200) for D in strains]], # Shear strain % is 200 * D₀. +708 ) +709 np.savez( +710 _io.resolve_path(f"{out_basepath}_ensemble_means.npz"), +711 angles=result_angles, +712 err=result_angles_err, +713 ) +714 fig = _vis.figure( +715 figsize=(_vis.DEFAULT_FIG_WIDTH * 3, _vis.DEFAULT_FIG_HEIGHT) +716 ) +717 fig, ax, colors = _vis.alignment( +718 fig.add_subplot(), +719 strains, +720 result_angles, +721 markers, +722 labels, +723 err=result_angles_err, +724 θ_max=80, +725 θ_fse=θ_fse, +726 ) +727 ( +728 _, +729 _, +730 _, +731 data_Skemer2016, +732 indices, +733 ) = _vis.show_Skemer2016_ShearStrainAngles( +734 ax, +735 [ +736 "Z&K 1200 C", +737 "Z&K 1300 C", +738 "Skemer 2011", +739 "Hansen 2014", +740 "Warren 2008", +741 "Webber 2010", +742 "H&W 2015", +743 ], +744 ["v", "^", "o", "s", "v", "o", "s"], +745 ["k", "k", "k", "k", "k", "k", "k"], +746 ["none", "none", "none", "none", None, None, None], +747 [ +748 "Zhang & Karato, 1995 (1473 K)", +749 "Zhang & Karato, 1995 (1573 K)", +750 "Skemer et al., 2011 (1500 K)", +751 "Hansen et al., 2014 (1473 K)", +752 "Warren et al., 2008", +753 "Webber et al., 2010", +754 "Hansen & Warren, 2015", +755 ], +756 fabric=_core.MineralFabric.olivine_A, +757 ) +758 _legend = _utils.redraw_legend(ax, loc="upper right", ncols=3) +759 fig.savefig( +760 _io.resolve_path(f"{out_basepath}.pdf"), +761 bbox_extra_artists=(_legend,), +762 bbox_inches="tight", +763 ) +764 r2vals = [] +765 for angles in result_angles: +766 _angles = PchipInterpolator(strains, angles) +767 r2 = np.sum( +768 [ +769 (a - b) ** 2 +770 for a, b in zip( +771 _angles( +772 np.take(data_Skemer2016.shear_strain, indices) / 200 +773 ), +774 np.take(data_Skemer2016.angle, indices), +775 ) +776 ] +777 ) +778 r2vals.append(r2) +779 _log.info( +780 "Sums of squared residuals (r-values) for each M∗: %s", r2vals +781 ) +782 +783 @pytest.mark.big +784 def test_dudz_pathline(self, outdir, seed): +785 """Test alignment of olivine a-axis for a polycrystal advected on a pathline.""" +786 test_id = "dudz_pathline" +787 optional_logging = cl.nullcontext() +788 if outdir is not None: +789 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_{test_id}" +790 optional_logging = _log.logfile_enable(f"{out_basepath}.log") +791 +792 with optional_logging: +793 shear_direction = [1, 0, 0] # Used to calculate the angular diagnostics. +794 strain_rate = 1e-15 # Moderate, realistic shear in the upper mantle. +795 get_velocity, get_velocity_gradient = _velocity.simple_shear_2d( +796 "X", "Z", strain_rate +797 ) +798 n_timesteps = 10 +799 timestamps, get_position = _paths.get_pathline( +800 Ŋ([1e5, 0e0, 1e5]), +801 get_velocity, +802 get_velocity_gradient, +803 Ŋ([-2e5, 0e0, -2e5]), +804 Ŋ([2e5, 0e0, 2e5]), +805 2, +806 regular_steps=n_timesteps, +807 ) +808 positions = [get_position(t) for t in timestamps] +809 velocity_gradients = [get_velocity_gradient(Ŋ(x)) for x in positions] +810 +811 params = _io.DEFAULT_PARAMS +812 params["number_of_grains"] = 5000 +813 olA = _minerals.Mineral(n_grains=params["number_of_grains"], seed=seed) +814 deformation_gradient = np.eye(3) +815 strains = np.zeros_like(timestamps) +816 for t, time in enumerate(timestamps[:-1], start=1): +817 strains[t] = strains[t - 1] + ( +818 _utils.strain_increment(timestamps[t] - time, velocity_gradients[t]) +819 ) +820 _log.info("step %d/%d (ε = %.2f)", t, len(timestamps) - 1, strains[t]) +821 deformation_gradient = olA.update_orientations( +822 params, +823 deformation_gradient, +824 get_velocity_gradient, +825 pathline=(time, timestamps[t], get_position), +826 ) +827 +828 orient_resampled, fractions_resampled = _stats.resample_orientations( +829 olA.orientations, olA.fractions, seed=seed +830 ) +831 # About 36GB, 26 min needed with float64. GitHub macos runner has 14GB. +832 misorient_indices = _diagnostics.misorientation_indices( +833 orient_resampled, +834 _geo.LatticeSystem.orthorhombic, +835 ncpus=3, +836 ) +837 cpo_vectors = np.zeros((n_timesteps + 1, 3)) +838 cpo_angles = np.zeros(n_timesteps + 1) +839 for i, matrices in enumerate(orient_resampled): +840 cpo_vectors[i] = _diagnostics.bingham_average( +841 matrices, +842 axis=_minerals.OLIVINE_PRIMARY_AXIS[olA.fabric], +843 ) +844 cpo_angles[i] = _diagnostics.smallest_angle( +845 cpo_vectors[i], Ŋ(shear_direction, dtype=np.float64) +846 ) +847 +848 # Check for mostly decreasing CPO angles (exclude initial condition). +849 _log.debug("cpo angles: %s", cpo_angles) +850 nt.assert_array_less(np.diff(cpo_angles[1:]), np.ones(n_timesteps - 1)) +851 # Check for increasing CPO strength (M-index). +852 _log.debug("cpo strengths: %s", misorient_indices) +853 nt.assert_array_less( +854 np.full(n_timesteps, -0.01), np.diff(misorient_indices) +855 ) +856 # Check that last angle is <5° (M*=125) or <10° (M*=10). +857 assert cpo_angles[-1] < 5 +858 +859 if outdir is not None: +860 fig, ax, _, _ = _vis.pathline_box2d( +861 None, +862 get_velocity, +863 "xz", +864 strains, +865 positions, +866 ".", +867 Ŋ([-2e5, -2e5]), +868 Ŋ([2e5, 2e5]), +869 [20, 20], +870 cpo_vectors=cpo_vectors, +871 cpo_strengths=misorient_indices, +872 ) +873 fig.savefig(f"{out_basepath}.pdf") @@ -838,6 +1020,197 @@

    + +
    + +
    + + class + TestPreliminaries: + + + +
    + +
     31class TestPreliminaries:
    + 32    """Preliminary tests to check that various auxiliary routines are working."""
    + 33
    + 34    def test_strain_increment(self):
    + 35        """Test for accumulating strain via strain increment calculations."""
    + 36        _, get_velocity_gradient = _velocity.simple_shear_2d("X", "Z", 1)
    + 37        timestamps = np.linspace(0, 1, 10)  # Solve until D₀t=1 (tensorial strain).
    + 38        strains_inc = np.zeros_like(timestamps)
    + 39        L = get_velocity_gradient(Ŋ([0e0, 0e0, 0e0]))
    + 40        for i, ε in enumerate(strains_inc[1:]):
    + 41            strains_inc[i + 1] = strains_inc[i] + _utils.strain_increment(
    + 42                timestamps[1] - timestamps[0],
    + 43                L,
    + 44            )
    + 45        # For constant timesteps, check strains == positive_timestamps * strain_rate.
    + 46        nt.assert_allclose(strains_inc, timestamps, atol=6e-16, rtol=0)
    + 47
    + 48        # Same thing, but for strain rate similar to experiments.
    + 49        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", 1e-5)
    + 50        timestamps = np.linspace(0, 1e6, 10)  # Solve until D₀t=10 (tensorial strain).
    + 51        strains_inc = np.zeros_like(timestamps)
    + 52        L = get_velocity_gradient(Ŋ([0e0, 0e0, 0e0]))
    + 53        for i, ε in enumerate(strains_inc[1:]):
    + 54            strains_inc[i + 1] = strains_inc[i] + _utils.strain_increment(
    + 55                timestamps[1] - timestamps[0],
    + 56                L,
    + 57            )
    + 58        nt.assert_allclose(strains_inc, timestamps * 1e-5, atol=5e-15, rtol=0)
    + 59
    + 60        # Again, but this time the particle will move (using get_pathline).
    + 61        # We use a 400km x 400km box and a strain rate of 1e-15 s⁻¹.
    + 62        get_velocity, get_velocity_gradient = _velocity.simple_shear_2d("X", "Z", 1e-15)
    + 63        timestamps, get_position = _paths.get_pathline(
    + 64            Ŋ([1e5, 0e0, 1e5]),
    + 65            get_velocity,
    + 66            get_velocity_gradient,
    + 67            Ŋ([-2e5, 0e0, -2e5]),
    + 68            Ŋ([2e5, 0e0, 2e5]),
    + 69            2,
    + 70            regular_steps=10,
    + 71        )
    + 72        positions = [get_position(t) for t in timestamps]
    + 73        velocity_gradients = [get_velocity_gradient(Ŋ(x)) for x in positions]
    + 74
    + 75        # Check that polycrystal is experiencing steady velocity gradient.
    + 76        nt.assert_array_equal(
    + 77            velocity_gradients, np.full_like(velocity_gradients, velocity_gradients[0])
    + 78        )
    + 79        # Check that positions are changing as expected.
    + 80        xdiff = np.diff(Ŋ([x[0] for x in positions]))
    + 81        zdiff = np.diff(Ŋ([x[2] for x in positions]))
    + 82        assert xdiff[0] > 0
    + 83        assert zdiff[0] == 0
    + 84        nt.assert_allclose(xdiff, np.full_like(xdiff, xdiff[0]), rtol=0, atol=1e-10)
    + 85        nt.assert_allclose(zdiff, np.full_like(zdiff, zdiff[0]), rtol=0, atol=1e-10)
    + 86        strains_inc = np.zeros_like(timestamps)
    + 87        for t, time in enumerate(timestamps[:-1], start=1):
    + 88            strains_inc[t] = strains_inc[t - 1] + (
    + 89                _utils.strain_increment(timestamps[t] - time, velocity_gradients[t])
    + 90            )
    + 91        # fig, ax, _, _ = _vis.pathline_box2d(
    + 92        #     None,
    + 93        #     get_velocity,
    + 94        #     "xz",
    + 95        #     strains_inc,
    + 96        #     positions,
    + 97        #     ".",
    + 98        #     Ŋ([-2e5, -2e5]),
    + 99        #     Ŋ([2e5, 2e5]),
    +100        #     [20, 20],
    +101        # )
    +102        # fig.savefig("/tmp/fig.png")
    +103        nt.assert_allclose(
    +104            strains_inc,
    +105            (timestamps - timestamps[0]) * 1e-15,
    +106            atol=5e-15,
    +107            rtol=0,
    +108        )
    +
    + + +

    Preliminary tests to check that various auxiliary routines are working.

    +
    + + +
    + +
    + + def + test_strain_increment(self): + + + +
    + +
     34    def test_strain_increment(self):
    + 35        """Test for accumulating strain via strain increment calculations."""
    + 36        _, get_velocity_gradient = _velocity.simple_shear_2d("X", "Z", 1)
    + 37        timestamps = np.linspace(0, 1, 10)  # Solve until D₀t=1 (tensorial strain).
    + 38        strains_inc = np.zeros_like(timestamps)
    + 39        L = get_velocity_gradient(Ŋ([0e0, 0e0, 0e0]))
    + 40        for i, ε in enumerate(strains_inc[1:]):
    + 41            strains_inc[i + 1] = strains_inc[i] + _utils.strain_increment(
    + 42                timestamps[1] - timestamps[0],
    + 43                L,
    + 44            )
    + 45        # For constant timesteps, check strains == positive_timestamps * strain_rate.
    + 46        nt.assert_allclose(strains_inc, timestamps, atol=6e-16, rtol=0)
    + 47
    + 48        # Same thing, but for strain rate similar to experiments.
    + 49        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", 1e-5)
    + 50        timestamps = np.linspace(0, 1e6, 10)  # Solve until D₀t=10 (tensorial strain).
    + 51        strains_inc = np.zeros_like(timestamps)
    + 52        L = get_velocity_gradient(Ŋ([0e0, 0e0, 0e0]))
    + 53        for i, ε in enumerate(strains_inc[1:]):
    + 54            strains_inc[i + 1] = strains_inc[i] + _utils.strain_increment(
    + 55                timestamps[1] - timestamps[0],
    + 56                L,
    + 57            )
    + 58        nt.assert_allclose(strains_inc, timestamps * 1e-5, atol=5e-15, rtol=0)
    + 59
    + 60        # Again, but this time the particle will move (using get_pathline).
    + 61        # We use a 400km x 400km box and a strain rate of 1e-15 s⁻¹.
    + 62        get_velocity, get_velocity_gradient = _velocity.simple_shear_2d("X", "Z", 1e-15)
    + 63        timestamps, get_position = _paths.get_pathline(
    + 64            Ŋ([1e5, 0e0, 1e5]),
    + 65            get_velocity,
    + 66            get_velocity_gradient,
    + 67            Ŋ([-2e5, 0e0, -2e5]),
    + 68            Ŋ([2e5, 0e0, 2e5]),
    + 69            2,
    + 70            regular_steps=10,
    + 71        )
    + 72        positions = [get_position(t) for t in timestamps]
    + 73        velocity_gradients = [get_velocity_gradient(Ŋ(x)) for x in positions]
    + 74
    + 75        # Check that polycrystal is experiencing steady velocity gradient.
    + 76        nt.assert_array_equal(
    + 77            velocity_gradients, np.full_like(velocity_gradients, velocity_gradients[0])
    + 78        )
    + 79        # Check that positions are changing as expected.
    + 80        xdiff = np.diff(Ŋ([x[0] for x in positions]))
    + 81        zdiff = np.diff(Ŋ([x[2] for x in positions]))
    + 82        assert xdiff[0] > 0
    + 83        assert zdiff[0] == 0
    + 84        nt.assert_allclose(xdiff, np.full_like(xdiff, xdiff[0]), rtol=0, atol=1e-10)
    + 85        nt.assert_allclose(zdiff, np.full_like(zdiff, zdiff[0]), rtol=0, atol=1e-10)
    + 86        strains_inc = np.zeros_like(timestamps)
    + 87        for t, time in enumerate(timestamps[:-1], start=1):
    + 88            strains_inc[t] = strains_inc[t - 1] + (
    + 89                _utils.strain_increment(timestamps[t] - time, velocity_gradients[t])
    + 90            )
    + 91        # fig, ax, _, _ = _vis.pathline_box2d(
    + 92        #     None,
    + 93        #     get_velocity,
    + 94        #     "xz",
    + 95        #     strains_inc,
    + 96        #     positions,
    + 97        #     ".",
    + 98        #     Ŋ([-2e5, -2e5]),
    + 99        #     Ŋ([2e5, 2e5]),
    +100        #     [20, 20],
    +101        # )
    +102        # fig.savefig("/tmp/fig.png")
    +103        nt.assert_allclose(
    +104            strains_inc,
    +105            (timestamps - timestamps[0]) * 1e-15,
    +106            atol=5e-15,
    +107            rtol=0,
    +108        )
    +
    + + +

    Test for accumulating strain via strain increment calculations.

    +
    + + +
    @@ -850,681 +1223,770 @@

    -
     27class TestOlivineA:
    - 28    """Tests for stationary A-type olivine polycrystals in 2D simple shear."""
    - 29
    - 30    class_id = "olivineA"
    - 31
    - 32    @classmethod
    - 33    def get_position(cls, t):
    - 34        return np.zeros(3)  # These crystals are stationary.
    - 35
    - 36    @classmethod
    - 37    def run(
    - 38        cls,
    - 39        params,
    - 40        timestamps,
    - 41        strain_rate,
    - 42        get_velocity_gradient,
    - 43        shear_direction,
    - 44        seed=None,
    - 45        return_fse=None,
    - 46    ):
    - 47        """Reusable logic for 2D olivine (A-type) simple shear tests.
    - 48
    - 49        Returns a tuple with the mineral and the FSE angle (or `None` if `return_fse` is
    - 50        `None`).
    - 51
    - 52        """
    - 53        mineral = _minerals.Mineral(
    - 54            phase=_core.MineralPhase.olivine,
    - 55            fabric=_core.MineralFabric.olivine_A,
    - 56            regime=_core.DeformationRegime.dislocation,
    - 57            n_grains=params["number_of_grains"],
    - 58            seed=seed,
    - 59        )
    - 60        deformation_gradient = np.eye(3)  # Undeformed initial state.
    - 61        θ_fse = np.empty_like(timestamps)
    - 62        θ_fse[0] = 45
    - 63
    - 64        for t, time in enumerate(timestamps[:-1], start=1):
    - 65            # Set up logging message depending on dynamic parameter and seeds.
    - 66            msg_start = (
    - 67                f"N = {params['number_of_grains']}; "
    - 68                + f"λ∗ = {params['nucleation_efficiency']}; "
    - 69                + f"X = {params['gbs_threshold']}; "
    - 70                + f"M∗ = {params['gbm_mobility']}; "
    - 71            )
    - 72            if seed is not None:
    - 73                msg_start += f"# {seed}; "
    - 74
    - 75            _log.info(msg_start + "step %s/%s (t = %s)", t, len(timestamps) - 1, time)
    - 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            else:
    - 98                θ_fse = None
    - 99
    -100        return mineral, θ_fse
    -101
    -102    @classmethod
    -103    def interp_GBM_Kaminski2001(cls, strains):
    -104        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    -105        _log.info("interpolating target CPO angles...")
    -106        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv")
    -107        cs_M0 = PchipInterpolator(
    -108            _utils.remove_nans(data.equivalent_strain_M0) / 200,
    -109            _utils.remove_nans(data.angle_M0),
    -110        )
    -111        cs_M50 = PchipInterpolator(
    -112            _utils.remove_nans(data.equivalent_strain_M50) / 200,
    -113            _utils.remove_nans(data.angle_M50),
    -114        )
    -115        cs_M200 = PchipInterpolator(
    -116            _utils.remove_nans(data.equivalent_strain_M200) / 200,
    -117            _utils.remove_nans(data.angle_M200),
    -118        )
    -119        return [cs_M0(strains), cs_M50(strains), cs_M200(strains)]
    -120
    -121    @classmethod
    -122    def interp_GBM_FortranDRex(cls, strains):
    -123        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    -124        _log.info("interpolating target CPO  angles...")
    -125        data = _io.read_scsv(_io.data("drexF90") / "olA_D1E4_dt50_X0_L5.scsv")
    -126        data_strains = np.linspace(0, 1, 200)
    -127        cs_M0 = PchipInterpolator(data_strains, _utils.remove_nans(data.M0_angle))
    -128        cs_M50 = PchipInterpolator(data_strains, _utils.remove_nans(data.M50_angle))
    -129        cs_M200 = PchipInterpolator(data_strains, _utils.remove_nans(data.M200_angle))
    -130        return [cs_M0(strains), cs_M50(strains), cs_M200(strains)]
    -131
    -132    @classmethod
    -133    def interp_GBS_FortranDRex(cls, strains):
    -134        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    -135        _log.info("interpolating target CPO  angles...")
    -136        data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_fortran.scsv")
    -137        data_strains = np.linspace(0, 1, 200)
    -138        cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0))
    -139        cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20))
    -140        cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40))
    -141        return [cs_X0(strains), cs_X20(strains), cs_X40(strains)]
    -142
    -143    @classmethod
    -144    def interp_GBS_long_FortranDRex(cls, strains):
    -145        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    -146        _log.info("interpolating target CPO  angles...")
    -147        data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_long_fortran.scsv")
    -148        data_strains = np.linspace(0, 2.5, 500)
    -149        cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0))
    -150        cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20))
    -151        cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40))
    -152        return [cs_X0(strains), cs_X20(strains), cs_X40(strains)]
    -153
    -154    @classmethod
    -155    def interp_GBS_Kaminski2004(cls, strains):
    -156        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    -157        _log.info("interpolating target CPO angles...")
    -158        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv")
    -159        cs_X0 = PchipInterpolator(
    -160            _utils.remove_nans(data.dimensionless_time_X0),
    -161            45 + _utils.remove_nans(data.angle_X0),
    -162        )
    -163        cs_X0d2 = PchipInterpolator(
    -164            _utils.remove_nans(data.dimensionless_time_X0d2),
    -165            45 + _utils.remove_nans(data.angle_X0d2),
    -166        )
    -167        cs_X0d4 = PchipInterpolator(
    -168            _utils.remove_nans(data.dimensionless_time_X0d4),
    -169            45 + _utils.remove_nans(data.angle_X0d4),
    -170        )
    -171        return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)]
    -172
    -173    def test_zero_recrystallisation(self, seed):
    -174        """Check that M*=0 is a reliable switch to turn off recrystallisation."""
    -175        params = _io.DEFAULT_PARAMS
    -176        params["gbm_mobility"] = 0
    -177        strain_rate = 1
    -178        timestamps = np.linspace(0, 1, 25)  # Solve until D₀t=1 (tensorial strain).
    -179        shear_direction = [0, 1, 0]
    -180        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    -181        mineral, _ = self.run(
    -182            params,
    -183            timestamps,
    -184            strain_rate,
    -185            get_velocity_gradient,
    -186            shear_direction,
    -187            seed=seed,
    -188        )
    -189        for fractions in mineral.fractions[1:]:
    -190            nt.assert_allclose(fractions, mineral.fractions[0], atol=1e-15, rtol=0)
    -191
    -192    @pytest.mark.parametrize("gbm_mobility", [50, 100, 150])
    -193    def test_grainsize_median(self, seed, gbm_mobility):
    -194        """Check that M*={50,100,150}, λ*=5 causes decreasing grain size median."""
    -195        params = _io.DEFAULT_PARAMS
    -196        params["gbm_mobility"] = gbm_mobility
    -197        params["nucleation_efficiency"] = 5
    -198        strain_rate = 1
    -199        timestamps = np.linspace(0, 1, 25)  # Solve until D₀t=1 (tensorial strain).
    -200        n_timestamps = len(timestamps)
    -201        shear_direction = [0, 1, 0]
    -202        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    -203        mineral, _ = self.run(
    -204            params,
    -205            timestamps,
    -206            strain_rate,
    -207            get_velocity_gradient,
    -208            shear_direction,
    -209            seed=seed,
    -210        )
    -211        medians = np.empty(n_timestamps)
    -212        for i, fractions in enumerate(mineral.fractions):
    -213            medians[i] = np.median(fractions)
    -214
    -215        # The first diff is positive (~1e-6) before nucleation sets in.
    -216        nt.assert_array_less(np.diff(medians)[1:], np.full(n_timestamps - 2, 0))
    -217
    -218    @pytest.mark.slow
    -219    @pytest.mark.parametrize("gbs_threshold", [0, 0.2, 0.4])
    -220    @pytest.mark.parametrize("nucleation_efficiency", [3, 5, 10])
    -221    def test_dvdx_ensemble(
    -222        self, outdir, seeds_nearX45, ncpus, gbs_threshold, nucleation_efficiency
    -223    ):
    -224        r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X).
    -225
    -226        Velocity gradient:
    -227        $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$
    -228
    -229        """
    -230        strain_rate = 1
    -231        timestamps = np.linspace(0, 1, 201)  # Solve until D₀t=1 ('shear' γ=2).
    -232        n_timestamps = len(timestamps)
    -233        # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time.
    -234        _seeds = seeds_nearX45
    -235        n_seeds = len(_seeds)
    -236
    -237        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    -238        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    -239
    -240        gbm_mobilities = [0, 50, 125, 200]
    -241        markers = ("x", "*", "d", "s")
    -242
    -243        _id = f"X{_io.stringify(gbs_threshold)}_L{_io.stringify(nucleation_efficiency)}"
    -244        # Output setup with optional logging and data series labels.
    -245        θ_fse = np.empty_like(timestamps)
    -246        angles = np.empty((len(gbm_mobilities), n_seeds, n_timestamps))
    -247        optional_logging = cl.nullcontext()
    -248        if outdir is not None:
    -249            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_ensemble_{_id}"
    -250            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    -251            labels = []
    -252
    -253        with optional_logging:
    -254            clock_start = process_time()
    -255            for m, gbm_mobility in enumerate(gbm_mobilities):
    -256                if m == 0:
    -257                    return_fse = True
    -258                else:
    -259                    return_fse = False
    -260
    -261                params = {
    -262                    "olivine_fraction": 1.0,
    -263                    "enstatite_fraction": 0.0,
    -264                    "stress_exponent": 1.5,
    -265                    "deformation_exponent": 3.5,
    -266                    "gbm_mobility": gbm_mobility,
    -267                    "gbs_threshold": gbs_threshold,
    -268                    "nucleation_efficiency": nucleation_efficiency,
    -269                    "number_of_grains": 5000,
    -270                    "initial_olivine_fabric": "A",
    -271                }
    +            
    111class TestOlivineA:
    +112    """Tests for stationary A-type olivine polycrystals in 2D simple shear."""
    +113
    +114    class_id = "olivineA"
    +115
    +116    @classmethod
    +117    def run(
    +118        cls,
    +119        params,
    +120        timestamps,
    +121        strain_rate,
    +122        get_velocity_gradient,
    +123        shear_direction,
    +124        seed=None,
    +125        return_fse=None,
    +126        get_position=lambda t: np.zeros(3),  # Stationary particles by default.
    +127    ):
    +128        """Reusable logic for 2D olivine (A-type) simple shear tests.
    +129
    +130        Returns a tuple with the mineral and the FSE angle (or `None` if `return_fse` is
    +131        `None`).
    +132
    +133        """
    +134        mineral = _minerals.Mineral(
    +135            phase=_core.MineralPhase.olivine,
    +136            fabric=_core.MineralFabric.olivine_A,
    +137            regime=_core.DeformationRegime.dislocation,
    +138            n_grains=params["number_of_grains"],
    +139            seed=seed,
    +140        )
    +141        deformation_gradient = np.eye(3)  # Undeformed initial state.
    +142        θ_fse = np.empty_like(timestamps)
    +143        θ_fse[0] = 45
    +144
    +145        for t, time in enumerate(timestamps[:-1], start=1):
    +146            # Set up logging message depending on dynamic parameter and seeds.
    +147            msg_start = (
    +148                f"N = {params['number_of_grains']}; "
    +149                + f"λ∗ = {params['nucleation_efficiency']}; "
    +150                + f"X = {params['gbs_threshold']}; "
    +151                + f"M∗ = {params['gbm_mobility']}; "
    +152            )
    +153            if seed is not None:
    +154                msg_start += f"# {seed}; "
    +155
    +156            _log.info(msg_start + "step %s/%s (t = %s)", t, len(timestamps) - 1, time)
    +157
    +158            deformation_gradient = mineral.update_orientations(
    +159                params,
    +160                deformation_gradient,
    +161                get_velocity_gradient,
    +162                pathline=(time, timestamps[t], get_position),
    +163            )
    +164            _log.debug(
    +165                "› velocity gradient = %s",
    +166                get_velocity_gradient(None).flatten(),
    +167            )
    +168            _log.debug("› strain D₀t = %.2f", strain_rate * timestamps[t])
    +169            _log.debug(
    +170                "› grain fractions: median = %s, max = %s, min = %s",
    +171                np.median(mineral.fractions[-1]),
    +172                np.max(mineral.fractions[-1]),
    +173                np.min(mineral.fractions[-1]),
    +174            )
    +175            if return_fse:
    +176                _, fse_v = _diagnostics.finite_strain(deformation_gradient)
    +177                θ_fse[t] = _diagnostics.smallest_angle(fse_v, shear_direction)
    +178            else:
    +179                θ_fse = None
    +180
    +181        return mineral, θ_fse
    +182
    +183    @classmethod
    +184    def interp_GBM_Kaminski2001(cls, strains):
    +185        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    +186        _log.info("interpolating target CPO angles...")
    +187        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv")
    +188        cs_M0 = PchipInterpolator(
    +189            _utils.remove_nans(data.equivalent_strain_M0) / 200,
    +190            _utils.remove_nans(data.angle_M0),
    +191        )
    +192        cs_M50 = PchipInterpolator(
    +193            _utils.remove_nans(data.equivalent_strain_M50) / 200,
    +194            _utils.remove_nans(data.angle_M50),
    +195        )
    +196        cs_M200 = PchipInterpolator(
    +197            _utils.remove_nans(data.equivalent_strain_M200) / 200,
    +198            _utils.remove_nans(data.angle_M200),
    +199        )
    +200        return [cs_M0(strains), cs_M50(strains), cs_M200(strains)]
    +201
    +202    @classmethod
    +203    def interp_GBM_FortranDRex(cls, strains):
    +204        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    +205        _log.info("interpolating target CPO  angles...")
    +206        data = _io.read_scsv(_io.data("drexF90") / "olA_D1E4_dt50_X0_L5.scsv")
    +207        data_strains = np.linspace(0, 1, 200)
    +208        cs_M0 = PchipInterpolator(data_strains, _utils.remove_nans(data.M0_angle))
    +209        cs_M50 = PchipInterpolator(data_strains, _utils.remove_nans(data.M50_angle))
    +210        cs_M200 = PchipInterpolator(data_strains, _utils.remove_nans(data.M200_angle))
    +211        return [cs_M0(strains), cs_M50(strains), cs_M200(strains)]
    +212
    +213    @classmethod
    +214    def interp_GBS_FortranDRex(cls, strains):
    +215        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    +216        _log.info("interpolating target CPO  angles...")
    +217        data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_fortran.scsv")
    +218        data_strains = np.linspace(0, 1, 200)
    +219        cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0))
    +220        cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20))
    +221        cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40))
    +222        return [cs_X0(strains), cs_X20(strains), cs_X40(strains)]
    +223
    +224    @classmethod
    +225    def interp_GBS_long_FortranDRex(cls, strains):
    +226        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    +227        _log.info("interpolating target CPO  angles...")
    +228        data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_long_fortran.scsv")
    +229        data_strains = np.linspace(0, 2.5, 500)
    +230        cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0))
    +231        cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20))
    +232        cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40))
    +233        return [cs_X0(strains), cs_X20(strains), cs_X40(strains)]
    +234
    +235    @classmethod
    +236    def interp_GBS_Kaminski2004(cls, strains):
    +237        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    +238        _log.info("interpolating target CPO angles...")
    +239        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv")
    +240        cs_X0 = PchipInterpolator(
    +241            _utils.remove_nans(data.dimensionless_time_X0),
    +242            45 + _utils.remove_nans(data.angle_X0),
    +243        )
    +244        cs_X0d2 = PchipInterpolator(
    +245            _utils.remove_nans(data.dimensionless_time_X0d2),
    +246            45 + _utils.remove_nans(data.angle_X0d2),
    +247        )
    +248        cs_X0d4 = PchipInterpolator(
    +249            _utils.remove_nans(data.dimensionless_time_X0d4),
    +250            45 + _utils.remove_nans(data.angle_X0d4),
    +251        )
    +252        return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)]
    +253
    +254    def test_zero_recrystallisation(self, seed):
    +255        """Check that M*=0 is a reliable switch to turn off recrystallisation."""
    +256        params = _io.DEFAULT_PARAMS
    +257        params["gbm_mobility"] = 0
    +258        strain_rate = 1
    +259        timestamps = np.linspace(0, 1, 25)  # Solve until D₀t=1 (tensorial strain).
    +260        shear_direction = [0, 1, 0]
    +261        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    +262        mineral, _ = self.run(
    +263            params,
    +264            timestamps,
    +265            strain_rate,
    +266            get_velocity_gradient,
    +267            shear_direction,
    +268            seed=seed,
    +269        )
    +270        for fractions in mineral.fractions[1:]:
    +271            nt.assert_allclose(fractions, mineral.fractions[0], atol=1e-15, rtol=0)
     272
    -273                _run = ft.partial(
    -274                    self.run,
    -275                    params,
    -276                    timestamps,
    -277                    strain_rate,
    -278                    get_velocity_gradient,
    -279                    shear_direction,
    -280                    return_fse=return_fse,
    -281                )
    -282                with Pool(processes=ncpus) as pool:
    -283                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    -284                        mineral, fse_angles = out
    -285                        angles[m, s, :] = [
    -286                            _diagnostics.smallest_angle(v, shear_direction)
    -287                            for v in _diagnostics.elasticity_components(
    -288                                _minerals.voigt_averages([mineral], params)
    -289                            )["hexagonal_axis"]
    -290                        ]
    -291                        # Save the whole mineral for the first seed only.
    -292                        if outdir is not None and s == 0:
    -293                            postfix = (
    -294                                f"M{_io.stringify(gbm_mobility)}"
    -295                                + f"_X{_io.stringify(gbs_threshold)}"
    -296                                + f"_L{_io.stringify(nucleation_efficiency)}"
    -297                            )
    -298                            mineral.save(f"{out_basepath}.npz", postfix=postfix)
    -299                        if return_fse:
    -300                            θ_fse += fse_angles
    -301
    -302                if return_fse:
    -303                    θ_fse /= n_seeds
    -304
    -305                if outdir is not None:
    -306                    labels.append(f"$M^∗$ = {gbm_mobility}")
    -307
    -308            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    +273    @pytest.mark.parametrize("gbm_mobility", [50, 100, 150])
    +274    def test_grainsize_median(self, seed, gbm_mobility):
    +275        """Check that M*={50,100,150}, λ*=5 causes decreasing grain size median."""
    +276        params = _io.DEFAULT_PARAMS
    +277        params["gbm_mobility"] = gbm_mobility
    +278        params["nucleation_efficiency"] = 5
    +279        strain_rate = 1
    +280        timestamps = np.linspace(0, 1, 25)  # Solve until D₀t=1 (tensorial strain).
    +281        n_timestamps = len(timestamps)
    +282        shear_direction = [0, 1, 0]
    +283        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    +284        mineral, _ = self.run(
    +285            params,
    +286            timestamps,
    +287            strain_rate,
    +288            get_velocity_gradient,
    +289            shear_direction,
    +290            seed=seed,
    +291        )
    +292        medians = np.empty(n_timestamps)
    +293        for i, fractions in enumerate(mineral.fractions):
    +294            medians[i] = np.median(fractions)
    +295
    +296        # The first diff is positive (~1e-6) before nucleation sets in.
    +297        nt.assert_array_less(np.diff(medians)[1:], np.full(n_timestamps - 2, 0))
    +298
    +299    @pytest.mark.slow
    +300    @pytest.mark.parametrize("gbs_threshold", [0, 0.2, 0.4])
    +301    @pytest.mark.parametrize("nucleation_efficiency", [3, 5, 10])
    +302    def test_dvdx_ensemble(
    +303        self, outdir, seeds_nearX45, ncpus, gbs_threshold, nucleation_efficiency
    +304    ):
    +305        r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X).
    +306
    +307        Velocity gradient:
    +308        $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$
     309
    -310        # Take ensemble means and optionally plot figure.
    -311        strains = timestamps * strain_rate
    -312        _log.info("postprocessing results for %s", _id)
    -313        result_angles = angles.mean(axis=1)
    -314        result_angles_err = angles.std(axis=1)
    -315
    -316        if outdir is not None:
    -317            schema = {
    -318                "delimiter": ",",
    -319                "missing": "-",
    -320                "fields": [
    -321                    {
    -322                        "name": "strain",
    -323                        "type": "integer",
    -324                        "unit": "percent",
    -325                        "fill": 999999,
    -326                    }
    -327                ],
    -328            }
    -329            np.savez(
    -330                f"{out_basepath}.npz",
    -331                angles=result_angles,
    -332                angles_err=result_angles_err,
    -333            )
    -334            _io.save_scsv(
    -335                f"{out_basepath}_strains.scsv",
    -336                schema,
    -337                [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    -338            )
    -339            fig, ax, colors = _vis.alignment(
    -340                None,
    -341                strains,
    -342                result_angles,
    -343                markers,
    -344                labels,
    -345                err=result_angles_err,
    -346                θ_max=60,
    -347                θ_fse=θ_fse,
    -348            )
    -349            fig.savefig(_io.resolve_path(f"{out_basepath}.pdf"))
    -350
    -351    @pytest.mark.slow
    -352    def test_dvdx_GBM(self, outdir, seeds_nearX45, ncpus):
    -353        r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X).
    -354
    -355        Velocity gradient:
    -356        $$
    -357        \bm{L} = 10^{-4} ×
    -358            \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}
    -359        $$
    -360
    -361        Results are compared to the Fortran 90 output.
    -362
    -363        """
    -364        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    -365        strain_rate = 1e-4
    -366        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    -367        timestamps = np.linspace(0, 1e4, 51)  # Solve until D₀t=1 ('shear' γ=2).
    -368        i_strain_40p = 10  # Index of 40% strain, lower strains are not relevant here.
    -369        i_strain_100p = 25  # Index of 100% strain, when M*=0 matches FSE.
    -370        params = _io.DEFAULT_PARAMS
    -371        params["gbs_threshold"] = 0  # No GBS, to match the Fortran parameters.
    -372        gbm_mobilities = (0, 10, 50, 125, 200)  # Must be in ascending order.
    -373        markers = ("x", ".", "*", "d", "s")
    -374        # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time.
    -375        _seeds = seeds_nearX45
    -376        n_seeds = len(_seeds)
    -377        angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps)))
    -378        θ_fse = np.zeros_like(timestamps)
    -379        strains = timestamps * strain_rate
    -380        M0_drexF90, M50_drexF90, M200_drexF90 = self.interp_GBM_FortranDRex(strains)
    -381
    -382        optional_logging = cl.nullcontext()
    -383        if outdir is not None:
    -384            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility"
    -385            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    -386            labels = []
    -387
    -388        with optional_logging:
    -389            clock_start = process_time()
    -390            for m, gbm_mobility in enumerate(gbm_mobilities):
    -391                if m == 0:
    -392                    return_fse = True
    -393                else:
    -394                    return_fse = False
    -395                params["gbm_mobility"] = gbm_mobility
    +310        """
    +311        strain_rate = 1
    +312        timestamps = np.linspace(0, 1, 201)  # Solve until D₀t=1 ('shear' γ=2).
    +313        n_timestamps = len(timestamps)
    +314        # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time.
    +315        _seeds = seeds_nearX45
    +316        n_seeds = len(_seeds)
    +317
    +318        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    +319        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    +320
    +321        gbm_mobilities = [0, 50, 125, 200]
    +322        markers = ("x", "*", "d", "s")
    +323
    +324        _id = f"X{_io.stringify(gbs_threshold)}_L{_io.stringify(nucleation_efficiency)}"
    +325        # Output setup with optional logging and data series labels.
    +326        θ_fse = np.empty_like(timestamps)
    +327        angles = np.empty((len(gbm_mobilities), n_seeds, n_timestamps))
    +328        optional_logging = cl.nullcontext()
    +329        if outdir is not None:
    +330            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_ensemble_{_id}"
    +331            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +332            labels = []
    +333
    +334        with optional_logging:
    +335            clock_start = process_time()
    +336            for m, gbm_mobility in enumerate(gbm_mobilities):
    +337                if m == 0:
    +338                    return_fse = True
    +339                else:
    +340                    return_fse = False
    +341
    +342                params = {
    +343                    "olivine_fraction": 1.0,
    +344                    "enstatite_fraction": 0.0,
    +345                    "stress_exponent": 1.5,
    +346                    "deformation_exponent": 3.5,
    +347                    "gbm_mobility": gbm_mobility,
    +348                    "gbs_threshold": gbs_threshold,
    +349                    "nucleation_efficiency": nucleation_efficiency,
    +350                    "number_of_grains": 5000,
    +351                    "initial_olivine_fabric": "A",
    +352                }
    +353
    +354                _run = ft.partial(
    +355                    self.run,
    +356                    params,
    +357                    timestamps,
    +358                    strain_rate,
    +359                    get_velocity_gradient,
    +360                    shear_direction,
    +361                    return_fse=return_fse,
    +362                )
    +363                with Pool(processes=ncpus) as pool:
    +364                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    +365                        mineral, fse_angles = out
    +366                        angles[m, s, :] = [
    +367                            _diagnostics.smallest_angle(v, shear_direction)
    +368                            for v in _diagnostics.elasticity_components(
    +369                                _minerals.voigt_averages([mineral], params)
    +370                            )["hexagonal_axis"]
    +371                        ]
    +372                        # Save the whole mineral for the first seed only.
    +373                        if outdir is not None and s == 0:
    +374                            postfix = (
    +375                                f"M{_io.stringify(gbm_mobility)}"
    +376                                + f"_X{_io.stringify(gbs_threshold)}"
    +377                                + f"_L{_io.stringify(nucleation_efficiency)}"
    +378                            )
    +379                            mineral.save(f"{out_basepath}.npz", postfix=postfix)
    +380                        if return_fse:
    +381                            θ_fse += fse_angles
    +382
    +383                if return_fse:
    +384                    θ_fse /= n_seeds
    +385
    +386                if outdir is not None:
    +387                    labels.append(f"$M^∗$ = {gbm_mobility}")
    +388
    +389            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    +390
    +391        # Take ensemble means and optionally plot figure.
    +392        strains = timestamps * strain_rate
    +393        _log.info("postprocessing results for %s", _id)
    +394        result_angles = angles.mean(axis=1)
    +395        result_angles_err = angles.std(axis=1)
     396
    -397                _run = ft.partial(
    -398                    self.run,
    -399                    params,
    -400                    timestamps,
    -401                    strain_rate,
    -402                    get_velocity_gradient,
    -403                    shear_direction,
    -404                    return_fse=True,
    -405                )
    -406                with Pool(processes=ncpus) as pool:
    -407                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    -408                        mineral, fse_angles = out
    -409                        angles[m, s, :] = [
    -410                            _diagnostics.smallest_angle(v, shear_direction)
    -411                            for v in _diagnostics.elasticity_components(
    -412                                _minerals.voigt_averages([mineral], params)
    -413                            )["hexagonal_axis"]
    -414                        ]
    -415                        # Save the whole mineral for the first seed only.
    -416                        if outdir is not None and s == 0:
    -417                            mineral.save(
    -418                                f"{out_basepath}.npz",
    -419                                postfix=f"M{_io.stringify(gbm_mobility)}",
    -420                            )
    -421                        if return_fse:
    -422                            θ_fse += fse_angles
    -423
    -424                if return_fse:
    -425                    θ_fse /= n_seeds
    -426
    -427                if outdir is not None:
    -428                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    -429
    -430            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    +397        if outdir is not None:
    +398            schema = {
    +399                "delimiter": ",",
    +400                "missing": "-",
    +401                "fields": [
    +402                    {
    +403                        "name": "strain",
    +404                        "type": "integer",
    +405                        "unit": "percent",
    +406                        "fill": 999999,
    +407                    }
    +408                ],
    +409            }
    +410            np.savez(
    +411                f"{out_basepath}.npz",
    +412                angles=result_angles,
    +413                angles_err=result_angles_err,
    +414            )
    +415            _io.save_scsv(
    +416                f"{out_basepath}_strains.scsv",
    +417                schema,
    +418                [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    +419            )
    +420            fig, ax, colors = _vis.alignment(
    +421                None,
    +422                strains,
    +423                result_angles,
    +424                markers,
    +425                labels,
    +426                err=result_angles_err,
    +427                θ_max=60,
    +428                θ_fse=θ_fse,
    +429            )
    +430            fig.savefig(_io.resolve_path(f"{out_basepath}.pdf"))
     431
    -432            # Take ensemble means and optionally plot figure.
    -433            _log.info("postprocessing results...")
    -434            result_angles = angles.mean(axis=1)
    -435            result_angles_err = angles.std(axis=1)
    -436
    -437            if outdir is not None:
    -438                schema = {
    -439                    "delimiter": ",",
    -440                    "missing": "-",
    -441                    "fields": [
    -442                        {
    -443                            "name": "strain",
    -444                            "type": "integer",
    -445                            "unit": "percent",
    -446                            "fill": 999999,
    -447                        }
    -448                    ],
    -449                }
    -450                _io.save_scsv(
    -451                    f"{out_basepath}_strains.scsv",
    -452                    schema,
    -453                    [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    -454                )
    -455                np.savez(
    -456                    f"{out_basepath}_angles.npz",
    -457                    angles=result_angles,
    -458                    err=result_angles_err,
    -459                )
    -460                fig, ax, colors = _vis.alignment(
    -461                    None,
    -462                    strains,
    -463                    result_angles,
    -464                    markers,
    -465                    labels,
    -466                    err=result_angles_err,
    -467                    θ_max=60,
    -468                    θ_fse=θ_fse,
    -469                )
    -470                ax.plot(strains, M0_drexF90, c=colors[0])
    -471                ax.plot(strains, M50_drexF90, c=colors[2])
    -472                ax.plot(strains, M200_drexF90, c=colors[4])
    -473                _vis.show_Skemer2016_ShearStrainAngles(
    -474                    ax,
    -475                    ["Z&K 1200 C", "Z&K 1300 C"],
    -476                    ["v", "^"],
    -477                    ["k", "k"],
    -478                    ["none", None],
    -479                    [
    -480                        "Zhang & Karato, 1995\n(1473 K)",
    -481                        "Zhang & Karato, 1995\n(1573 K)",
    -482                    ],
    -483                    _core.MineralFabric.olivine_A,
    -484                )
    -485                # There is a lot of stuff on this legend, so put it outside the axes.
    -486                # These values might need to be tweaked depending on the font size, etc.
    -487                _legend = _utils.redraw_legend(ax, fig=fig, bbox_to_anchor=(1.66, 0.99))
    -488                fig.savefig(
    -489                    _io.resolve_path(f"{out_basepath}.pdf"),
    -490                    bbox_extra_artists=(_legend,),
    -491                    bbox_inches="tight",
    -492                )
    -493
    -494            # Check that GBM speeds up the alignment between 40% and 100% strain.
    -495            _log.info("checking grain orientations...")
    -496            for i, θ in enumerate(result_angles[:-1], start=1):
    -497                nt.assert_array_less(
    -498                    result_angles[i][i_strain_40p:i_strain_100p],
    -499                    θ[i_strain_40p:i_strain_100p],
    -500                )
    -501
    -502            # Check that M*=0 matches FSE (±1°) past 100% strain.
    -503            nt.assert_allclose(
    -504                result_angles[0][i_strain_100p:],
    -505                θ_fse[i_strain_100p:],
    -506                atol=1,
    -507                rtol=0,
    -508            )
    -509
    -510            # Check that results match Fortran output past 40% strain.
    -511            nt.assert_allclose(
    -512                result_angles[0][i_strain_40p:],
    -513                M0_drexF90[i_strain_40p:],
    -514                atol=0,
    -515                rtol=0.1,  # At 40% strain the match is worse than at higher strain.
    -516            )
    -517            nt.assert_allclose(
    -518                result_angles[2][i_strain_40p:],
    -519                M50_drexF90[i_strain_40p:],
    -520                atol=1,
    -521                rtol=0,
    -522            )
    -523            nt.assert_allclose(
    -524                result_angles[4][i_strain_40p:],
    -525                M200_drexF90[i_strain_40p:],
    -526                atol=1.5,
    -527                rtol=0,
    -528            )
    -529
    -530    @pytest.mark.slow
    -531    def test_GBM_calibration(self, outdir, seeds, ncpus):
    -532        r"""Compare results for various values of $$M^∗$$ to A-type olivine data.
    -533
    -534        Velocity gradient:
    -535        $$
    -536        \bm{L} = 10^{-4} ×
    -537            \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}
    -538        $$
    -539
    -540        Unlike `test_dvdx_GBM`,
    -541        grain boudary sliding is enabled here (see `_io.DEFAULT_PARAMS`).
    -542        Data are provided by [Skemer & Hansen, 2016](http://dx.doi.org/10.1016/j.tecto.2015.12.003).
    -543
    -544        """
    -545        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    -546        strain_rate = 1
    -547        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    -548        timestamps = np.linspace(0, 3.2, 65)  # Solve until D₀t=3.2 ('shear' γ=6.4).
    -549        params = _io.DEFAULT_PARAMS
    -550        params["number_of_grains"] = 5000
    -551        gbm_mobilities = (0, 10, 50, 125)  # Must be in ascending order.
    -552        markers = ("x", "*", "1", ".")
    -553        # Uses 100 seeds by default; use all 1000 if you have more RAM and CPU time.
    -554        _seeds = seeds[:100]
    -555        n_seeds = len(_seeds)
    -556        angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps)))
    -557        θ_fse = np.zeros_like(timestamps)
    -558        strains = timestamps * strain_rate
    -559
    -560        optional_logging = cl.nullcontext()
    -561        if outdir is not None:
    -562            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_calibration"
    -563            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    -564            labels = []
    -565
    -566        with optional_logging:
    -567            clock_start = process_time()
    -568            for m, gbm_mobility in enumerate(gbm_mobilities):
    -569                return_fse = True if m == 0 else False
    -570                params["gbm_mobility"] = gbm_mobility
    -571                _run = ft.partial(
    -572                    self.run,
    -573                    params,
    -574                    timestamps,
    -575                    strain_rate,
    -576                    get_velocity_gradient,
    -577                    shear_direction,
    -578                    return_fse=return_fse,
    -579                )
    -580                with Pool(processes=ncpus) as pool:
    -581                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    -582                        mineral, fse_angles = out
    -583                        angles[m, s, :] = [
    -584                            _diagnostics.smallest_angle(v, shear_direction)
    -585                            for v in _diagnostics.elasticity_components(
    -586                                _minerals.voigt_averages([mineral], params)
    -587                            )["hexagonal_axis"]
    -588                        ]
    -589                        # Save the whole mineral for the first seed only.
    -590                        if outdir is not None and s == 0:
    -591                            mineral.save(
    -592                                f"{out_basepath}.npz",
    -593                                postfix=f"M{_io.stringify(gbm_mobility)}",
    -594                            )
    -595                        if return_fse:
    -596                            θ_fse += fse_angles
    -597
    -598                if return_fse:
    -599                    θ_fse /= n_seeds
    -600
    -601                if outdir is not None:
    -602                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    -603
    -604            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    -605
    -606            # Take ensemble means and optionally plot figure.
    -607            _log.info("postprocessing results...")
    -608            result_angles = angles.mean(axis=1)
    -609            result_angles_err = angles.std(axis=1)
    +432    @pytest.mark.slow
    +433    def test_dvdx_GBM(self, outdir, seeds_nearX45, ncpus):
    +434        r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X).
    +435
    +436        Velocity gradient:
    +437        $$
    +438        \bm{L} = 10^{-4} ×
    +439            \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}
    +440        $$
    +441
    +442        Results are compared to the Fortran 90 output.
    +443
    +444        """
    +445        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    +446        strain_rate = 1e-4
    +447        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    +448        timestamps = np.linspace(0, 1e4, 51)  # Solve until D₀t=1 ('shear' γ=2).
    +449        i_strain_40p = 10  # Index of 40% strain, lower strains are not relevant here.
    +450        i_strain_100p = 25  # Index of 100% strain, when M*=0 matches FSE.
    +451        params = _io.DEFAULT_PARAMS
    +452        params["gbs_threshold"] = 0  # No GBS, to match the Fortran parameters.
    +453        gbm_mobilities = (0, 10, 50, 125, 200)  # Must be in ascending order.
    +454        markers = ("x", ".", "*", "d", "s")
    +455        # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time.
    +456        _seeds = seeds_nearX45
    +457        n_seeds = len(_seeds)
    +458        angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps)))
    +459        θ_fse = np.zeros_like(timestamps)
    +460        strains = timestamps * strain_rate
    +461        M0_drexF90, M50_drexF90, M200_drexF90 = self.interp_GBM_FortranDRex(strains)
    +462
    +463        optional_logging = cl.nullcontext()
    +464        if outdir is not None:
    +465            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility"
    +466            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +467            labels = []
    +468
    +469        with optional_logging:
    +470            clock_start = process_time()
    +471            for m, gbm_mobility in enumerate(gbm_mobilities):
    +472                if m == 0:
    +473                    return_fse = True
    +474                else:
    +475                    return_fse = False
    +476                params["gbm_mobility"] = gbm_mobility
    +477
    +478                _run = ft.partial(
    +479                    self.run,
    +480                    params,
    +481                    timestamps,
    +482                    strain_rate,
    +483                    get_velocity_gradient,
    +484                    shear_direction,
    +485                    return_fse=True,
    +486                )
    +487                with Pool(processes=ncpus) as pool:
    +488                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    +489                        mineral, fse_angles = out
    +490                        angles[m, s, :] = [
    +491                            _diagnostics.smallest_angle(v, shear_direction)
    +492                            for v in _diagnostics.elasticity_components(
    +493                                _minerals.voigt_averages([mineral], params)
    +494                            )["hexagonal_axis"]
    +495                        ]
    +496                        # Save the whole mineral for the first seed only.
    +497                        if outdir is not None and s == 0:
    +498                            mineral.save(
    +499                                f"{out_basepath}.npz",
    +500                                postfix=f"M{_io.stringify(gbm_mobility)}",
    +501                            )
    +502                        if return_fse:
    +503                            θ_fse += fse_angles
    +504
    +505                if return_fse:
    +506                    θ_fse /= n_seeds
    +507
    +508                if outdir is not None:
    +509                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    +510
    +511            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    +512
    +513            # Take ensemble means and optionally plot figure.
    +514            _log.info("postprocessing results...")
    +515            result_angles = angles.mean(axis=1)
    +516            result_angles_err = angles.std(axis=1)
    +517
    +518            if outdir is not None:
    +519                schema = {
    +520                    "delimiter": ",",
    +521                    "missing": "-",
    +522                    "fields": [
    +523                        {
    +524                            "name": "strain",
    +525                            "type": "integer",
    +526                            "unit": "percent",
    +527                            "fill": 999999,
    +528                        }
    +529                    ],
    +530                }
    +531                _io.save_scsv(
    +532                    f"{out_basepath}_strains.scsv",
    +533                    schema,
    +534                    [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    +535                )
    +536                np.savez(
    +537                    f"{out_basepath}_angles.npz",
    +538                    angles=result_angles,
    +539                    err=result_angles_err,
    +540                )
    +541                fig, ax, colors = _vis.alignment(
    +542                    None,
    +543                    strains,
    +544                    result_angles,
    +545                    markers,
    +546                    labels,
    +547                    err=result_angles_err,
    +548                    θ_max=60,
    +549                    θ_fse=θ_fse,
    +550                )
    +551                ax.plot(strains, M0_drexF90, c=colors[0])
    +552                ax.plot(strains, M50_drexF90, c=colors[2])
    +553                ax.plot(strains, M200_drexF90, c=colors[4])
    +554                _vis.show_Skemer2016_ShearStrainAngles(
    +555                    ax,
    +556                    ["Z&K 1200 C", "Z&K 1300 C"],
    +557                    ["v", "^"],
    +558                    ["k", "k"],
    +559                    ["none", None],
    +560                    [
    +561                        "Zhang & Karato, 1995\n(1473 K)",
    +562                        "Zhang & Karato, 1995\n(1573 K)",
    +563                    ],
    +564                    _core.MineralFabric.olivine_A,
    +565                )
    +566                # There is a lot of stuff on this legend, so put it outside the axes.
    +567                # These values might need to be tweaked depending on the font size, etc.
    +568                _legend = _utils.redraw_legend(ax, fig=fig, bbox_to_anchor=(1.66, 0.99))
    +569                fig.savefig(
    +570                    _io.resolve_path(f"{out_basepath}.pdf"),
    +571                    bbox_extra_artists=(_legend,),
    +572                    bbox_inches="tight",
    +573                )
    +574
    +575            # Check that GBM speeds up the alignment between 40% and 100% strain.
    +576            _log.info("checking grain orientations...")
    +577            for i, θ in enumerate(result_angles[:-1], start=1):
    +578                nt.assert_array_less(
    +579                    result_angles[i][i_strain_40p:i_strain_100p],
    +580                    θ[i_strain_40p:i_strain_100p],
    +581                )
    +582
    +583            # Check that M*=0 matches FSE (±1°) past 100% strain.
    +584            nt.assert_allclose(
    +585                result_angles[0][i_strain_100p:],
    +586                θ_fse[i_strain_100p:],
    +587                atol=1,
    +588                rtol=0,
    +589            )
    +590
    +591            # Check that results match Fortran output past 40% strain.
    +592            nt.assert_allclose(
    +593                result_angles[0][i_strain_40p:],
    +594                M0_drexF90[i_strain_40p:],
    +595                atol=0,
    +596                rtol=0.1,  # At 40% strain the match is worse than at higher strain.
    +597            )
    +598            nt.assert_allclose(
    +599                result_angles[2][i_strain_40p:],
    +600                M50_drexF90[i_strain_40p:],
    +601                atol=1,
    +602                rtol=0,
    +603            )
    +604            nt.assert_allclose(
    +605                result_angles[4][i_strain_40p:],
    +606                M200_drexF90[i_strain_40p:],
    +607                atol=1.5,
    +608                rtol=0,
    +609            )
     610
    -611            if outdir is not None:
    -612                schema = {
    -613                    "delimiter": ",",
    -614                    "missing": "-",
    -615                    "fields": [
    -616                        {
    -617                            "name": "strain",
    -618                            "type": "integer",
    -619                            "unit": "percent",
    -620                            "fill": 999999,
    -621                        }
    -622                    ],
    -623                }
    -624                _io.save_scsv(
    -625                    f"{out_basepath}_strains.scsv",
    -626                    schema,
    -627                    [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    -628                )
    -629                np.savez(
    -630                    _io.resolve_path(f"{out_basepath}_ensemble_means.npz"),
    -631                    angles=result_angles,
    -632                    err=result_angles_err,
    -633                )
    -634                fig = _vis.figure(
    -635                    figsize=(_vis.DEFAULT_FIG_WIDTH * 3, _vis.DEFAULT_FIG_HEIGHT)
    -636                )
    -637                fig, ax, colors = _vis.alignment(
    -638                    fig.add_subplot(),
    -639                    strains,
    -640                    result_angles,
    -641                    markers,
    -642                    labels,
    -643                    err=result_angles_err,
    -644                    θ_max=80,
    -645                    θ_fse=θ_fse,
    -646                )
    -647                (
    -648                    _,
    -649                    _,
    -650                    _,
    -651                    data_Skemer2016,
    -652                    indices,
    -653                ) = _vis.show_Skemer2016_ShearStrainAngles(
    -654                    ax,
    -655                    [
    -656                        "Z&K 1200 C",
    -657                        "Z&K 1300 C",
    -658                        "Skemer 2011",
    -659                        "Hansen 2014",
    -660                        "Warren 2008",
    -661                        "Webber 2010",
    -662                        "H&W 2015",
    -663                    ],
    -664                    ["v", "^", "o", "s", "v", "o", "s"],
    -665                    ["k", "k", "k", "k", "k", "k", "k"],
    -666                    ["none", "none", "none", "none", None, None, None],
    -667                    [
    -668                        "Zhang & Karato, 1995 (1473 K)",
    -669                        "Zhang & Karato, 1995 (1573 K)",
    -670                        "Skemer et al., 2011 (1500 K)",
    -671                        "Hansen et al., 2014 (1473 K)",
    -672                        "Warren et al., 2008",
    -673                        "Webber et al., 2010",
    -674                        "Hansen & Warren, 2015",
    -675                    ],
    -676                    fabric=_core.MineralFabric.olivine_A,
    -677                )
    -678                _legend = _utils.redraw_legend(ax, loc="upper right", ncols=3)
    -679                fig.savefig(
    -680                    _io.resolve_path(f"{out_basepath}.pdf"),
    -681                    bbox_extra_artists=(_legend,),
    -682                    bbox_inches="tight",
    -683                )
    -684                r2vals = []
    -685                for angles in result_angles:
    -686                    _angles = PchipInterpolator(strains, angles)
    -687                    r2 = np.sum(
    -688                        [
    -689                            (a - b) ** 2
    -690                            for a, b in zip(
    -691                                _angles(
    -692                                    np.take(data_Skemer2016.shear_strain, indices) / 200
    -693                                ),
    -694                                np.take(data_Skemer2016.angle, indices),
    -695                            )
    -696                        ]
    -697                    )
    -698                    r2vals.append(r2)
    -699                _log.info(
    -700                    "Sums of squared residuals (r-values) for each M∗: %s", r2vals
    -701                )
    +611    @pytest.mark.slow
    +612    def test_GBM_calibration(self, outdir, seeds, ncpus):
    +613        r"""Compare results for various values of $$M^∗$$ to A-type olivine data.
    +614
    +615        Velocity gradient:
    +616        $$
    +617        \bm{L} = 10^{-4} ×
    +618            \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}
    +619        $$
    +620
    +621        Unlike `test_dvdx_GBM`,
    +622        grain boudary sliding is enabled here (see `_io.DEFAULT_PARAMS`).
    +623        Data are provided by [Skemer & Hansen, 2016](http://dx.doi.org/10.1016/j.tecto.2015.12.003).
    +624
    +625        """
    +626        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    +627        strain_rate = 1
    +628        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    +629        timestamps = np.linspace(0, 3.2, 65)  # Solve until D₀t=3.2 ('shear' γ=6.4).
    +630        params = _io.DEFAULT_PARAMS
    +631        params["number_of_grains"] = 5000
    +632        gbm_mobilities = (0, 10, 50, 125)  # Must be in ascending order.
    +633        markers = ("x", "*", "1", ".")
    +634        # Uses 100 seeds by default; use all 1000 if you have more RAM and CPU time.
    +635        _seeds = seeds[:100]
    +636        n_seeds = len(_seeds)
    +637        angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps)))
    +638        θ_fse = np.zeros_like(timestamps)
    +639        strains = timestamps * strain_rate
    +640
    +641        optional_logging = cl.nullcontext()
    +642        if outdir is not None:
    +643            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_calibration"
    +644            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +645            labels = []
    +646
    +647        with optional_logging:
    +648            clock_start = process_time()
    +649            for m, gbm_mobility in enumerate(gbm_mobilities):
    +650                return_fse = True if m == 0 else False
    +651                params["gbm_mobility"] = gbm_mobility
    +652                _run = ft.partial(
    +653                    self.run,
    +654                    params,
    +655                    timestamps,
    +656                    strain_rate,
    +657                    get_velocity_gradient,
    +658                    shear_direction,
    +659                    return_fse=return_fse,
    +660                )
    +661                with Pool(processes=ncpus) as pool:
    +662                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    +663                        mineral, fse_angles = out
    +664                        angles[m, s, :] = [
    +665                            _diagnostics.smallest_angle(v, shear_direction)
    +666                            for v in _diagnostics.elasticity_components(
    +667                                _minerals.voigt_averages([mineral], params)
    +668                            )["hexagonal_axis"]
    +669                        ]
    +670                        # Save the whole mineral for the first seed only.
    +671                        if outdir is not None and s == 0:
    +672                            mineral.save(
    +673                                f"{out_basepath}.npz",
    +674                                postfix=f"M{_io.stringify(gbm_mobility)}",
    +675                            )
    +676                        if return_fse:
    +677                            θ_fse += fse_angles
    +678
    +679                if return_fse:
    +680                    θ_fse /= n_seeds
    +681
    +682                if outdir is not None:
    +683                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    +684
    +685            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    +686
    +687            # Take ensemble means and optionally plot figure.
    +688            _log.info("postprocessing results...")
    +689            result_angles = angles.mean(axis=1)
    +690            result_angles_err = angles.std(axis=1)
    +691
    +692            if outdir is not None:
    +693                schema = {
    +694                    "delimiter": ",",
    +695                    "missing": "-",
    +696                    "fields": [
    +697                        {
    +698                            "name": "strain",
    +699                            "type": "integer",
    +700                            "unit": "percent",
    +701                            "fill": 999999,
    +702                        }
    +703                    ],
    +704                }
    +705                _io.save_scsv(
    +706                    f"{out_basepath}_strains.scsv",
    +707                    schema,
    +708                    [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    +709                )
    +710                np.savez(
    +711                    _io.resolve_path(f"{out_basepath}_ensemble_means.npz"),
    +712                    angles=result_angles,
    +713                    err=result_angles_err,
    +714                )
    +715                fig = _vis.figure(
    +716                    figsize=(_vis.DEFAULT_FIG_WIDTH * 3, _vis.DEFAULT_FIG_HEIGHT)
    +717                )
    +718                fig, ax, colors = _vis.alignment(
    +719                    fig.add_subplot(),
    +720                    strains,
    +721                    result_angles,
    +722                    markers,
    +723                    labels,
    +724                    err=result_angles_err,
    +725                    θ_max=80,
    +726                    θ_fse=θ_fse,
    +727                )
    +728                (
    +729                    _,
    +730                    _,
    +731                    _,
    +732                    data_Skemer2016,
    +733                    indices,
    +734                ) = _vis.show_Skemer2016_ShearStrainAngles(
    +735                    ax,
    +736                    [
    +737                        "Z&K 1200 C",
    +738                        "Z&K 1300 C",
    +739                        "Skemer 2011",
    +740                        "Hansen 2014",
    +741                        "Warren 2008",
    +742                        "Webber 2010",
    +743                        "H&W 2015",
    +744                    ],
    +745                    ["v", "^", "o", "s", "v", "o", "s"],
    +746                    ["k", "k", "k", "k", "k", "k", "k"],
    +747                    ["none", "none", "none", "none", None, None, None],
    +748                    [
    +749                        "Zhang & Karato, 1995 (1473 K)",
    +750                        "Zhang & Karato, 1995 (1573 K)",
    +751                        "Skemer et al., 2011 (1500 K)",
    +752                        "Hansen et al., 2014 (1473 K)",
    +753                        "Warren et al., 2008",
    +754                        "Webber et al., 2010",
    +755                        "Hansen & Warren, 2015",
    +756                    ],
    +757                    fabric=_core.MineralFabric.olivine_A,
    +758                )
    +759                _legend = _utils.redraw_legend(ax, loc="upper right", ncols=3)
    +760                fig.savefig(
    +761                    _io.resolve_path(f"{out_basepath}.pdf"),
    +762                    bbox_extra_artists=(_legend,),
    +763                    bbox_inches="tight",
    +764                )
    +765                r2vals = []
    +766                for angles in result_angles:
    +767                    _angles = PchipInterpolator(strains, angles)
    +768                    r2 = np.sum(
    +769                        [
    +770                            (a - b) ** 2
    +771                            for a, b in zip(
    +772                                _angles(
    +773                                    np.take(data_Skemer2016.shear_strain, indices) / 200
    +774                                ),
    +775                                np.take(data_Skemer2016.angle, indices),
    +776                            )
    +777                        ]
    +778                    )
    +779                    r2vals.append(r2)
    +780                _log.info(
    +781                    "Sums of squared residuals (r-values) for each M∗: %s", r2vals
    +782                )
    +783
    +784    @pytest.mark.big
    +785    def test_dudz_pathline(self, outdir, seed):
    +786        """Test alignment of olivine a-axis for a polycrystal advected on a pathline."""
    +787        test_id = "dudz_pathline"
    +788        optional_logging = cl.nullcontext()
    +789        if outdir is not None:
    +790            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_{test_id}"
    +791            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +792
    +793        with optional_logging:
    +794            shear_direction = [1, 0, 0]  # Used to calculate the angular diagnostics.
    +795            strain_rate = 1e-15  # Moderate, realistic shear in the upper mantle.
    +796            get_velocity, get_velocity_gradient = _velocity.simple_shear_2d(
    +797                "X", "Z", strain_rate
    +798            )
    +799            n_timesteps = 10
    +800            timestamps, get_position = _paths.get_pathline(
    +801                Ŋ([1e5, 0e0, 1e5]),
    +802                get_velocity,
    +803                get_velocity_gradient,
    +804                Ŋ([-2e5, 0e0, -2e5]),
    +805                Ŋ([2e5, 0e0, 2e5]),
    +806                2,
    +807                regular_steps=n_timesteps,
    +808            )
    +809            positions = [get_position(t) for t in timestamps]
    +810            velocity_gradients = [get_velocity_gradient(Ŋ(x)) for x in positions]
    +811
    +812            params = _io.DEFAULT_PARAMS
    +813            params["number_of_grains"] = 5000
    +814            olA = _minerals.Mineral(n_grains=params["number_of_grains"], seed=seed)
    +815            deformation_gradient = np.eye(3)
    +816            strains = np.zeros_like(timestamps)
    +817            for t, time in enumerate(timestamps[:-1], start=1):
    +818                strains[t] = strains[t - 1] + (
    +819                    _utils.strain_increment(timestamps[t] - time, velocity_gradients[t])
    +820                )
    +821                _log.info("step %d/%d (ε = %.2f)", t, len(timestamps) - 1, strains[t])
    +822                deformation_gradient = olA.update_orientations(
    +823                    params,
    +824                    deformation_gradient,
    +825                    get_velocity_gradient,
    +826                    pathline=(time, timestamps[t], get_position),
    +827                )
    +828
    +829            orient_resampled, fractions_resampled = _stats.resample_orientations(
    +830                olA.orientations, olA.fractions, seed=seed
    +831            )
    +832            # About 36GB, 26 min needed with float64. GitHub macos runner has 14GB.
    +833            misorient_indices = _diagnostics.misorientation_indices(
    +834                orient_resampled,
    +835                _geo.LatticeSystem.orthorhombic,
    +836                ncpus=3,
    +837            )
    +838            cpo_vectors = np.zeros((n_timesteps + 1, 3))
    +839            cpo_angles = np.zeros(n_timesteps + 1)
    +840            for i, matrices in enumerate(orient_resampled):
    +841                cpo_vectors[i] = _diagnostics.bingham_average(
    +842                    matrices,
    +843                    axis=_minerals.OLIVINE_PRIMARY_AXIS[olA.fabric],
    +844                )
    +845                cpo_angles[i] = _diagnostics.smallest_angle(
    +846                    cpo_vectors[i], Ŋ(shear_direction, dtype=np.float64)
    +847                )
    +848
    +849            # Check for mostly decreasing CPO angles (exclude initial condition).
    +850            _log.debug("cpo angles: %s", cpo_angles)
    +851            nt.assert_array_less(np.diff(cpo_angles[1:]), np.ones(n_timesteps - 1))
    +852            # Check for increasing CPO strength (M-index).
    +853            _log.debug("cpo strengths: %s", misorient_indices)
    +854            nt.assert_array_less(
    +855                np.full(n_timesteps, -0.01), np.diff(misorient_indices)
    +856            )
    +857            # Check that last angle is <5° (M*=125) or <10° (M*=10).
    +858            assert cpo_angles[-1] < 5
    +859
    +860        if outdir is not None:
    +861            fig, ax, _, _ = _vis.pathline_box2d(
    +862                None,
    +863                get_velocity,
    +864                "xz",
    +865                strains,
    +866                positions,
    +867                ".",
    +868                Ŋ([-2e5, -2e5]),
    +869                Ŋ([2e5, 2e5]),
    +870                [20, 20],
    +871                cpo_vectors=cpo_vectors,
    +872                cpo_strengths=misorient_indices,
    +873            )
    +874            fig.savefig(f"{out_basepath}.pdf")
     
    @@ -1543,27 +2005,6 @@

    -

    -
    - -
    -
    @classmethod
    - - def - get_position(cls, t): - - - -
    - -
    32    @classmethod
    -33    def get_position(cls, t):
    -34        return np.zeros(3)  # These crystals are stationary.
    -
    - - - -
    @@ -1571,77 +2012,78 @@

    @classmethod
    def - run( cls, params, timestamps, strain_rate, get_velocity_gradient, shear_direction, seed=None, return_fse=None): + run( cls, params, timestamps, strain_rate, get_velocity_gradient, shear_direction, seed=None, return_fse=None, get_position=<function TestOlivineA.<lambda>>):

    -
     36    @classmethod
    - 37    def run(
    - 38        cls,
    - 39        params,
    - 40        timestamps,
    - 41        strain_rate,
    - 42        get_velocity_gradient,
    - 43        shear_direction,
    - 44        seed=None,
    - 45        return_fse=None,
    - 46    ):
    - 47        """Reusable logic for 2D olivine (A-type) simple shear tests.
    - 48
    - 49        Returns a tuple with the mineral and the FSE angle (or `None` if `return_fse` is
    - 50        `None`).
    - 51
    - 52        """
    - 53        mineral = _minerals.Mineral(
    - 54            phase=_core.MineralPhase.olivine,
    - 55            fabric=_core.MineralFabric.olivine_A,
    - 56            regime=_core.DeformationRegime.dislocation,
    - 57            n_grains=params["number_of_grains"],
    - 58            seed=seed,
    - 59        )
    - 60        deformation_gradient = np.eye(3)  # Undeformed initial state.
    - 61        θ_fse = np.empty_like(timestamps)
    - 62        θ_fse[0] = 45
    - 63
    - 64        for t, time in enumerate(timestamps[:-1], start=1):
    - 65            # Set up logging message depending on dynamic parameter and seeds.
    - 66            msg_start = (
    - 67                f"N = {params['number_of_grains']}; "
    - 68                + f"λ∗ = {params['nucleation_efficiency']}; "
    - 69                + f"X = {params['gbs_threshold']}; "
    - 70                + f"M∗ = {params['gbm_mobility']}; "
    - 71            )
    - 72            if seed is not None:
    - 73                msg_start += f"# {seed}; "
    - 74
    - 75            _log.info(msg_start + "step %s/%s (t = %s)", t, len(timestamps) - 1, time)
    - 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            else:
    - 98                θ_fse = None
    - 99
    -100        return mineral, θ_fse
    +            
    116    @classmethod
    +117    def run(
    +118        cls,
    +119        params,
    +120        timestamps,
    +121        strain_rate,
    +122        get_velocity_gradient,
    +123        shear_direction,
    +124        seed=None,
    +125        return_fse=None,
    +126        get_position=lambda t: np.zeros(3),  # Stationary particles by default.
    +127    ):
    +128        """Reusable logic for 2D olivine (A-type) simple shear tests.
    +129
    +130        Returns a tuple with the mineral and the FSE angle (or `None` if `return_fse` is
    +131        `None`).
    +132
    +133        """
    +134        mineral = _minerals.Mineral(
    +135            phase=_core.MineralPhase.olivine,
    +136            fabric=_core.MineralFabric.olivine_A,
    +137            regime=_core.DeformationRegime.dislocation,
    +138            n_grains=params["number_of_grains"],
    +139            seed=seed,
    +140        )
    +141        deformation_gradient = np.eye(3)  # Undeformed initial state.
    +142        θ_fse = np.empty_like(timestamps)
    +143        θ_fse[0] = 45
    +144
    +145        for t, time in enumerate(timestamps[:-1], start=1):
    +146            # Set up logging message depending on dynamic parameter and seeds.
    +147            msg_start = (
    +148                f"N = {params['number_of_grains']}; "
    +149                + f"λ∗ = {params['nucleation_efficiency']}; "
    +150                + f"X = {params['gbs_threshold']}; "
    +151                + f"M∗ = {params['gbm_mobility']}; "
    +152            )
    +153            if seed is not None:
    +154                msg_start += f"# {seed}; "
    +155
    +156            _log.info(msg_start + "step %s/%s (t = %s)", t, len(timestamps) - 1, time)
    +157
    +158            deformation_gradient = mineral.update_orientations(
    +159                params,
    +160                deformation_gradient,
    +161                get_velocity_gradient,
    +162                pathline=(time, timestamps[t], get_position),
    +163            )
    +164            _log.debug(
    +165                "› velocity gradient = %s",
    +166                get_velocity_gradient(None).flatten(),
    +167            )
    +168            _log.debug("› strain D₀t = %.2f", strain_rate * timestamps[t])
    +169            _log.debug(
    +170                "› grain fractions: median = %s, max = %s, min = %s",
    +171                np.median(mineral.fractions[-1]),
    +172                np.max(mineral.fractions[-1]),
    +173                np.min(mineral.fractions[-1]),
    +174            )
    +175            if return_fse:
    +176                _, fse_v = _diagnostics.finite_strain(deformation_gradient)
    +177                θ_fse[t] = _diagnostics.smallest_angle(fse_v, shear_direction)
    +178            else:
    +179                θ_fse = None
    +180
    +181        return mineral, θ_fse
     
    @@ -1665,24 +2107,24 @@

    -
    102    @classmethod
    -103    def interp_GBM_Kaminski2001(cls, strains):
    -104        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    -105        _log.info("interpolating target CPO angles...")
    -106        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv")
    -107        cs_M0 = PchipInterpolator(
    -108            _utils.remove_nans(data.equivalent_strain_M0) / 200,
    -109            _utils.remove_nans(data.angle_M0),
    -110        )
    -111        cs_M50 = PchipInterpolator(
    -112            _utils.remove_nans(data.equivalent_strain_M50) / 200,
    -113            _utils.remove_nans(data.angle_M50),
    -114        )
    -115        cs_M200 = PchipInterpolator(
    -116            _utils.remove_nans(data.equivalent_strain_M200) / 200,
    -117            _utils.remove_nans(data.angle_M200),
    -118        )
    -119        return [cs_M0(strains), cs_M50(strains), cs_M200(strains)]
    +            
    183    @classmethod
    +184    def interp_GBM_Kaminski2001(cls, strains):
    +185        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    +186        _log.info("interpolating target CPO angles...")
    +187        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2001_GBMshear.scsv")
    +188        cs_M0 = PchipInterpolator(
    +189            _utils.remove_nans(data.equivalent_strain_M0) / 200,
    +190            _utils.remove_nans(data.angle_M0),
    +191        )
    +192        cs_M50 = PchipInterpolator(
    +193            _utils.remove_nans(data.equivalent_strain_M50) / 200,
    +194            _utils.remove_nans(data.angle_M50),
    +195        )
    +196        cs_M200 = PchipInterpolator(
    +197            _utils.remove_nans(data.equivalent_strain_M200) / 200,
    +198            _utils.remove_nans(data.angle_M200),
    +199        )
    +200        return [cs_M0(strains), cs_M50(strains), cs_M200(strains)]
     
    @@ -1703,16 +2145,16 @@

    -
    121    @classmethod
    -122    def interp_GBM_FortranDRex(cls, strains):
    -123        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    -124        _log.info("interpolating target CPO  angles...")
    -125        data = _io.read_scsv(_io.data("drexF90") / "olA_D1E4_dt50_X0_L5.scsv")
    -126        data_strains = np.linspace(0, 1, 200)
    -127        cs_M0 = PchipInterpolator(data_strains, _utils.remove_nans(data.M0_angle))
    -128        cs_M50 = PchipInterpolator(data_strains, _utils.remove_nans(data.M50_angle))
    -129        cs_M200 = PchipInterpolator(data_strains, _utils.remove_nans(data.M200_angle))
    -130        return [cs_M0(strains), cs_M50(strains), cs_M200(strains)]
    +            
    202    @classmethod
    +203    def interp_GBM_FortranDRex(cls, strains):
    +204        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    +205        _log.info("interpolating target CPO  angles...")
    +206        data = _io.read_scsv(_io.data("drexF90") / "olA_D1E4_dt50_X0_L5.scsv")
    +207        data_strains = np.linspace(0, 1, 200)
    +208        cs_M0 = PchipInterpolator(data_strains, _utils.remove_nans(data.M0_angle))
    +209        cs_M50 = PchipInterpolator(data_strains, _utils.remove_nans(data.M50_angle))
    +210        cs_M200 = PchipInterpolator(data_strains, _utils.remove_nans(data.M200_angle))
    +211        return [cs_M0(strains), cs_M50(strains), cs_M200(strains)]
     
    @@ -1733,16 +2175,16 @@

    -
    132    @classmethod
    -133    def interp_GBS_FortranDRex(cls, strains):
    -134        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    -135        _log.info("interpolating target CPO  angles...")
    -136        data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_fortran.scsv")
    -137        data_strains = np.linspace(0, 1, 200)
    -138        cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0))
    -139        cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20))
    -140        cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40))
    -141        return [cs_X0(strains), cs_X20(strains), cs_X40(strains)]
    +            
    213    @classmethod
    +214    def interp_GBS_FortranDRex(cls, strains):
    +215        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    +216        _log.info("interpolating target CPO  angles...")
    +217        data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_fortran.scsv")
    +218        data_strains = np.linspace(0, 1, 200)
    +219        cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0))
    +220        cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20))
    +221        cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40))
    +222        return [cs_X0(strains), cs_X20(strains), cs_X40(strains)]
     
    @@ -1763,16 +2205,16 @@

    -
    143    @classmethod
    -144    def interp_GBS_long_FortranDRex(cls, strains):
    -145        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    -146        _log.info("interpolating target CPO  angles...")
    -147        data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_long_fortran.scsv")
    -148        data_strains = np.linspace(0, 2.5, 500)
    -149        cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0))
    -150        cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20))
    -151        cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40))
    -152        return [cs_X0(strains), cs_X20(strains), cs_X40(strains)]
    +            
    224    @classmethod
    +225    def interp_GBS_long_FortranDRex(cls, strains):
    +226        """Interpolate angles produced using 'tools/drex_forward_simpleshear.f90'."""
    +227        _log.info("interpolating target CPO  angles...")
    +228        data = _io.read_scsv(_io.data("thirdparty") / "a_axis_GBS_long_fortran.scsv")
    +229        data_strains = np.linspace(0, 2.5, 500)
    +230        cs_X0 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X0))
    +231        cs_X20 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X20))
    +232        cs_X40 = PchipInterpolator(data_strains, _utils.remove_nans(data.a_mean_X40))
    +233        return [cs_X0(strains), cs_X20(strains), cs_X40(strains)]
     
    @@ -1793,24 +2235,24 @@

    -
    154    @classmethod
    -155    def interp_GBS_Kaminski2004(cls, strains):
    -156        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    -157        _log.info("interpolating target CPO angles...")
    -158        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv")
    -159        cs_X0 = PchipInterpolator(
    -160            _utils.remove_nans(data.dimensionless_time_X0),
    -161            45 + _utils.remove_nans(data.angle_X0),
    -162        )
    -163        cs_X0d2 = PchipInterpolator(
    -164            _utils.remove_nans(data.dimensionless_time_X0d2),
    -165            45 + _utils.remove_nans(data.angle_X0d2),
    -166        )
    -167        cs_X0d4 = PchipInterpolator(
    -168            _utils.remove_nans(data.dimensionless_time_X0d4),
    -169            45 + _utils.remove_nans(data.angle_X0d4),
    -170        )
    -171        return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)]
    +            
    235    @classmethod
    +236    def interp_GBS_Kaminski2004(cls, strains):
    +237        """Interpolate Kaminski & Ribe, 2001 data to get target angles at `strains`."""
    +238        _log.info("interpolating target CPO angles...")
    +239        data = _io.read_scsv(_io.data("thirdparty") / "Kaminski2004_GBSshear.scsv")
    +240        cs_X0 = PchipInterpolator(
    +241            _utils.remove_nans(data.dimensionless_time_X0),
    +242            45 + _utils.remove_nans(data.angle_X0),
    +243        )
    +244        cs_X0d2 = PchipInterpolator(
    +245            _utils.remove_nans(data.dimensionless_time_X0d2),
    +246            45 + _utils.remove_nans(data.angle_X0d2),
    +247        )
    +248        cs_X0d4 = PchipInterpolator(
    +249            _utils.remove_nans(data.dimensionless_time_X0d4),
    +250            45 + _utils.remove_nans(data.angle_X0d4),
    +251        )
    +252        return [cs_X0(strains), cs_X0d2(strains), cs_X0d4(strains)]
     
    @@ -1830,24 +2272,24 @@

    -
    173    def test_zero_recrystallisation(self, seed):
    -174        """Check that M*=0 is a reliable switch to turn off recrystallisation."""
    -175        params = _io.DEFAULT_PARAMS
    -176        params["gbm_mobility"] = 0
    -177        strain_rate = 1
    -178        timestamps = np.linspace(0, 1, 25)  # Solve until D₀t=1 (tensorial strain).
    -179        shear_direction = [0, 1, 0]
    -180        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    -181        mineral, _ = self.run(
    -182            params,
    -183            timestamps,
    -184            strain_rate,
    -185            get_velocity_gradient,
    -186            shear_direction,
    -187            seed=seed,
    -188        )
    -189        for fractions in mineral.fractions[1:]:
    -190            nt.assert_allclose(fractions, mineral.fractions[0], atol=1e-15, rtol=0)
    +            
    254    def test_zero_recrystallisation(self, seed):
    +255        """Check that M*=0 is a reliable switch to turn off recrystallisation."""
    +256        params = _io.DEFAULT_PARAMS
    +257        params["gbm_mobility"] = 0
    +258        strain_rate = 1
    +259        timestamps = np.linspace(0, 1, 25)  # Solve until D₀t=1 (tensorial strain).
    +260        shear_direction = [0, 1, 0]
    +261        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    +262        mineral, _ = self.run(
    +263            params,
    +264            timestamps,
    +265            strain_rate,
    +266            get_velocity_gradient,
    +267            shear_direction,
    +268            seed=seed,
    +269        )
    +270        for fractions in mineral.fractions[1:]:
    +271            nt.assert_allclose(fractions, mineral.fractions[0], atol=1e-15, rtol=0)
     
    @@ -1868,31 +2310,31 @@

    -
    192    @pytest.mark.parametrize("gbm_mobility", [50, 100, 150])
    -193    def test_grainsize_median(self, seed, gbm_mobility):
    -194        """Check that M*={50,100,150}, λ*=5 causes decreasing grain size median."""
    -195        params = _io.DEFAULT_PARAMS
    -196        params["gbm_mobility"] = gbm_mobility
    -197        params["nucleation_efficiency"] = 5
    -198        strain_rate = 1
    -199        timestamps = np.linspace(0, 1, 25)  # Solve until D₀t=1 (tensorial strain).
    -200        n_timestamps = len(timestamps)
    -201        shear_direction = [0, 1, 0]
    -202        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    -203        mineral, _ = self.run(
    -204            params,
    -205            timestamps,
    -206            strain_rate,
    -207            get_velocity_gradient,
    -208            shear_direction,
    -209            seed=seed,
    -210        )
    -211        medians = np.empty(n_timestamps)
    -212        for i, fractions in enumerate(mineral.fractions):
    -213            medians[i] = np.median(fractions)
    -214
    -215        # The first diff is positive (~1e-6) before nucleation sets in.
    -216        nt.assert_array_less(np.diff(medians)[1:], np.full(n_timestamps - 2, 0))
    +            
    273    @pytest.mark.parametrize("gbm_mobility", [50, 100, 150])
    +274    def test_grainsize_median(self, seed, gbm_mobility):
    +275        """Check that M*={50,100,150}, λ*=5 causes decreasing grain size median."""
    +276        params = _io.DEFAULT_PARAMS
    +277        params["gbm_mobility"] = gbm_mobility
    +278        params["nucleation_efficiency"] = 5
    +279        strain_rate = 1
    +280        timestamps = np.linspace(0, 1, 25)  # Solve until D₀t=1 (tensorial strain).
    +281        n_timestamps = len(timestamps)
    +282        shear_direction = [0, 1, 0]
    +283        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    +284        mineral, _ = self.run(
    +285            params,
    +286            timestamps,
    +287            strain_rate,
    +288            get_velocity_gradient,
    +289            shear_direction,
    +290            seed=seed,
    +291        )
    +292        medians = np.empty(n_timestamps)
    +293        for i, fractions in enumerate(mineral.fractions):
    +294            medians[i] = np.median(fractions)
    +295
    +296        # The first diff is positive (~1e-6) before nucleation sets in.
    +297        nt.assert_array_less(np.diff(medians)[1:], np.full(n_timestamps - 2, 0))
     
    @@ -1915,138 +2357,138 @@

    -
    218    @pytest.mark.slow
    -219    @pytest.mark.parametrize("gbs_threshold", [0, 0.2, 0.4])
    -220    @pytest.mark.parametrize("nucleation_efficiency", [3, 5, 10])
    -221    def test_dvdx_ensemble(
    -222        self, outdir, seeds_nearX45, ncpus, gbs_threshold, nucleation_efficiency
    -223    ):
    -224        r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X).
    -225
    -226        Velocity gradient:
    -227        $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$
    -228
    -229        """
    -230        strain_rate = 1
    -231        timestamps = np.linspace(0, 1, 201)  # Solve until D₀t=1 ('shear' γ=2).
    -232        n_timestamps = len(timestamps)
    -233        # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time.
    -234        _seeds = seeds_nearX45
    -235        n_seeds = len(_seeds)
    -236
    -237        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    -238        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    -239
    -240        gbm_mobilities = [0, 50, 125, 200]
    -241        markers = ("x", "*", "d", "s")
    -242
    -243        _id = f"X{_io.stringify(gbs_threshold)}_L{_io.stringify(nucleation_efficiency)}"
    -244        # Output setup with optional logging and data series labels.
    -245        θ_fse = np.empty_like(timestamps)
    -246        angles = np.empty((len(gbm_mobilities), n_seeds, n_timestamps))
    -247        optional_logging = cl.nullcontext()
    -248        if outdir is not None:
    -249            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_ensemble_{_id}"
    -250            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    -251            labels = []
    -252
    -253        with optional_logging:
    -254            clock_start = process_time()
    -255            for m, gbm_mobility in enumerate(gbm_mobilities):
    -256                if m == 0:
    -257                    return_fse = True
    -258                else:
    -259                    return_fse = False
    -260
    -261                params = {
    -262                    "olivine_fraction": 1.0,
    -263                    "enstatite_fraction": 0.0,
    -264                    "stress_exponent": 1.5,
    -265                    "deformation_exponent": 3.5,
    -266                    "gbm_mobility": gbm_mobility,
    -267                    "gbs_threshold": gbs_threshold,
    -268                    "nucleation_efficiency": nucleation_efficiency,
    -269                    "number_of_grains": 5000,
    -270                    "initial_olivine_fabric": "A",
    -271                }
    -272
    -273                _run = ft.partial(
    -274                    self.run,
    -275                    params,
    -276                    timestamps,
    -277                    strain_rate,
    -278                    get_velocity_gradient,
    -279                    shear_direction,
    -280                    return_fse=return_fse,
    -281                )
    -282                with Pool(processes=ncpus) as pool:
    -283                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    -284                        mineral, fse_angles = out
    -285                        angles[m, s, :] = [
    -286                            _diagnostics.smallest_angle(v, shear_direction)
    -287                            for v in _diagnostics.elasticity_components(
    -288                                _minerals.voigt_averages([mineral], params)
    -289                            )["hexagonal_axis"]
    -290                        ]
    -291                        # Save the whole mineral for the first seed only.
    -292                        if outdir is not None and s == 0:
    -293                            postfix = (
    -294                                f"M{_io.stringify(gbm_mobility)}"
    -295                                + f"_X{_io.stringify(gbs_threshold)}"
    -296                                + f"_L{_io.stringify(nucleation_efficiency)}"
    -297                            )
    -298                            mineral.save(f"{out_basepath}.npz", postfix=postfix)
    -299                        if return_fse:
    -300                            θ_fse += fse_angles
    -301
    -302                if return_fse:
    -303                    θ_fse /= n_seeds
    -304
    -305                if outdir is not None:
    -306                    labels.append(f"$M^∗$ = {gbm_mobility}")
    -307
    -308            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    +            
    299    @pytest.mark.slow
    +300    @pytest.mark.parametrize("gbs_threshold", [0, 0.2, 0.4])
    +301    @pytest.mark.parametrize("nucleation_efficiency", [3, 5, 10])
    +302    def test_dvdx_ensemble(
    +303        self, outdir, seeds_nearX45, ncpus, gbs_threshold, nucleation_efficiency
    +304    ):
    +305        r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X).
    +306
    +307        Velocity gradient:
    +308        $$\bm{L} = \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}$$
     309
    -310        # Take ensemble means and optionally plot figure.
    -311        strains = timestamps * strain_rate
    -312        _log.info("postprocessing results for %s", _id)
    -313        result_angles = angles.mean(axis=1)
    -314        result_angles_err = angles.std(axis=1)
    -315
    -316        if outdir is not None:
    -317            schema = {
    -318                "delimiter": ",",
    -319                "missing": "-",
    -320                "fields": [
    -321                    {
    -322                        "name": "strain",
    -323                        "type": "integer",
    -324                        "unit": "percent",
    -325                        "fill": 999999,
    -326                    }
    -327                ],
    -328            }
    -329            np.savez(
    -330                f"{out_basepath}.npz",
    -331                angles=result_angles,
    -332                angles_err=result_angles_err,
    -333            )
    -334            _io.save_scsv(
    -335                f"{out_basepath}_strains.scsv",
    -336                schema,
    -337                [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    -338            )
    -339            fig, ax, colors = _vis.alignment(
    -340                None,
    -341                strains,
    -342                result_angles,
    -343                markers,
    -344                labels,
    -345                err=result_angles_err,
    -346                θ_max=60,
    -347                θ_fse=θ_fse,
    -348            )
    -349            fig.savefig(_io.resolve_path(f"{out_basepath}.pdf"))
    +310        """
    +311        strain_rate = 1
    +312        timestamps = np.linspace(0, 1, 201)  # Solve until D₀t=1 ('shear' γ=2).
    +313        n_timestamps = len(timestamps)
    +314        # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time.
    +315        _seeds = seeds_nearX45
    +316        n_seeds = len(_seeds)
    +317
    +318        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    +319        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    +320
    +321        gbm_mobilities = [0, 50, 125, 200]
    +322        markers = ("x", "*", "d", "s")
    +323
    +324        _id = f"X{_io.stringify(gbs_threshold)}_L{_io.stringify(nucleation_efficiency)}"
    +325        # Output setup with optional logging and data series labels.
    +326        θ_fse = np.empty_like(timestamps)
    +327        angles = np.empty((len(gbm_mobilities), n_seeds, n_timestamps))
    +328        optional_logging = cl.nullcontext()
    +329        if outdir is not None:
    +330            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_dvdx_ensemble_{_id}"
    +331            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +332            labels = []
    +333
    +334        with optional_logging:
    +335            clock_start = process_time()
    +336            for m, gbm_mobility in enumerate(gbm_mobilities):
    +337                if m == 0:
    +338                    return_fse = True
    +339                else:
    +340                    return_fse = False
    +341
    +342                params = {
    +343                    "olivine_fraction": 1.0,
    +344                    "enstatite_fraction": 0.0,
    +345                    "stress_exponent": 1.5,
    +346                    "deformation_exponent": 3.5,
    +347                    "gbm_mobility": gbm_mobility,
    +348                    "gbs_threshold": gbs_threshold,
    +349                    "nucleation_efficiency": nucleation_efficiency,
    +350                    "number_of_grains": 5000,
    +351                    "initial_olivine_fabric": "A",
    +352                }
    +353
    +354                _run = ft.partial(
    +355                    self.run,
    +356                    params,
    +357                    timestamps,
    +358                    strain_rate,
    +359                    get_velocity_gradient,
    +360                    shear_direction,
    +361                    return_fse=return_fse,
    +362                )
    +363                with Pool(processes=ncpus) as pool:
    +364                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    +365                        mineral, fse_angles = out
    +366                        angles[m, s, :] = [
    +367                            _diagnostics.smallest_angle(v, shear_direction)
    +368                            for v in _diagnostics.elasticity_components(
    +369                                _minerals.voigt_averages([mineral], params)
    +370                            )["hexagonal_axis"]
    +371                        ]
    +372                        # Save the whole mineral for the first seed only.
    +373                        if outdir is not None and s == 0:
    +374                            postfix = (
    +375                                f"M{_io.stringify(gbm_mobility)}"
    +376                                + f"_X{_io.stringify(gbs_threshold)}"
    +377                                + f"_L{_io.stringify(nucleation_efficiency)}"
    +378                            )
    +379                            mineral.save(f"{out_basepath}.npz", postfix=postfix)
    +380                        if return_fse:
    +381                            θ_fse += fse_angles
    +382
    +383                if return_fse:
    +384                    θ_fse /= n_seeds
    +385
    +386                if outdir is not None:
    +387                    labels.append(f"$M^∗$ = {gbm_mobility}")
    +388
    +389            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    +390
    +391        # Take ensemble means and optionally plot figure.
    +392        strains = timestamps * strain_rate
    +393        _log.info("postprocessing results for %s", _id)
    +394        result_angles = angles.mean(axis=1)
    +395        result_angles_err = angles.std(axis=1)
    +396
    +397        if outdir is not None:
    +398            schema = {
    +399                "delimiter": ",",
    +400                "missing": "-",
    +401                "fields": [
    +402                    {
    +403                        "name": "strain",
    +404                        "type": "integer",
    +405                        "unit": "percent",
    +406                        "fill": 999999,
    +407                    }
    +408                ],
    +409            }
    +410            np.savez(
    +411                f"{out_basepath}.npz",
    +412                angles=result_angles,
    +413                angles_err=result_angles_err,
    +414            )
    +415            _io.save_scsv(
    +416                f"{out_basepath}_strains.scsv",
    +417                schema,
    +418                [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    +419            )
    +420            fig, ax, colors = _vis.alignment(
    +421                None,
    +422                strains,
    +423                result_angles,
    +424                markers,
    +425                labels,
    +426                err=result_angles_err,
    +427                θ_max=60,
    +428                θ_fse=θ_fse,
    +429            )
    +430            fig.savefig(_io.resolve_path(f"{out_basepath}.pdf"))
     
    @@ -2070,184 +2512,184 @@

    -
    351    @pytest.mark.slow
    -352    def test_dvdx_GBM(self, outdir, seeds_nearX45, ncpus):
    -353        r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X).
    -354
    -355        Velocity gradient:
    -356        $$
    -357        \bm{L} = 10^{-4} ×
    -358            \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}
    -359        $$
    -360
    -361        Results are compared to the Fortran 90 output.
    -362
    -363        """
    -364        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    -365        strain_rate = 1e-4
    -366        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    -367        timestamps = np.linspace(0, 1e4, 51)  # Solve until D₀t=1 ('shear' γ=2).
    -368        i_strain_40p = 10  # Index of 40% strain, lower strains are not relevant here.
    -369        i_strain_100p = 25  # Index of 100% strain, when M*=0 matches FSE.
    -370        params = _io.DEFAULT_PARAMS
    -371        params["gbs_threshold"] = 0  # No GBS, to match the Fortran parameters.
    -372        gbm_mobilities = (0, 10, 50, 125, 200)  # Must be in ascending order.
    -373        markers = ("x", ".", "*", "d", "s")
    -374        # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time.
    -375        _seeds = seeds_nearX45
    -376        n_seeds = len(_seeds)
    -377        angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps)))
    -378        θ_fse = np.zeros_like(timestamps)
    -379        strains = timestamps * strain_rate
    -380        M0_drexF90, M50_drexF90, M200_drexF90 = self.interp_GBM_FortranDRex(strains)
    -381
    -382        optional_logging = cl.nullcontext()
    -383        if outdir is not None:
    -384            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility"
    -385            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    -386            labels = []
    -387
    -388        with optional_logging:
    -389            clock_start = process_time()
    -390            for m, gbm_mobility in enumerate(gbm_mobilities):
    -391                if m == 0:
    -392                    return_fse = True
    -393                else:
    -394                    return_fse = False
    -395                params["gbm_mobility"] = gbm_mobility
    -396
    -397                _run = ft.partial(
    -398                    self.run,
    -399                    params,
    -400                    timestamps,
    -401                    strain_rate,
    -402                    get_velocity_gradient,
    -403                    shear_direction,
    -404                    return_fse=True,
    -405                )
    -406                with Pool(processes=ncpus) as pool:
    -407                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    -408                        mineral, fse_angles = out
    -409                        angles[m, s, :] = [
    -410                            _diagnostics.smallest_angle(v, shear_direction)
    -411                            for v in _diagnostics.elasticity_components(
    -412                                _minerals.voigt_averages([mineral], params)
    -413                            )["hexagonal_axis"]
    -414                        ]
    -415                        # Save the whole mineral for the first seed only.
    -416                        if outdir is not None and s == 0:
    -417                            mineral.save(
    -418                                f"{out_basepath}.npz",
    -419                                postfix=f"M{_io.stringify(gbm_mobility)}",
    -420                            )
    -421                        if return_fse:
    -422                            θ_fse += fse_angles
    -423
    -424                if return_fse:
    -425                    θ_fse /= n_seeds
    -426
    -427                if outdir is not None:
    -428                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    -429
    -430            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    -431
    -432            # Take ensemble means and optionally plot figure.
    -433            _log.info("postprocessing results...")
    -434            result_angles = angles.mean(axis=1)
    -435            result_angles_err = angles.std(axis=1)
    -436
    -437            if outdir is not None:
    -438                schema = {
    -439                    "delimiter": ",",
    -440                    "missing": "-",
    -441                    "fields": [
    -442                        {
    -443                            "name": "strain",
    -444                            "type": "integer",
    -445                            "unit": "percent",
    -446                            "fill": 999999,
    -447                        }
    -448                    ],
    -449                }
    -450                _io.save_scsv(
    -451                    f"{out_basepath}_strains.scsv",
    -452                    schema,
    -453                    [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    -454                )
    -455                np.savez(
    -456                    f"{out_basepath}_angles.npz",
    -457                    angles=result_angles,
    -458                    err=result_angles_err,
    -459                )
    -460                fig, ax, colors = _vis.alignment(
    -461                    None,
    -462                    strains,
    -463                    result_angles,
    -464                    markers,
    -465                    labels,
    -466                    err=result_angles_err,
    -467                    θ_max=60,
    -468                    θ_fse=θ_fse,
    -469                )
    -470                ax.plot(strains, M0_drexF90, c=colors[0])
    -471                ax.plot(strains, M50_drexF90, c=colors[2])
    -472                ax.plot(strains, M200_drexF90, c=colors[4])
    -473                _vis.show_Skemer2016_ShearStrainAngles(
    -474                    ax,
    -475                    ["Z&K 1200 C", "Z&K 1300 C"],
    -476                    ["v", "^"],
    -477                    ["k", "k"],
    -478                    ["none", None],
    -479                    [
    -480                        "Zhang & Karato, 1995\n(1473 K)",
    -481                        "Zhang & Karato, 1995\n(1573 K)",
    -482                    ],
    -483                    _core.MineralFabric.olivine_A,
    -484                )
    -485                # There is a lot of stuff on this legend, so put it outside the axes.
    -486                # These values might need to be tweaked depending on the font size, etc.
    -487                _legend = _utils.redraw_legend(ax, fig=fig, bbox_to_anchor=(1.66, 0.99))
    -488                fig.savefig(
    -489                    _io.resolve_path(f"{out_basepath}.pdf"),
    -490                    bbox_extra_artists=(_legend,),
    -491                    bbox_inches="tight",
    -492                )
    -493
    -494            # Check that GBM speeds up the alignment between 40% and 100% strain.
    -495            _log.info("checking grain orientations...")
    -496            for i, θ in enumerate(result_angles[:-1], start=1):
    -497                nt.assert_array_less(
    -498                    result_angles[i][i_strain_40p:i_strain_100p],
    -499                    θ[i_strain_40p:i_strain_100p],
    -500                )
    -501
    -502            # Check that M*=0 matches FSE (±1°) past 100% strain.
    -503            nt.assert_allclose(
    -504                result_angles[0][i_strain_100p:],
    -505                θ_fse[i_strain_100p:],
    -506                atol=1,
    -507                rtol=0,
    -508            )
    -509
    -510            # Check that results match Fortran output past 40% strain.
    -511            nt.assert_allclose(
    -512                result_angles[0][i_strain_40p:],
    -513                M0_drexF90[i_strain_40p:],
    -514                atol=0,
    -515                rtol=0.1,  # At 40% strain the match is worse than at higher strain.
    -516            )
    -517            nt.assert_allclose(
    -518                result_angles[2][i_strain_40p:],
    -519                M50_drexF90[i_strain_40p:],
    -520                atol=1,
    -521                rtol=0,
    -522            )
    -523            nt.assert_allclose(
    -524                result_angles[4][i_strain_40p:],
    -525                M200_drexF90[i_strain_40p:],
    -526                atol=1.5,
    -527                rtol=0,
    -528            )
    +            
    432    @pytest.mark.slow
    +433    def test_dvdx_GBM(self, outdir, seeds_nearX45, ncpus):
    +434        r"""Test a-axis alignment to shear in Y direction (init. SCCS near 45° from X).
    +435
    +436        Velocity gradient:
    +437        $$
    +438        \bm{L} = 10^{-4} ×
    +439            \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}
    +440        $$
    +441
    +442        Results are compared to the Fortran 90 output.
    +443
    +444        """
    +445        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    +446        strain_rate = 1e-4
    +447        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    +448        timestamps = np.linspace(0, 1e4, 51)  # Solve until D₀t=1 ('shear' γ=2).
    +449        i_strain_40p = 10  # Index of 40% strain, lower strains are not relevant here.
    +450        i_strain_100p = 25  # Index of 100% strain, when M*=0 matches FSE.
    +451        params = _io.DEFAULT_PARAMS
    +452        params["gbs_threshold"] = 0  # No GBS, to match the Fortran parameters.
    +453        gbm_mobilities = (0, 10, 50, 125, 200)  # Must be in ascending order.
    +454        markers = ("x", ".", "*", "d", "s")
    +455        # Use `seeds` instead of `seeds_nearX45` if you have even more RAM and CPU time.
    +456        _seeds = seeds_nearX45
    +457        n_seeds = len(_seeds)
    +458        angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps)))
    +459        θ_fse = np.zeros_like(timestamps)
    +460        strains = timestamps * strain_rate
    +461        M0_drexF90, M50_drexF90, M200_drexF90 = self.interp_GBM_FortranDRex(strains)
    +462
    +463        optional_logging = cl.nullcontext()
    +464        if outdir is not None:
    +465            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_mobility"
    +466            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +467            labels = []
    +468
    +469        with optional_logging:
    +470            clock_start = process_time()
    +471            for m, gbm_mobility in enumerate(gbm_mobilities):
    +472                if m == 0:
    +473                    return_fse = True
    +474                else:
    +475                    return_fse = False
    +476                params["gbm_mobility"] = gbm_mobility
    +477
    +478                _run = ft.partial(
    +479                    self.run,
    +480                    params,
    +481                    timestamps,
    +482                    strain_rate,
    +483                    get_velocity_gradient,
    +484                    shear_direction,
    +485                    return_fse=True,
    +486                )
    +487                with Pool(processes=ncpus) as pool:
    +488                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    +489                        mineral, fse_angles = out
    +490                        angles[m, s, :] = [
    +491                            _diagnostics.smallest_angle(v, shear_direction)
    +492                            for v in _diagnostics.elasticity_components(
    +493                                _minerals.voigt_averages([mineral], params)
    +494                            )["hexagonal_axis"]
    +495                        ]
    +496                        # Save the whole mineral for the first seed only.
    +497                        if outdir is not None and s == 0:
    +498                            mineral.save(
    +499                                f"{out_basepath}.npz",
    +500                                postfix=f"M{_io.stringify(gbm_mobility)}",
    +501                            )
    +502                        if return_fse:
    +503                            θ_fse += fse_angles
    +504
    +505                if return_fse:
    +506                    θ_fse /= n_seeds
    +507
    +508                if outdir is not None:
    +509                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    +510
    +511            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    +512
    +513            # Take ensemble means and optionally plot figure.
    +514            _log.info("postprocessing results...")
    +515            result_angles = angles.mean(axis=1)
    +516            result_angles_err = angles.std(axis=1)
    +517
    +518            if outdir is not None:
    +519                schema = {
    +520                    "delimiter": ",",
    +521                    "missing": "-",
    +522                    "fields": [
    +523                        {
    +524                            "name": "strain",
    +525                            "type": "integer",
    +526                            "unit": "percent",
    +527                            "fill": 999999,
    +528                        }
    +529                    ],
    +530                }
    +531                _io.save_scsv(
    +532                    f"{out_basepath}_strains.scsv",
    +533                    schema,
    +534                    [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    +535                )
    +536                np.savez(
    +537                    f"{out_basepath}_angles.npz",
    +538                    angles=result_angles,
    +539                    err=result_angles_err,
    +540                )
    +541                fig, ax, colors = _vis.alignment(
    +542                    None,
    +543                    strains,
    +544                    result_angles,
    +545                    markers,
    +546                    labels,
    +547                    err=result_angles_err,
    +548                    θ_max=60,
    +549                    θ_fse=θ_fse,
    +550                )
    +551                ax.plot(strains, M0_drexF90, c=colors[0])
    +552                ax.plot(strains, M50_drexF90, c=colors[2])
    +553                ax.plot(strains, M200_drexF90, c=colors[4])
    +554                _vis.show_Skemer2016_ShearStrainAngles(
    +555                    ax,
    +556                    ["Z&K 1200 C", "Z&K 1300 C"],
    +557                    ["v", "^"],
    +558                    ["k", "k"],
    +559                    ["none", None],
    +560                    [
    +561                        "Zhang & Karato, 1995\n(1473 K)",
    +562                        "Zhang & Karato, 1995\n(1573 K)",
    +563                    ],
    +564                    _core.MineralFabric.olivine_A,
    +565                )
    +566                # There is a lot of stuff on this legend, so put it outside the axes.
    +567                # These values might need to be tweaked depending on the font size, etc.
    +568                _legend = _utils.redraw_legend(ax, fig=fig, bbox_to_anchor=(1.66, 0.99))
    +569                fig.savefig(
    +570                    _io.resolve_path(f"{out_basepath}.pdf"),
    +571                    bbox_extra_artists=(_legend,),
    +572                    bbox_inches="tight",
    +573                )
    +574
    +575            # Check that GBM speeds up the alignment between 40% and 100% strain.
    +576            _log.info("checking grain orientations...")
    +577            for i, θ in enumerate(result_angles[:-1], start=1):
    +578                nt.assert_array_less(
    +579                    result_angles[i][i_strain_40p:i_strain_100p],
    +580                    θ[i_strain_40p:i_strain_100p],
    +581                )
    +582
    +583            # Check that M*=0 matches FSE (±1°) past 100% strain.
    +584            nt.assert_allclose(
    +585                result_angles[0][i_strain_100p:],
    +586                θ_fse[i_strain_100p:],
    +587                atol=1,
    +588                rtol=0,
    +589            )
    +590
    +591            # Check that results match Fortran output past 40% strain.
    +592            nt.assert_allclose(
    +593                result_angles[0][i_strain_40p:],
    +594                M0_drexF90[i_strain_40p:],
    +595                atol=0,
    +596                rtol=0.1,  # At 40% strain the match is worse than at higher strain.
    +597            )
    +598            nt.assert_allclose(
    +599                result_angles[2][i_strain_40p:],
    +600                M50_drexF90[i_strain_40p:],
    +601                atol=1,
    +602                rtol=0,
    +603            )
    +604            nt.assert_allclose(
    +605                result_angles[4][i_strain_40p:],
    +606                M200_drexF90[i_strain_40p:],
    +607                atol=1.5,
    +608                rtol=0,
    +609            )
     
    @@ -2276,178 +2718,178 @@

    -
    530    @pytest.mark.slow
    -531    def test_GBM_calibration(self, outdir, seeds, ncpus):
    -532        r"""Compare results for various values of $$M^∗$$ to A-type olivine data.
    -533
    -534        Velocity gradient:
    -535        $$
    -536        \bm{L} = 10^{-4} ×
    -537            \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}
    -538        $$
    -539
    -540        Unlike `test_dvdx_GBM`,
    -541        grain boudary sliding is enabled here (see `_io.DEFAULT_PARAMS`).
    -542        Data are provided by [Skemer & Hansen, 2016](http://dx.doi.org/10.1016/j.tecto.2015.12.003).
    -543
    -544        """
    -545        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    -546        strain_rate = 1
    -547        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    -548        timestamps = np.linspace(0, 3.2, 65)  # Solve until D₀t=3.2 ('shear' γ=6.4).
    -549        params = _io.DEFAULT_PARAMS
    -550        params["number_of_grains"] = 5000
    -551        gbm_mobilities = (0, 10, 50, 125)  # Must be in ascending order.
    -552        markers = ("x", "*", "1", ".")
    -553        # Uses 100 seeds by default; use all 1000 if you have more RAM and CPU time.
    -554        _seeds = seeds[:100]
    -555        n_seeds = len(_seeds)
    -556        angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps)))
    -557        θ_fse = np.zeros_like(timestamps)
    -558        strains = timestamps * strain_rate
    -559
    -560        optional_logging = cl.nullcontext()
    -561        if outdir is not None:
    -562            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_calibration"
    -563            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    -564            labels = []
    -565
    -566        with optional_logging:
    -567            clock_start = process_time()
    -568            for m, gbm_mobility in enumerate(gbm_mobilities):
    -569                return_fse = True if m == 0 else False
    -570                params["gbm_mobility"] = gbm_mobility
    -571                _run = ft.partial(
    -572                    self.run,
    -573                    params,
    -574                    timestamps,
    -575                    strain_rate,
    -576                    get_velocity_gradient,
    -577                    shear_direction,
    -578                    return_fse=return_fse,
    -579                )
    -580                with Pool(processes=ncpus) as pool:
    -581                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    -582                        mineral, fse_angles = out
    -583                        angles[m, s, :] = [
    -584                            _diagnostics.smallest_angle(v, shear_direction)
    -585                            for v in _diagnostics.elasticity_components(
    -586                                _minerals.voigt_averages([mineral], params)
    -587                            )["hexagonal_axis"]
    -588                        ]
    -589                        # Save the whole mineral for the first seed only.
    -590                        if outdir is not None and s == 0:
    -591                            mineral.save(
    -592                                f"{out_basepath}.npz",
    -593                                postfix=f"M{_io.stringify(gbm_mobility)}",
    -594                            )
    -595                        if return_fse:
    -596                            θ_fse += fse_angles
    -597
    -598                if return_fse:
    -599                    θ_fse /= n_seeds
    -600
    -601                if outdir is not None:
    -602                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    -603
    -604            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    -605
    -606            # Take ensemble means and optionally plot figure.
    -607            _log.info("postprocessing results...")
    -608            result_angles = angles.mean(axis=1)
    -609            result_angles_err = angles.std(axis=1)
    -610
    -611            if outdir is not None:
    -612                schema = {
    -613                    "delimiter": ",",
    -614                    "missing": "-",
    -615                    "fields": [
    -616                        {
    -617                            "name": "strain",
    -618                            "type": "integer",
    -619                            "unit": "percent",
    -620                            "fill": 999999,
    -621                        }
    -622                    ],
    -623                }
    -624                _io.save_scsv(
    -625                    f"{out_basepath}_strains.scsv",
    -626                    schema,
    -627                    [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    -628                )
    -629                np.savez(
    -630                    _io.resolve_path(f"{out_basepath}_ensemble_means.npz"),
    -631                    angles=result_angles,
    -632                    err=result_angles_err,
    -633                )
    -634                fig = _vis.figure(
    -635                    figsize=(_vis.DEFAULT_FIG_WIDTH * 3, _vis.DEFAULT_FIG_HEIGHT)
    -636                )
    -637                fig, ax, colors = _vis.alignment(
    -638                    fig.add_subplot(),
    -639                    strains,
    -640                    result_angles,
    -641                    markers,
    -642                    labels,
    -643                    err=result_angles_err,
    -644                    θ_max=80,
    -645                    θ_fse=θ_fse,
    -646                )
    -647                (
    -648                    _,
    -649                    _,
    -650                    _,
    -651                    data_Skemer2016,
    -652                    indices,
    -653                ) = _vis.show_Skemer2016_ShearStrainAngles(
    -654                    ax,
    -655                    [
    -656                        "Z&K 1200 C",
    -657                        "Z&K 1300 C",
    -658                        "Skemer 2011",
    -659                        "Hansen 2014",
    -660                        "Warren 2008",
    -661                        "Webber 2010",
    -662                        "H&W 2015",
    -663                    ],
    -664                    ["v", "^", "o", "s", "v", "o", "s"],
    -665                    ["k", "k", "k", "k", "k", "k", "k"],
    -666                    ["none", "none", "none", "none", None, None, None],
    -667                    [
    -668                        "Zhang & Karato, 1995 (1473 K)",
    -669                        "Zhang & Karato, 1995 (1573 K)",
    -670                        "Skemer et al., 2011 (1500 K)",
    -671                        "Hansen et al., 2014 (1473 K)",
    -672                        "Warren et al., 2008",
    -673                        "Webber et al., 2010",
    -674                        "Hansen & Warren, 2015",
    -675                    ],
    -676                    fabric=_core.MineralFabric.olivine_A,
    -677                )
    -678                _legend = _utils.redraw_legend(ax, loc="upper right", ncols=3)
    -679                fig.savefig(
    -680                    _io.resolve_path(f"{out_basepath}.pdf"),
    -681                    bbox_extra_artists=(_legend,),
    -682                    bbox_inches="tight",
    -683                )
    -684                r2vals = []
    -685                for angles in result_angles:
    -686                    _angles = PchipInterpolator(strains, angles)
    -687                    r2 = np.sum(
    -688                        [
    -689                            (a - b) ** 2
    -690                            for a, b in zip(
    -691                                _angles(
    -692                                    np.take(data_Skemer2016.shear_strain, indices) / 200
    -693                                ),
    -694                                np.take(data_Skemer2016.angle, indices),
    -695                            )
    -696                        ]
    -697                    )
    -698                    r2vals.append(r2)
    -699                _log.info(
    -700                    "Sums of squared residuals (r-values) for each M∗: %s", r2vals
    -701                )
    +            
    611    @pytest.mark.slow
    +612    def test_GBM_calibration(self, outdir, seeds, ncpus):
    +613        r"""Compare results for various values of $$M^∗$$ to A-type olivine data.
    +614
    +615        Velocity gradient:
    +616        $$
    +617        \bm{L} = 10^{-4} ×
    +618            \begin{bmatrix} 0 & 0 & 0 \cr 2 & 0 & 0 \cr 0 & 0 & 0 \end{bmatrix}
    +619        $$
    +620
    +621        Unlike `test_dvdx_GBM`,
    +622        grain boudary sliding is enabled here (see `_io.DEFAULT_PARAMS`).
    +623        Data are provided by [Skemer & Hansen, 2016](http://dx.doi.org/10.1016/j.tecto.2015.12.003).
    +624
    +625        """
    +626        shear_direction = [0, 1, 0]  # Used to calculate the angular diagnostics.
    +627        strain_rate = 1
    +628        _, get_velocity_gradient = _velocity.simple_shear_2d("Y", "X", strain_rate)
    +629        timestamps = np.linspace(0, 3.2, 65)  # Solve until D₀t=3.2 ('shear' γ=6.4).
    +630        params = _io.DEFAULT_PARAMS
    +631        params["number_of_grains"] = 5000
    +632        gbm_mobilities = (0, 10, 50, 125)  # Must be in ascending order.
    +633        markers = ("x", "*", "1", ".")
    +634        # Uses 100 seeds by default; use all 1000 if you have more RAM and CPU time.
    +635        _seeds = seeds[:100]
    +636        n_seeds = len(_seeds)
    +637        angles = np.empty((len(gbm_mobilities), n_seeds, len(timestamps)))
    +638        θ_fse = np.zeros_like(timestamps)
    +639        strains = timestamps * strain_rate
    +640
    +641        optional_logging = cl.nullcontext()
    +642        if outdir is not None:
    +643            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_calibration"
    +644            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +645            labels = []
    +646
    +647        with optional_logging:
    +648            clock_start = process_time()
    +649            for m, gbm_mobility in enumerate(gbm_mobilities):
    +650                return_fse = True if m == 0 else False
    +651                params["gbm_mobility"] = gbm_mobility
    +652                _run = ft.partial(
    +653                    self.run,
    +654                    params,
    +655                    timestamps,
    +656                    strain_rate,
    +657                    get_velocity_gradient,
    +658                    shear_direction,
    +659                    return_fse=return_fse,
    +660                )
    +661                with Pool(processes=ncpus) as pool:
    +662                    for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    +663                        mineral, fse_angles = out
    +664                        angles[m, s, :] = [
    +665                            _diagnostics.smallest_angle(v, shear_direction)
    +666                            for v in _diagnostics.elasticity_components(
    +667                                _minerals.voigt_averages([mineral], params)
    +668                            )["hexagonal_axis"]
    +669                        ]
    +670                        # Save the whole mineral for the first seed only.
    +671                        if outdir is not None and s == 0:
    +672                            mineral.save(
    +673                                f"{out_basepath}.npz",
    +674                                postfix=f"M{_io.stringify(gbm_mobility)}",
    +675                            )
    +676                        if return_fse:
    +677                            θ_fse += fse_angles
    +678
    +679                if return_fse:
    +680                    θ_fse /= n_seeds
    +681
    +682                if outdir is not None:
    +683                    labels.append(f"$M^∗$ = {params['gbm_mobility']}")
    +684
    +685            _log.info("elapsed CPU time: %s", np.abs(process_time() - clock_start))
    +686
    +687            # Take ensemble means and optionally plot figure.
    +688            _log.info("postprocessing results...")
    +689            result_angles = angles.mean(axis=1)
    +690            result_angles_err = angles.std(axis=1)
    +691
    +692            if outdir is not None:
    +693                schema = {
    +694                    "delimiter": ",",
    +695                    "missing": "-",
    +696                    "fields": [
    +697                        {
    +698                            "name": "strain",
    +699                            "type": "integer",
    +700                            "unit": "percent",
    +701                            "fill": 999999,
    +702                        }
    +703                    ],
    +704                }
    +705                _io.save_scsv(
    +706                    f"{out_basepath}_strains.scsv",
    +707                    schema,
    +708                    [[int(D * 200) for D in strains]],  # Shear strain % is 200 * D₀.
    +709                )
    +710                np.savez(
    +711                    _io.resolve_path(f"{out_basepath}_ensemble_means.npz"),
    +712                    angles=result_angles,
    +713                    err=result_angles_err,
    +714                )
    +715                fig = _vis.figure(
    +716                    figsize=(_vis.DEFAULT_FIG_WIDTH * 3, _vis.DEFAULT_FIG_HEIGHT)
    +717                )
    +718                fig, ax, colors = _vis.alignment(
    +719                    fig.add_subplot(),
    +720                    strains,
    +721                    result_angles,
    +722                    markers,
    +723                    labels,
    +724                    err=result_angles_err,
    +725                    θ_max=80,
    +726                    θ_fse=θ_fse,
    +727                )
    +728                (
    +729                    _,
    +730                    _,
    +731                    _,
    +732                    data_Skemer2016,
    +733                    indices,
    +734                ) = _vis.show_Skemer2016_ShearStrainAngles(
    +735                    ax,
    +736                    [
    +737                        "Z&K 1200 C",
    +738                        "Z&K 1300 C",
    +739                        "Skemer 2011",
    +740                        "Hansen 2014",
    +741                        "Warren 2008",
    +742                        "Webber 2010",
    +743                        "H&W 2015",
    +744                    ],
    +745                    ["v", "^", "o", "s", "v", "o", "s"],
    +746                    ["k", "k", "k", "k", "k", "k", "k"],
    +747                    ["none", "none", "none", "none", None, None, None],
    +748                    [
    +749                        "Zhang & Karato, 1995 (1473 K)",
    +750                        "Zhang & Karato, 1995 (1573 K)",
    +751                        "Skemer et al., 2011 (1500 K)",
    +752                        "Hansen et al., 2014 (1473 K)",
    +753                        "Warren et al., 2008",
    +754                        "Webber et al., 2010",
    +755                        "Hansen & Warren, 2015",
    +756                    ],
    +757                    fabric=_core.MineralFabric.olivine_A,
    +758                )
    +759                _legend = _utils.redraw_legend(ax, loc="upper right", ncols=3)
    +760                fig.savefig(
    +761                    _io.resolve_path(f"{out_basepath}.pdf"),
    +762                    bbox_extra_artists=(_legend,),
    +763                    bbox_inches="tight",
    +764                )
    +765                r2vals = []
    +766                for angles in result_angles:
    +767                    _angles = PchipInterpolator(strains, angles)
    +768                    r2 = np.sum(
    +769                        [
    +770                            (a - b) ** 2
    +771                            for a, b in zip(
    +772                                _angles(
    +773                                    np.take(data_Skemer2016.shear_strain, indices) / 200
    +774                                ),
    +775                                np.take(data_Skemer2016.angle, indices),
    +776                            )
    +777                        ]
    +778                    )
    +779                    r2vals.append(r2)
    +780                _log.info(
    +781                    "Sums of squared residuals (r-values) for each M∗: %s", r2vals
    +782                )
     
    @@ -2465,6 +2907,117 @@

    + +
    + +
    +
    @pytest.mark.big
    + + def + test_dudz_pathline(self, outdir, seed): + + + +
    + +
    784    @pytest.mark.big
    +785    def test_dudz_pathline(self, outdir, seed):
    +786        """Test alignment of olivine a-axis for a polycrystal advected on a pathline."""
    +787        test_id = "dudz_pathline"
    +788        optional_logging = cl.nullcontext()
    +789        if outdir is not None:
    +790            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_{test_id}"
    +791            optional_logging = _log.logfile_enable(f"{out_basepath}.log")
    +792
    +793        with optional_logging:
    +794            shear_direction = [1, 0, 0]  # Used to calculate the angular diagnostics.
    +795            strain_rate = 1e-15  # Moderate, realistic shear in the upper mantle.
    +796            get_velocity, get_velocity_gradient = _velocity.simple_shear_2d(
    +797                "X", "Z", strain_rate
    +798            )
    +799            n_timesteps = 10
    +800            timestamps, get_position = _paths.get_pathline(
    +801                Ŋ([1e5, 0e0, 1e5]),
    +802                get_velocity,
    +803                get_velocity_gradient,
    +804                Ŋ([-2e5, 0e0, -2e5]),
    +805                Ŋ([2e5, 0e0, 2e5]),
    +806                2,
    +807                regular_steps=n_timesteps,
    +808            )
    +809            positions = [get_position(t) for t in timestamps]
    +810            velocity_gradients = [get_velocity_gradient(Ŋ(x)) for x in positions]
    +811
    +812            params = _io.DEFAULT_PARAMS
    +813            params["number_of_grains"] = 5000
    +814            olA = _minerals.Mineral(n_grains=params["number_of_grains"], seed=seed)
    +815            deformation_gradient = np.eye(3)
    +816            strains = np.zeros_like(timestamps)
    +817            for t, time in enumerate(timestamps[:-1], start=1):
    +818                strains[t] = strains[t - 1] + (
    +819                    _utils.strain_increment(timestamps[t] - time, velocity_gradients[t])
    +820                )
    +821                _log.info("step %d/%d (ε = %.2f)", t, len(timestamps) - 1, strains[t])
    +822                deformation_gradient = olA.update_orientations(
    +823                    params,
    +824                    deformation_gradient,
    +825                    get_velocity_gradient,
    +826                    pathline=(time, timestamps[t], get_position),
    +827                )
    +828
    +829            orient_resampled, fractions_resampled = _stats.resample_orientations(
    +830                olA.orientations, olA.fractions, seed=seed
    +831            )
    +832            # About 36GB, 26 min needed with float64. GitHub macos runner has 14GB.
    +833            misorient_indices = _diagnostics.misorientation_indices(
    +834                orient_resampled,
    +835                _geo.LatticeSystem.orthorhombic,
    +836                ncpus=3,
    +837            )
    +838            cpo_vectors = np.zeros((n_timesteps + 1, 3))
    +839            cpo_angles = np.zeros(n_timesteps + 1)
    +840            for i, matrices in enumerate(orient_resampled):
    +841                cpo_vectors[i] = _diagnostics.bingham_average(
    +842                    matrices,
    +843                    axis=_minerals.OLIVINE_PRIMARY_AXIS[olA.fabric],
    +844                )
    +845                cpo_angles[i] = _diagnostics.smallest_angle(
    +846                    cpo_vectors[i], Ŋ(shear_direction, dtype=np.float64)
    +847                )
    +848
    +849            # Check for mostly decreasing CPO angles (exclude initial condition).
    +850            _log.debug("cpo angles: %s", cpo_angles)
    +851            nt.assert_array_less(np.diff(cpo_angles[1:]), np.ones(n_timesteps - 1))
    +852            # Check for increasing CPO strength (M-index).
    +853            _log.debug("cpo strengths: %s", misorient_indices)
    +854            nt.assert_array_less(
    +855                np.full(n_timesteps, -0.01), np.diff(misorient_indices)
    +856            )
    +857            # Check that last angle is <5° (M*=125) or <10° (M*=10).
    +858            assert cpo_angles[-1] < 5
    +859
    +860        if outdir is not None:
    +861            fig, ax, _, _ = _vis.pathline_box2d(
    +862                None,
    +863                get_velocity,
    +864                "xz",
    +865                strains,
    +866                positions,
    +867                ".",
    +868                Ŋ([-2e5, -2e5]),
    +869                Ŋ([2e5, 2e5]),
    +870                [20, 20],
    +871                cpo_vectors=cpo_vectors,
    +872                cpo_strengths=misorient_indices,
    +873            )
    +874            fig.savefig(f"{out_basepath}.pdf")
    +
    + + +

    Test alignment of olivine a-axis for a polycrystal advected on a pathline.

    +
    + +

    diff --git a/tests/test_vortex_2d.html b/tests/test_vortex_2d.html index 43eea28a..f1a86def 100644 --- a/tests/test_vortex_2d.html +++ b/tests/test_vortex_2d.html @@ -192,192 +192,190 @@

    91 ) 92 deformation_gradient = np.eye(3) 93 - 94 timestamps_back, get_position = _path.get_pathline( + 94 timestamps, get_position = _path.get_pathline( 95 final_location, 96 get_velocity, 97 get_velocity_gradient, 98 min_coords, 99 max_coords, 100 max_strain, -101 ) -102 timestamps = np.linspace( -103 timestamps_back[-1], timestamps_back[0], int(max_strain * 10) -104 ) -105 positions = [get_position(t) for t in timestamps] -106 velocity_gradients = [get_velocity_gradient(np.asarray(x)) for x in positions] -107 strains = np.empty_like(timestamps) -108 strains[0] = 0 -109 for t, time in enumerate(timestamps[:-1], start=1): -110 strains[t] = strains[t - 1] + ( -111 _utils.strain_increment(timestamps[t] - time, velocity_gradients[t]) -112 ) -113 _log.info("step %d/%d (ε = %.2f)", t, len(timestamps) - 1, strains[t]) -114 -115 deformation_gradient = mineral.update_orientations( -116 params, -117 deformation_gradient, -118 get_velocity_gradient, -119 pathline=(time, timestamps[t], get_position), -120 ) -121 return timestamps, positions, strains, mineral, deformation_gradient -122 -123 @pytest.mark.big -124 def test_xz_10k(self, outdir, seed): -125 """Run 2D cell test with 10000 grains (~14GiB RAM requirement).""" -126 self.test_xz(outdir, seed, 10000) -127 -128 @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000]) -129 def test_xz(self, outdir, seed, n_grains): -130 """Test to check that 5000 grains is "enough" to resolve transient features.""" -131 if outdir is not None: -132 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_N{n_grains}" -133 -134 params = _io.DEFAULT_PARAMS -135 params["number_of_grains"] = n_grains -136 get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1) -137 -138 timestamps, positions, strains, mineral, deformation_gradient = self.run( -139 params, -140 np.asarray([0.5, 0.0, -0.75]), -141 get_velocity, -142 get_velocity_gradient, -143 np.asarray([-1, 0, -1]), -144 np.asarray([1, 0, 1]), -145 7, -146 seed=seed, -147 ) -148 angles = [ -149 _diagnostics.smallest_angle( -150 _diagnostics.bingham_average(a, axis="a"), get_velocity(x) -151 ) -152 for a, x in zip(mineral.orientations, positions, strict=True) -153 ] -154 if outdir is not None: -155 # First figure with the domain and pathline. -156 fig_path, ax_path, q, s = _vis.pathline_box2d( -157 None, -158 get_velocity, -159 "XZ", -160 strains, -161 positions, -162 ".", -163 [-1, -1], -164 [1, 1], -165 [20, 20], -166 cmap="cmc.batlow_r", -167 tick_formatter=lambda x, pos: str(x), -168 ) -169 fig_path.colorbar(s, ax=ax_path, aspect=25, label="Strain (ε)") -170 fig_path.savefig(_io.resolve_path(f"{out_basepath}_path.pdf")) -171 # Second figure with the angles and grain sizes at every 10 strain values. -172 fig = _vis.figure() -173 axθ = fig.add_subplot(2, 1, 1) -174 fig, axθ, colors = _vis.alignment( -175 axθ, -176 strains, -177 angles, -178 (".",), -179 (None,), -180 colors=[strains], -181 cmaps=["cmc.batlow_r"], -182 ) -183 ax_sizes = fig.add_subplot(2, 1, 2, sharex=axθ) -184 fig, ax_sizes, parts = _vis.grainsizes( -185 ax_sizes, strains[::10], mineral.fractions[::10] -186 ) -187 axθ.label_outer() -188 fig.savefig(_io.resolve_path(f"{out_basepath}.pdf")) -189 -190 # Some checks for when we should have "enough" grains. -191 # Based on empirical model outputs, it seems like the dip at ε ≈ 3.75 is the -192 # least sensitive feature to the random state (seed) so we will use that. -193 if n_grains >= 5000: -194 # Can we resolve the temporary alignment to below 20° at ε ≈ 3.75? -195 mean_θ_in_dip = np.mean(angles[34:43]) -196 assert mean_θ_in_dip < 12, mean_θ_in_dip -197 # Can we resolve corresponding dip in max grain size (normalized, log_10)? -198 mean_size_in_dip = np.log10( -199 np.mean([np.max(f) for f in mineral.fractions[34:43]]) * n_grains -200 ) -201 assert 2 < mean_size_in_dip < 3, mean_size_in_dip -202 # Can we resolve subsequent peak in max grain size (normalized, log_10)? -203 max_size_post_dip = np.log10( -204 np.max([np.max(f) for f in mineral.fractions[43:]]) * n_grains -205 ) -206 assert max_size_post_dip > 3, max_size_post_dip -207 -208 @pytest.mark.slow -209 @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000, 10000]) -210 def test_xz_ensemble(self, outdir, seeds_nearX45, ncpus, n_grains): -211 """Test to demonstrate stability of the dip at ε ≈ 3.75 for 5000+ grains.""" -212 _seeds = seeds_nearX45 -213 n_seeds = len(_seeds) -214 if outdir is not None: -215 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_ensemble_N{n_grains}" -216 -217 params = _io.DEFAULT_PARAMS -218 params["number_of_grains"] = n_grains -219 get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1) -220 -221 _run = ft.partial( -222 self.run, -223 params, -224 np.asarray([0.5, 0.0, -0.75]), -225 get_velocity, -226 get_velocity_gradient, -227 np.asarray([-1, 0, -1]), -228 np.asarray([1, 0, 1]), -229 7, -230 ) -231 angles = np.empty((n_seeds, 70)) -232 max_sizes = np.empty_like(angles) -233 with Pool(processes=ncpus) as pool: -234 for s, out in enumerate(pool.imap_unordered(_run, _seeds)): -235 timestamps, positions, strains, mineral, deformation_gradient = out -236 angles[s] = [ -237 _diagnostics.smallest_angle( -238 _diagnostics.bingham_average(a, axis="a"), get_velocity(x) -239 ) -240 for a, x in zip(mineral.orientations, positions, strict=True) -241 ] -242 max_sizes[s] = np.log10(np.max(mineral.fractions, axis=1) * n_grains) -243 -244 if outdir is not None: -245 # Figure with the angles and max grain sizes (ensemble averages). -246 fig = _vis.figure() -247 axθ = fig.add_subplot(2, 1, 1) -248 angles_mean = np.mean(angles, axis=0) -249 angles_err = np.std(angles, axis=0) -250 fig, axθ, colors = _vis.alignment( -251 axθ, -252 strains, -253 angles_mean, -254 (".",), -255 (None,), -256 err=angles_err, -257 ) -258 ax_maxsize = fig.add_subplot(2, 1, 2, sharex=axθ) -259 ax_maxsize.set_ylabel(r"$\log_{10}(\overline{S}_{\mathrm{max}})$") -260 max_sizes_mean = np.mean(max_sizes, axis=0) -261 ax_maxsize.plot(strains, max_sizes_mean, color=colors[0]) -262 max_sizes_err = np.std(max_sizes, axis=0) -263 ax_maxsize.fill_between( -264 strains, -265 max_sizes_mean - max_sizes_err, -266 max_sizes_mean + max_sizes_err, -267 alpha=0.22, -268 color=colors[0], -269 ) -270 axθ.label_outer() -271 fig.savefig(_io.resolve_path(f"{out_basepath}.pdf")) -272 np.savez( -273 _io.resolve_path(f"{out_basepath}_data.npz"), -274 strains=strains, -275 max_sizes_mean=max_sizes_mean, -276 max_sizes_err=max_sizes_err, -277 angles_mean=angles_mean, -278 angles_err=angles_err, -279 ) +101 regular_steps=int(max_strain * 10), +102 ) +103 positions = [get_position(t) for t in timestamps] +104 velocity_gradients = [get_velocity_gradient(np.asarray(x)) for x in positions] +105 strains = np.empty_like(timestamps) +106 strains[0] = 0 +107 for t, time in enumerate(timestamps[:-1], start=1): +108 strains[t] = strains[t - 1] + ( +109 _utils.strain_increment(timestamps[t] - time, velocity_gradients[t]) +110 ) +111 _log.info("step %d/%d (ε = %.2f)", t, len(timestamps) - 1, strains[t]) +112 +113 deformation_gradient = mineral.update_orientations( +114 params, +115 deformation_gradient, +116 get_velocity_gradient, +117 pathline=(time, timestamps[t], get_position), +118 ) +119 return timestamps, positions, strains, mineral, deformation_gradient +120 +121 @pytest.mark.big +122 def test_xz_10k(self, outdir, seed): +123 """Run 2D cell test with 10000 grains (~14GiB RAM requirement).""" +124 self.test_xz(outdir, seed, 10000) +125 +126 @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000]) +127 def test_xz(self, outdir, seed, n_grains): +128 """Test to check that 5000 grains is "enough" to resolve transient features.""" +129 if outdir is not None: +130 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_N{n_grains}" +131 +132 params = _io.DEFAULT_PARAMS +133 params["number_of_grains"] = n_grains +134 get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1) +135 +136 timestamps, positions, strains, mineral, deformation_gradient = self.run( +137 params, +138 np.asarray([0.5, 0.0, -0.75]), +139 get_velocity, +140 get_velocity_gradient, +141 np.asarray([-1, 0, -1]), +142 np.asarray([1, 0, 1]), +143 7, +144 seed=seed, +145 ) +146 angles = [ +147 _diagnostics.smallest_angle( +148 _diagnostics.bingham_average(a, axis="a"), get_velocity(x) +149 ) +150 for a, x in zip(mineral.orientations, positions, strict=True) +151 ] +152 if outdir is not None: +153 # First figure with the domain and pathline. +154 fig_path, ax_path, q, s = _vis.pathline_box2d( +155 None, +156 get_velocity, +157 "XZ", +158 strains, +159 positions, +160 ".", +161 [-1, -1], +162 [1, 1], +163 [20, 20], +164 cmap="cmc.batlow_r", +165 tick_formatter=lambda x, pos: str(x), +166 ) +167 fig_path.colorbar(s, ax=ax_path, aspect=25, label="Strain (ε)") +168 fig_path.savefig(_io.resolve_path(f"{out_basepath}_path.pdf")) +169 # Second figure with the angles and grain sizes at every 10 strain values. +170 fig = _vis.figure() +171 axθ = fig.add_subplot(2, 1, 1) +172 fig, axθ, colors = _vis.alignment( +173 axθ, +174 strains, +175 angles, +176 (".",), +177 (None,), +178 colors=[strains], +179 cmaps=["cmc.batlow_r"], +180 ) +181 ax_sizes = fig.add_subplot(2, 1, 2, sharex=axθ) +182 fig, ax_sizes, parts = _vis.grainsizes( +183 ax_sizes, strains[::10], mineral.fractions[::10] +184 ) +185 axθ.label_outer() +186 fig.savefig(_io.resolve_path(f"{out_basepath}.pdf")) +187 +188 # Some checks for when we should have "enough" grains. +189 # Based on empirical model outputs, it seems like the dip at ε ≈ 3.75 is the +190 # least sensitive feature to the random state (seed) so we will use that. +191 if n_grains >= 5000: +192 # Can we resolve the temporary alignment to below 20° at ε ≈ 3.75? +193 mean_θ_in_dip = np.mean(angles[34:43]) +194 assert mean_θ_in_dip < 12, mean_θ_in_dip +195 # Can we resolve corresponding dip in max grain size (normalized, log_10)? +196 mean_size_in_dip = np.log10( +197 np.mean([np.max(f) for f in mineral.fractions[34:43]]) * n_grains +198 ) +199 assert 2 < mean_size_in_dip < 3, mean_size_in_dip +200 # Can we resolve subsequent peak in max grain size (normalized, log_10)? +201 max_size_post_dip = np.log10( +202 np.max([np.max(f) for f in mineral.fractions[43:]]) * n_grains +203 ) +204 assert max_size_post_dip > 3, max_size_post_dip +205 +206 @pytest.mark.slow +207 @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000, 10000]) +208 def test_xz_ensemble(self, outdir, seeds_nearX45, ncpus, n_grains): +209 """Test to demonstrate stability of the dip at ε ≈ 3.75 for 5000+ grains.""" +210 _seeds = seeds_nearX45 +211 n_seeds = len(_seeds) +212 if outdir is not None: +213 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_ensemble_N{n_grains}" +214 +215 params = _io.DEFAULT_PARAMS +216 params["number_of_grains"] = n_grains +217 get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1) +218 +219 _run = ft.partial( +220 self.run, +221 params, +222 np.asarray([0.5, 0.0, -0.75]), +223 get_velocity, +224 get_velocity_gradient, +225 np.asarray([-1, 0, -1]), +226 np.asarray([1, 0, 1]), +227 7, +228 ) +229 angles = np.empty((n_seeds, 70)) +230 max_sizes = np.empty_like(angles) +231 with Pool(processes=ncpus) as pool: +232 for s, out in enumerate(pool.imap_unordered(_run, _seeds)): +233 timestamps, positions, strains, mineral, deformation_gradient = out +234 angles[s] = [ +235 _diagnostics.smallest_angle( +236 _diagnostics.bingham_average(a, axis="a"), get_velocity(x) +237 ) +238 for a, x in zip(mineral.orientations, positions, strict=True) +239 ] +240 max_sizes[s] = np.log10(np.max(mineral.fractions, axis=1) * n_grains) +241 +242 if outdir is not None: +243 # Figure with the angles and max grain sizes (ensemble averages). +244 fig = _vis.figure() +245 axθ = fig.add_subplot(2, 1, 1) +246 angles_mean = np.mean(angles, axis=0) +247 angles_err = np.std(angles, axis=0) +248 fig, axθ, colors = _vis.alignment( +249 axθ, +250 strains, +251 angles_mean, +252 (".",), +253 (None,), +254 err=angles_err, +255 ) +256 ax_maxsize = fig.add_subplot(2, 1, 2, sharex=axθ) +257 ax_maxsize.set_ylabel(r"$\log_{10}(\overline{S}_{\mathrm{max}})$") +258 max_sizes_mean = np.mean(max_sizes, axis=0) +259 ax_maxsize.plot(strains, max_sizes_mean, color=colors[0]) +260 max_sizes_err = np.std(max_sizes, axis=0) +261 ax_maxsize.fill_between( +262 strains, +263 max_sizes_mean - max_sizes_err, +264 max_sizes_mean + max_sizes_err, +265 alpha=0.22, +266 color=colors[0], +267 ) +268 axθ.label_outer() +269 fig.savefig(_io.resolve_path(f"{out_basepath}.pdf")) +270 np.savez( +271 _io.resolve_path(f"{out_basepath}_data.npz"), +272 strains=strains, +273 max_sizes_mean=max_sizes_mean, +274 max_sizes_err=max_sizes_err, +275 angles_mean=angles_mean, +276 angles_err=angles_err, +277 ) @@ -476,192 +474,190 @@

    92 ) 93 deformation_gradient = np.eye(3) 94 - 95 timestamps_back, get_position = _path.get_pathline( + 95 timestamps, get_position = _path.get_pathline( 96 final_location, 97 get_velocity, 98 get_velocity_gradient, 99 min_coords, 100 max_coords, 101 max_strain, -102 ) -103 timestamps = np.linspace( -104 timestamps_back[-1], timestamps_back[0], int(max_strain * 10) -105 ) -106 positions = [get_position(t) for t in timestamps] -107 velocity_gradients = [get_velocity_gradient(np.asarray(x)) for x in positions] -108 strains = np.empty_like(timestamps) -109 strains[0] = 0 -110 for t, time in enumerate(timestamps[:-1], start=1): -111 strains[t] = strains[t - 1] + ( -112 _utils.strain_increment(timestamps[t] - time, velocity_gradients[t]) -113 ) -114 _log.info("step %d/%d (ε = %.2f)", t, len(timestamps) - 1, strains[t]) -115 -116 deformation_gradient = mineral.update_orientations( -117 params, -118 deformation_gradient, -119 get_velocity_gradient, -120 pathline=(time, timestamps[t], get_position), -121 ) -122 return timestamps, positions, strains, mineral, deformation_gradient -123 -124 @pytest.mark.big -125 def test_xz_10k(self, outdir, seed): -126 """Run 2D cell test with 10000 grains (~14GiB RAM requirement).""" -127 self.test_xz(outdir, seed, 10000) -128 -129 @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000]) -130 def test_xz(self, outdir, seed, n_grains): -131 """Test to check that 5000 grains is "enough" to resolve transient features.""" -132 if outdir is not None: -133 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_N{n_grains}" -134 -135 params = _io.DEFAULT_PARAMS -136 params["number_of_grains"] = n_grains -137 get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1) -138 -139 timestamps, positions, strains, mineral, deformation_gradient = self.run( -140 params, -141 np.asarray([0.5, 0.0, -0.75]), -142 get_velocity, -143 get_velocity_gradient, -144 np.asarray([-1, 0, -1]), -145 np.asarray([1, 0, 1]), -146 7, -147 seed=seed, -148 ) -149 angles = [ -150 _diagnostics.smallest_angle( -151 _diagnostics.bingham_average(a, axis="a"), get_velocity(x) -152 ) -153 for a, x in zip(mineral.orientations, positions, strict=True) -154 ] -155 if outdir is not None: -156 # First figure with the domain and pathline. -157 fig_path, ax_path, q, s = _vis.pathline_box2d( -158 None, -159 get_velocity, -160 "XZ", -161 strains, -162 positions, -163 ".", -164 [-1, -1], -165 [1, 1], -166 [20, 20], -167 cmap="cmc.batlow_r", -168 tick_formatter=lambda x, pos: str(x), -169 ) -170 fig_path.colorbar(s, ax=ax_path, aspect=25, label="Strain (ε)") -171 fig_path.savefig(_io.resolve_path(f"{out_basepath}_path.pdf")) -172 # Second figure with the angles and grain sizes at every 10 strain values. -173 fig = _vis.figure() -174 axθ = fig.add_subplot(2, 1, 1) -175 fig, axθ, colors = _vis.alignment( -176 axθ, -177 strains, -178 angles, -179 (".",), -180 (None,), -181 colors=[strains], -182 cmaps=["cmc.batlow_r"], -183 ) -184 ax_sizes = fig.add_subplot(2, 1, 2, sharex=axθ) -185 fig, ax_sizes, parts = _vis.grainsizes( -186 ax_sizes, strains[::10], mineral.fractions[::10] -187 ) -188 axθ.label_outer() -189 fig.savefig(_io.resolve_path(f"{out_basepath}.pdf")) -190 -191 # Some checks for when we should have "enough" grains. -192 # Based on empirical model outputs, it seems like the dip at ε ≈ 3.75 is the -193 # least sensitive feature to the random state (seed) so we will use that. -194 if n_grains >= 5000: -195 # Can we resolve the temporary alignment to below 20° at ε ≈ 3.75? -196 mean_θ_in_dip = np.mean(angles[34:43]) -197 assert mean_θ_in_dip < 12, mean_θ_in_dip -198 # Can we resolve corresponding dip in max grain size (normalized, log_10)? -199 mean_size_in_dip = np.log10( -200 np.mean([np.max(f) for f in mineral.fractions[34:43]]) * n_grains -201 ) -202 assert 2 < mean_size_in_dip < 3, mean_size_in_dip -203 # Can we resolve subsequent peak in max grain size (normalized, log_10)? -204 max_size_post_dip = np.log10( -205 np.max([np.max(f) for f in mineral.fractions[43:]]) * n_grains -206 ) -207 assert max_size_post_dip > 3, max_size_post_dip -208 -209 @pytest.mark.slow -210 @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000, 10000]) -211 def test_xz_ensemble(self, outdir, seeds_nearX45, ncpus, n_grains): -212 """Test to demonstrate stability of the dip at ε ≈ 3.75 for 5000+ grains.""" -213 _seeds = seeds_nearX45 -214 n_seeds = len(_seeds) -215 if outdir is not None: -216 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_ensemble_N{n_grains}" -217 -218 params = _io.DEFAULT_PARAMS -219 params["number_of_grains"] = n_grains -220 get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1) -221 -222 _run = ft.partial( -223 self.run, -224 params, -225 np.asarray([0.5, 0.0, -0.75]), -226 get_velocity, -227 get_velocity_gradient, -228 np.asarray([-1, 0, -1]), -229 np.asarray([1, 0, 1]), -230 7, -231 ) -232 angles = np.empty((n_seeds, 70)) -233 max_sizes = np.empty_like(angles) -234 with Pool(processes=ncpus) as pool: -235 for s, out in enumerate(pool.imap_unordered(_run, _seeds)): -236 timestamps, positions, strains, mineral, deformation_gradient = out -237 angles[s] = [ -238 _diagnostics.smallest_angle( -239 _diagnostics.bingham_average(a, axis="a"), get_velocity(x) -240 ) -241 for a, x in zip(mineral.orientations, positions, strict=True) -242 ] -243 max_sizes[s] = np.log10(np.max(mineral.fractions, axis=1) * n_grains) -244 -245 if outdir is not None: -246 # Figure with the angles and max grain sizes (ensemble averages). -247 fig = _vis.figure() -248 axθ = fig.add_subplot(2, 1, 1) -249 angles_mean = np.mean(angles, axis=0) -250 angles_err = np.std(angles, axis=0) -251 fig, axθ, colors = _vis.alignment( -252 axθ, -253 strains, -254 angles_mean, -255 (".",), -256 (None,), -257 err=angles_err, -258 ) -259 ax_maxsize = fig.add_subplot(2, 1, 2, sharex=axθ) -260 ax_maxsize.set_ylabel(r"$\log_{10}(\overline{S}_{\mathrm{max}})$") -261 max_sizes_mean = np.mean(max_sizes, axis=0) -262 ax_maxsize.plot(strains, max_sizes_mean, color=colors[0]) -263 max_sizes_err = np.std(max_sizes, axis=0) -264 ax_maxsize.fill_between( -265 strains, -266 max_sizes_mean - max_sizes_err, -267 max_sizes_mean + max_sizes_err, -268 alpha=0.22, -269 color=colors[0], -270 ) -271 axθ.label_outer() -272 fig.savefig(_io.resolve_path(f"{out_basepath}.pdf")) -273 np.savez( -274 _io.resolve_path(f"{out_basepath}_data.npz"), -275 strains=strains, -276 max_sizes_mean=max_sizes_mean, -277 max_sizes_err=max_sizes_err, -278 angles_mean=angles_mean, -279 angles_err=angles_err, -280 ) +102 regular_steps=int(max_strain * 10), +103 ) +104 positions = [get_position(t) for t in timestamps] +105 velocity_gradients = [get_velocity_gradient(np.asarray(x)) for x in positions] +106 strains = np.empty_like(timestamps) +107 strains[0] = 0 +108 for t, time in enumerate(timestamps[:-1], start=1): +109 strains[t] = strains[t - 1] + ( +110 _utils.strain_increment(timestamps[t] - time, velocity_gradients[t]) +111 ) +112 _log.info("step %d/%d (ε = %.2f)", t, len(timestamps) - 1, strains[t]) +113 +114 deformation_gradient = mineral.update_orientations( +115 params, +116 deformation_gradient, +117 get_velocity_gradient, +118 pathline=(time, timestamps[t], get_position), +119 ) +120 return timestamps, positions, strains, mineral, deformation_gradient +121 +122 @pytest.mark.big +123 def test_xz_10k(self, outdir, seed): +124 """Run 2D cell test with 10000 grains (~14GiB RAM requirement).""" +125 self.test_xz(outdir, seed, 10000) +126 +127 @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000]) +128 def test_xz(self, outdir, seed, n_grains): +129 """Test to check that 5000 grains is "enough" to resolve transient features.""" +130 if outdir is not None: +131 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_N{n_grains}" +132 +133 params = _io.DEFAULT_PARAMS +134 params["number_of_grains"] = n_grains +135 get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1) +136 +137 timestamps, positions, strains, mineral, deformation_gradient = self.run( +138 params, +139 np.asarray([0.5, 0.0, -0.75]), +140 get_velocity, +141 get_velocity_gradient, +142 np.asarray([-1, 0, -1]), +143 np.asarray([1, 0, 1]), +144 7, +145 seed=seed, +146 ) +147 angles = [ +148 _diagnostics.smallest_angle( +149 _diagnostics.bingham_average(a, axis="a"), get_velocity(x) +150 ) +151 for a, x in zip(mineral.orientations, positions, strict=True) +152 ] +153 if outdir is not None: +154 # First figure with the domain and pathline. +155 fig_path, ax_path, q, s = _vis.pathline_box2d( +156 None, +157 get_velocity, +158 "XZ", +159 strains, +160 positions, +161 ".", +162 [-1, -1], +163 [1, 1], +164 [20, 20], +165 cmap="cmc.batlow_r", +166 tick_formatter=lambda x, pos: str(x), +167 ) +168 fig_path.colorbar(s, ax=ax_path, aspect=25, label="Strain (ε)") +169 fig_path.savefig(_io.resolve_path(f"{out_basepath}_path.pdf")) +170 # Second figure with the angles and grain sizes at every 10 strain values. +171 fig = _vis.figure() +172 axθ = fig.add_subplot(2, 1, 1) +173 fig, axθ, colors = _vis.alignment( +174 axθ, +175 strains, +176 angles, +177 (".",), +178 (None,), +179 colors=[strains], +180 cmaps=["cmc.batlow_r"], +181 ) +182 ax_sizes = fig.add_subplot(2, 1, 2, sharex=axθ) +183 fig, ax_sizes, parts = _vis.grainsizes( +184 ax_sizes, strains[::10], mineral.fractions[::10] +185 ) +186 axθ.label_outer() +187 fig.savefig(_io.resolve_path(f"{out_basepath}.pdf")) +188 +189 # Some checks for when we should have "enough" grains. +190 # Based on empirical model outputs, it seems like the dip at ε ≈ 3.75 is the +191 # least sensitive feature to the random state (seed) so we will use that. +192 if n_grains >= 5000: +193 # Can we resolve the temporary alignment to below 20° at ε ≈ 3.75? +194 mean_θ_in_dip = np.mean(angles[34:43]) +195 assert mean_θ_in_dip < 12, mean_θ_in_dip +196 # Can we resolve corresponding dip in max grain size (normalized, log_10)? +197 mean_size_in_dip = np.log10( +198 np.mean([np.max(f) for f in mineral.fractions[34:43]]) * n_grains +199 ) +200 assert 2 < mean_size_in_dip < 3, mean_size_in_dip +201 # Can we resolve subsequent peak in max grain size (normalized, log_10)? +202 max_size_post_dip = np.log10( +203 np.max([np.max(f) for f in mineral.fractions[43:]]) * n_grains +204 ) +205 assert max_size_post_dip > 3, max_size_post_dip +206 +207 @pytest.mark.slow +208 @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000, 10000]) +209 def test_xz_ensemble(self, outdir, seeds_nearX45, ncpus, n_grains): +210 """Test to demonstrate stability of the dip at ε ≈ 3.75 for 5000+ grains.""" +211 _seeds = seeds_nearX45 +212 n_seeds = len(_seeds) +213 if outdir is not None: +214 out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_ensemble_N{n_grains}" +215 +216 params = _io.DEFAULT_PARAMS +217 params["number_of_grains"] = n_grains +218 get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1) +219 +220 _run = ft.partial( +221 self.run, +222 params, +223 np.asarray([0.5, 0.0, -0.75]), +224 get_velocity, +225 get_velocity_gradient, +226 np.asarray([-1, 0, -1]), +227 np.asarray([1, 0, 1]), +228 7, +229 ) +230 angles = np.empty((n_seeds, 70)) +231 max_sizes = np.empty_like(angles) +232 with Pool(processes=ncpus) as pool: +233 for s, out in enumerate(pool.imap_unordered(_run, _seeds)): +234 timestamps, positions, strains, mineral, deformation_gradient = out +235 angles[s] = [ +236 _diagnostics.smallest_angle( +237 _diagnostics.bingham_average(a, axis="a"), get_velocity(x) +238 ) +239 for a, x in zip(mineral.orientations, positions, strict=True) +240 ] +241 max_sizes[s] = np.log10(np.max(mineral.fractions, axis=1) * n_grains) +242 +243 if outdir is not None: +244 # Figure with the angles and max grain sizes (ensemble averages). +245 fig = _vis.figure() +246 axθ = fig.add_subplot(2, 1, 1) +247 angles_mean = np.mean(angles, axis=0) +248 angles_err = np.std(angles, axis=0) +249 fig, axθ, colors = _vis.alignment( +250 axθ, +251 strains, +252 angles_mean, +253 (".",), +254 (None,), +255 err=angles_err, +256 ) +257 ax_maxsize = fig.add_subplot(2, 1, 2, sharex=axθ) +258 ax_maxsize.set_ylabel(r"$\log_{10}(\overline{S}_{\mathrm{max}})$") +259 max_sizes_mean = np.mean(max_sizes, axis=0) +260 ax_maxsize.plot(strains, max_sizes_mean, color=colors[0]) +261 max_sizes_err = np.std(max_sizes, axis=0) +262 ax_maxsize.fill_between( +263 strains, +264 max_sizes_mean - max_sizes_err, +265 max_sizes_mean + max_sizes_err, +266 alpha=0.22, +267 color=colors[0], +268 ) +269 axθ.label_outer() +270 fig.savefig(_io.resolve_path(f"{out_basepath}.pdf")) +271 np.savez( +272 _io.resolve_path(f"{out_basepath}_data.npz"), +273 strains=strains, +274 max_sizes_mean=max_sizes_mean, +275 max_sizes_err=max_sizes_err, +276 angles_mean=angles_mean, +277 angles_err=angles_err, +278 ) @@ -715,34 +711,32 @@

    92 ) 93 deformation_gradient = np.eye(3) 94 - 95 timestamps_back, get_position = _path.get_pathline( + 95 timestamps, get_position = _path.get_pathline( 96 final_location, 97 get_velocity, 98 get_velocity_gradient, 99 min_coords, 100 max_coords, 101 max_strain, -102 ) -103 timestamps = np.linspace( -104 timestamps_back[-1], timestamps_back[0], int(max_strain * 10) -105 ) -106 positions = [get_position(t) for t in timestamps] -107 velocity_gradients = [get_velocity_gradient(np.asarray(x)) for x in positions] -108 strains = np.empty_like(timestamps) -109 strains[0] = 0 -110 for t, time in enumerate(timestamps[:-1], start=1): -111 strains[t] = strains[t - 1] + ( -112 _utils.strain_increment(timestamps[t] - time, velocity_gradients[t]) -113 ) -114 _log.info("step %d/%d (ε = %.2f)", t, len(timestamps) - 1, strains[t]) -115 -116 deformation_gradient = mineral.update_orientations( -117 params, -118 deformation_gradient, -119 get_velocity_gradient, -120 pathline=(time, timestamps[t], get_position), -121 ) -122 return timestamps, positions, strains, mineral, deformation_gradient +102 regular_steps=int(max_strain * 10), +103 ) +104 positions = [get_position(t) for t in timestamps] +105 velocity_gradients = [get_velocity_gradient(np.asarray(x)) for x in positions] +106 strains = np.empty_like(timestamps) +107 strains[0] = 0 +108 for t, time in enumerate(timestamps[:-1], start=1): +109 strains[t] = strains[t - 1] + ( +110 _utils.strain_increment(timestamps[t] - time, velocity_gradients[t]) +111 ) +112 _log.info("step %d/%d (ε = %.2f)", t, len(timestamps) - 1, strains[t]) +113 +114 deformation_gradient = mineral.update_orientations( +115 params, +116 deformation_gradient, +117 get_velocity_gradient, +118 pathline=(time, timestamps[t], get_position), +119 ) +120 return timestamps, positions, strains, mineral, deformation_gradient @@ -763,10 +757,10 @@

    -
    124    @pytest.mark.big
    -125    def test_xz_10k(self, outdir, seed):
    -126        """Run 2D cell test with 10000 grains (~14GiB RAM requirement)."""
    -127        self.test_xz(outdir, seed, 10000)
    +            
    122    @pytest.mark.big
    +123    def test_xz_10k(self, outdir, seed):
    +124        """Run 2D cell test with 10000 grains (~14GiB RAM requirement)."""
    +125        self.test_xz(outdir, seed, 10000)
     
    @@ -787,85 +781,85 @@

    -
    129    @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000])
    -130    def test_xz(self, outdir, seed, n_grains):
    -131        """Test to check that 5000 grains is "enough" to resolve transient features."""
    -132        if outdir is not None:
    -133            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_N{n_grains}"
    -134
    -135        params = _io.DEFAULT_PARAMS
    -136        params["number_of_grains"] = n_grains
    -137        get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1)
    -138
    -139        timestamps, positions, strains, mineral, deformation_gradient = self.run(
    -140            params,
    -141            np.asarray([0.5, 0.0, -0.75]),
    -142            get_velocity,
    -143            get_velocity_gradient,
    -144            np.asarray([-1, 0, -1]),
    -145            np.asarray([1, 0, 1]),
    -146            7,
    -147            seed=seed,
    -148        )
    -149        angles = [
    -150            _diagnostics.smallest_angle(
    -151                _diagnostics.bingham_average(a, axis="a"), get_velocity(x)
    -152            )
    -153            for a, x in zip(mineral.orientations, positions, strict=True)
    -154        ]
    -155        if outdir is not None:
    -156            # First figure with the domain and pathline.
    -157            fig_path, ax_path, q, s = _vis.pathline_box2d(
    -158                None,
    -159                get_velocity,
    -160                "XZ",
    -161                strains,
    -162                positions,
    -163                ".",
    -164                [-1, -1],
    -165                [1, 1],
    -166                [20, 20],
    -167                cmap="cmc.batlow_r",
    -168                tick_formatter=lambda x, pos: str(x),
    -169            )
    -170            fig_path.colorbar(s, ax=ax_path, aspect=25, label="Strain (ε)")
    -171            fig_path.savefig(_io.resolve_path(f"{out_basepath}_path.pdf"))
    -172            # Second figure with the angles and grain sizes at every 10 strain values.
    -173            fig = _vis.figure()
    -174            axθ = fig.add_subplot(2, 1, 1)
    -175            fig, axθ, colors = _vis.alignment(
    -176                axθ,
    -177                strains,
    -178                angles,
    -179                (".",),
    -180                (None,),
    -181                colors=[strains],
    -182                cmaps=["cmc.batlow_r"],
    -183            )
    -184            ax_sizes = fig.add_subplot(2, 1, 2, sharex=axθ)
    -185            fig, ax_sizes, parts = _vis.grainsizes(
    -186                ax_sizes, strains[::10], mineral.fractions[::10]
    -187            )
    -188            axθ.label_outer()
    -189            fig.savefig(_io.resolve_path(f"{out_basepath}.pdf"))
    -190
    -191        # Some checks for when we should have "enough" grains.
    -192        # Based on empirical model outputs, it seems like the dip at ε ≈ 3.75 is the
    -193        # least sensitive feature to the random state (seed) so we will use that.
    -194        if n_grains >= 5000:
    -195            # Can we resolve the temporary alignment to below 20° at ε ≈ 3.75?
    -196            mean_θ_in_dip = np.mean(angles[34:43])
    -197            assert mean_θ_in_dip < 12, mean_θ_in_dip
    -198            # Can we resolve corresponding dip in max grain size (normalized, log_10)?
    -199            mean_size_in_dip = np.log10(
    -200                np.mean([np.max(f) for f in mineral.fractions[34:43]]) * n_grains
    -201            )
    -202            assert 2 < mean_size_in_dip < 3, mean_size_in_dip
    -203            # Can we resolve subsequent peak in max grain size (normalized, log_10)?
    -204            max_size_post_dip = np.log10(
    -205                np.max([np.max(f) for f in mineral.fractions[43:]]) * n_grains
    -206            )
    -207            assert max_size_post_dip > 3, max_size_post_dip
    +            
    127    @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000])
    +128    def test_xz(self, outdir, seed, n_grains):
    +129        """Test to check that 5000 grains is "enough" to resolve transient features."""
    +130        if outdir is not None:
    +131            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_N{n_grains}"
    +132
    +133        params = _io.DEFAULT_PARAMS
    +134        params["number_of_grains"] = n_grains
    +135        get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1)
    +136
    +137        timestamps, positions, strains, mineral, deformation_gradient = self.run(
    +138            params,
    +139            np.asarray([0.5, 0.0, -0.75]),
    +140            get_velocity,
    +141            get_velocity_gradient,
    +142            np.asarray([-1, 0, -1]),
    +143            np.asarray([1, 0, 1]),
    +144            7,
    +145            seed=seed,
    +146        )
    +147        angles = [
    +148            _diagnostics.smallest_angle(
    +149                _diagnostics.bingham_average(a, axis="a"), get_velocity(x)
    +150            )
    +151            for a, x in zip(mineral.orientations, positions, strict=True)
    +152        ]
    +153        if outdir is not None:
    +154            # First figure with the domain and pathline.
    +155            fig_path, ax_path, q, s = _vis.pathline_box2d(
    +156                None,
    +157                get_velocity,
    +158                "XZ",
    +159                strains,
    +160                positions,
    +161                ".",
    +162                [-1, -1],
    +163                [1, 1],
    +164                [20, 20],
    +165                cmap="cmc.batlow_r",
    +166                tick_formatter=lambda x, pos: str(x),
    +167            )
    +168            fig_path.colorbar(s, ax=ax_path, aspect=25, label="Strain (ε)")
    +169            fig_path.savefig(_io.resolve_path(f"{out_basepath}_path.pdf"))
    +170            # Second figure with the angles and grain sizes at every 10 strain values.
    +171            fig = _vis.figure()
    +172            axθ = fig.add_subplot(2, 1, 1)
    +173            fig, axθ, colors = _vis.alignment(
    +174                axθ,
    +175                strains,
    +176                angles,
    +177                (".",),
    +178                (None,),
    +179                colors=[strains],
    +180                cmaps=["cmc.batlow_r"],
    +181            )
    +182            ax_sizes = fig.add_subplot(2, 1, 2, sharex=axθ)
    +183            fig, ax_sizes, parts = _vis.grainsizes(
    +184                ax_sizes, strains[::10], mineral.fractions[::10]
    +185            )
    +186            axθ.label_outer()
    +187            fig.savefig(_io.resolve_path(f"{out_basepath}.pdf"))
    +188
    +189        # Some checks for when we should have "enough" grains.
    +190        # Based on empirical model outputs, it seems like the dip at ε ≈ 3.75 is the
    +191        # least sensitive feature to the random state (seed) so we will use that.
    +192        if n_grains >= 5000:
    +193            # Can we resolve the temporary alignment to below 20° at ε ≈ 3.75?
    +194            mean_θ_in_dip = np.mean(angles[34:43])
    +195            assert mean_θ_in_dip < 12, mean_θ_in_dip
    +196            # Can we resolve corresponding dip in max grain size (normalized, log_10)?
    +197            mean_size_in_dip = np.log10(
    +198                np.mean([np.max(f) for f in mineral.fractions[34:43]]) * n_grains
    +199            )
    +200            assert 2 < mean_size_in_dip < 3, mean_size_in_dip
    +201            # Can we resolve subsequent peak in max grain size (normalized, log_10)?
    +202            max_size_post_dip = np.log10(
    +203                np.max([np.max(f) for f in mineral.fractions[43:]]) * n_grains
    +204            )
    +205            assert max_size_post_dip > 3, max_size_post_dip
     
    @@ -887,78 +881,78 @@

    -
    209    @pytest.mark.slow
    -210    @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000, 10000])
    -211    def test_xz_ensemble(self, outdir, seeds_nearX45, ncpus, n_grains):
    -212        """Test to demonstrate stability of the dip at ε ≈ 3.75 for 5000+ grains."""
    -213        _seeds = seeds_nearX45
    -214        n_seeds = len(_seeds)
    -215        if outdir is not None:
    -216            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_ensemble_N{n_grains}"
    -217
    -218        params = _io.DEFAULT_PARAMS
    -219        params["number_of_grains"] = n_grains
    -220        get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1)
    -221
    -222        _run = ft.partial(
    -223            self.run,
    -224            params,
    -225            np.asarray([0.5, 0.0, -0.75]),
    -226            get_velocity,
    -227            get_velocity_gradient,
    -228            np.asarray([-1, 0, -1]),
    -229            np.asarray([1, 0, 1]),
    -230            7,
    -231        )
    -232        angles = np.empty((n_seeds, 70))
    -233        max_sizes = np.empty_like(angles)
    -234        with Pool(processes=ncpus) as pool:
    -235            for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    -236                timestamps, positions, strains, mineral, deformation_gradient = out
    -237                angles[s] = [
    -238                    _diagnostics.smallest_angle(
    -239                        _diagnostics.bingham_average(a, axis="a"), get_velocity(x)
    -240                    )
    -241                    for a, x in zip(mineral.orientations, positions, strict=True)
    -242                ]
    -243                max_sizes[s] = np.log10(np.max(mineral.fractions, axis=1) * n_grains)
    -244
    -245        if outdir is not None:
    -246            # Figure with the angles and max grain sizes (ensemble averages).
    -247            fig = _vis.figure()
    -248            axθ = fig.add_subplot(2, 1, 1)
    -249            angles_mean = np.mean(angles, axis=0)
    -250            angles_err = np.std(angles, axis=0)
    -251            fig, axθ, colors = _vis.alignment(
    -252                axθ,
    -253                strains,
    -254                angles_mean,
    -255                (".",),
    -256                (None,),
    -257                err=angles_err,
    -258            )
    -259            ax_maxsize = fig.add_subplot(2, 1, 2, sharex=axθ)
    -260            ax_maxsize.set_ylabel(r"$\log_{10}(\overline{S}_{\mathrm{max}})$")
    -261            max_sizes_mean = np.mean(max_sizes, axis=0)
    -262            ax_maxsize.plot(strains, max_sizes_mean, color=colors[0])
    -263            max_sizes_err = np.std(max_sizes, axis=0)
    -264            ax_maxsize.fill_between(
    -265                strains,
    -266                max_sizes_mean - max_sizes_err,
    -267                max_sizes_mean + max_sizes_err,
    -268                alpha=0.22,
    -269                color=colors[0],
    -270            )
    -271            axθ.label_outer()
    -272            fig.savefig(_io.resolve_path(f"{out_basepath}.pdf"))
    -273            np.savez(
    -274                _io.resolve_path(f"{out_basepath}_data.npz"),
    -275                strains=strains,
    -276                max_sizes_mean=max_sizes_mean,
    -277                max_sizes_err=max_sizes_err,
    -278                angles_mean=angles_mean,
    -279                angles_err=angles_err,
    -280            )
    +            
    207    @pytest.mark.slow
    +208    @pytest.mark.parametrize("n_grains", [100, 500, 1000, 5000, 10000])
    +209    def test_xz_ensemble(self, outdir, seeds_nearX45, ncpus, n_grains):
    +210        """Test to demonstrate stability of the dip at ε ≈ 3.75 for 5000+ grains."""
    +211        _seeds = seeds_nearX45
    +212        n_seeds = len(_seeds)
    +213        if outdir is not None:
    +214            out_basepath = f"{outdir}/{SUBDIR}/{self.class_id}_xz_ensemble_N{n_grains}"
    +215
    +216        params = _io.DEFAULT_PARAMS
    +217        params["number_of_grains"] = n_grains
    +218        get_velocity, get_velocity_gradient = _velocity.cell_2d("X", "Z", 1)
    +219
    +220        _run = ft.partial(
    +221            self.run,
    +222            params,
    +223            np.asarray([0.5, 0.0, -0.75]),
    +224            get_velocity,
    +225            get_velocity_gradient,
    +226            np.asarray([-1, 0, -1]),
    +227            np.asarray([1, 0, 1]),
    +228            7,
    +229        )
    +230        angles = np.empty((n_seeds, 70))
    +231        max_sizes = np.empty_like(angles)
    +232        with Pool(processes=ncpus) as pool:
    +233            for s, out in enumerate(pool.imap_unordered(_run, _seeds)):
    +234                timestamps, positions, strains, mineral, deformation_gradient = out
    +235                angles[s] = [
    +236                    _diagnostics.smallest_angle(
    +237                        _diagnostics.bingham_average(a, axis="a"), get_velocity(x)
    +238                    )
    +239                    for a, x in zip(mineral.orientations, positions, strict=True)
    +240                ]
    +241                max_sizes[s] = np.log10(np.max(mineral.fractions, axis=1) * n_grains)
    +242
    +243        if outdir is not None:
    +244            # Figure with the angles and max grain sizes (ensemble averages).
    +245            fig = _vis.figure()
    +246            axθ = fig.add_subplot(2, 1, 1)
    +247            angles_mean = np.mean(angles, axis=0)
    +248            angles_err = np.std(angles, axis=0)
    +249            fig, axθ, colors = _vis.alignment(
    +250                axθ,
    +251                strains,
    +252                angles_mean,
    +253                (".",),
    +254                (None,),
    +255                err=angles_err,
    +256            )
    +257            ax_maxsize = fig.add_subplot(2, 1, 2, sharex=axθ)
    +258            ax_maxsize.set_ylabel(r"$\log_{10}(\overline{S}_{\mathrm{max}})$")
    +259            max_sizes_mean = np.mean(max_sizes, axis=0)
    +260            ax_maxsize.plot(strains, max_sizes_mean, color=colors[0])
    +261            max_sizes_err = np.std(max_sizes, axis=0)
    +262            ax_maxsize.fill_between(
    +263                strains,
    +264                max_sizes_mean - max_sizes_err,
    +265                max_sizes_mean + max_sizes_err,
    +266                alpha=0.22,
    +267                color=colors[0],
    +268            )
    +269            axθ.label_outer()
    +270            fig.savefig(_io.resolve_path(f"{out_basepath}.pdf"))
    +271            np.savez(
    +272                _io.resolve_path(f"{out_basepath}_data.npz"),
    +273                strains=strains,
    +274                max_sizes_mean=max_sizes_mean,
    +275                max_sizes_err=max_sizes_err,
    +276                angles_mean=angles_mean,
    +277                angles_err=angles_err,
    +278            )