pydrex.mock

PyDRex: Mock objects for testing and reproducibility.

  1"""> PyDRex: Mock objects for testing and reproducibility."""
  2
  3from pydrex.core import MineralFabric, MineralPhase
  4
  5PARAMS_FRATERS2021 = {
  6    "phase_assemblage": (MineralPhase.olivine, MineralPhase.enstatite),
  7    "phase_fractions": (0.7, 0.3),
  8    "initial_olivine_fabric": MineralFabric.olivine_A,
  9    "stress_exponent": 1.5,
 10    "deformation_exponent": 3.5,
 11    "gbm_mobility": 125,
 12    "gbs_threshold": 0.3,
 13    "nucleation_efficiency": 5,
 14    "number_of_grains": 5000,
 15}
 16"""Values used for tests 1, 2 and 4 in <https://doi.org/10.1029/2021gc009846>."""
 17
 18PARAMS_KAMINSKI2001_FIG5_SOLID = {
 19    "phase_assemblage": (MineralPhase.olivine,),
 20    "phase_fractions": (1,),
 21    "initial_olivine_fabric": MineralFabric.olivine_A,
 22    "stress_exponent": 1.5,
 23    "deformation_exponent": 3.5,
 24    "gbm_mobility": 0,
 25    "gbs_threshold": 0,
 26    "nucleation_efficiency": 5,
 27    "number_of_grains": 3375,  # 15^3 as in the Fortran code.
 28}
 29"""Values used for the M*=0 test in <https://doi.org/10.1016/s0012-821x(01)00356-9>."""
 30
 31PARAMS_KAMINSKI2001_FIG5_SHORTDASH = {
 32    "phase_assemblage": (MineralPhase.olivine,),
 33    "phase_fractions": (1,),
 34    "initial_olivine_fabric": MineralFabric.olivine_A,
 35    "stress_exponent": 1.5,
 36    "deformation_exponent": 3.5,
 37    "gbm_mobility": 50,
 38    "gbs_threshold": 0,
 39    "nucleation_efficiency": 5,
 40    "number_of_grains": 3375,  # 15^3 as in the Fortran code.
 41}
 42"""Values used for the M*=50 test in <https://doi.org/10.1016/s0012-821x(01)00356-9>."""
 43
 44PARAMS_KAMINSKI2001_FIG5_LONGDASH = {
 45    "phase_assemblage": (MineralPhase.olivine,),
 46    "phase_fractions": (1,),
 47    "initial_olivine_fabric": MineralFabric.olivine_A,
 48    "stress_exponent": 1.5,
 49    "deformation_exponent": 3.5,
 50    "gbm_mobility": 200,
 51    "gbs_threshold": 0,
 52    "nucleation_efficiency": 5,
 53    "number_of_grains": 3375,  # 15^3 as in the Fortran code.
 54}
 55"""Values used for the M*=200 test in <https://doi.org/10.1016/s0012-821x(01)00356-9>."""
 56
 57PARAMS_KAMINSKI2004_FIG4_TRIANGLES = {
 58    "phase_assemblage": (MineralPhase.olivine,),
 59    "phase_fractions": (1,),
 60    "initial_olivine_fabric": MineralFabric.olivine_A,
 61    "stress_exponent": 1.5,
 62    "deformation_exponent": 3.5,
 63    "gbm_mobility": 125,
 64    "gbs_threshold": 0.4,
 65    "nucleation_efficiency": 5,
 66    "number_of_grains": 4394,  # Section 4.1, first paragraph.
 67}
 68"""Values used for the χ=0.4 test in <https://doi.org/10.1111/j.1365-246x.2004.02308.x>."""
 69
 70PARAMS_KAMINSKI2004_FIG4_SQUARES = {
 71    "phase_assemblage": (MineralPhase.olivine,),
 72    "phase_fractions": (1,),
 73    "initial_olivine_fabric": MineralFabric.olivine_A,
 74    "stress_exponent": 1.5,
 75    "deformation_exponent": 3.5,
 76    "gbm_mobility": 125,
 77    "gbs_threshold": 0.2,
 78    "nucleation_efficiency": 5,
 79    "number_of_grains": 4394,  # Section 4.1, first paragraph.
 80}
 81"""Values used for the χ=0.2 test in <https://doi.org/10.1111/j.1365-246x.2004.02308.x>."""
 82
 83PARAMS_KAMINSKI2004_FIG4_CIRCLES = {
 84    "phase_assemblage": (MineralPhase.olivine,),
 85    "phase_fractions": (1,),
 86    "initial_olivine_fabric": MineralFabric.olivine_A,
 87    "stress_exponent": 1.5,
 88    "deformation_exponent": 3.5,
 89    "gbm_mobility": 125,
 90    "gbs_threshold": 0,
 91    "nucleation_efficiency": 5,
 92    "number_of_grains": 4394,  # Section 4.1, first paragraph.
 93}
 94"""Values used for the χ=0 test in <https://doi.org/10.1111/j.1365-246x.2004.02308.x>."""
 95
 96PARAMS_HEDJAZIAN2017 = {
 97    "phase_assemblage": (MineralPhase.olivine, MineralPhase.enstatite),
 98    "phase_fractions": (0.7, 0.3),
 99    "initial_olivine_fabric": MineralFabric.olivine_A,
100    "stress_exponent": 1.5,
101    "deformation_exponent": 3.5,
102    "gbm_mobility": 10,
103    "gbs_threshold": 0.2,
104    "nucleation_efficiency": 5,
105    "number_of_grains": 2197,  # 13^3 for both olivine and enstatite.
106}
107"""Values used for the MOR model in <https://doi.org/10.1016/j.epsl.2016.12.004>."""
PARAMS_FRATERS2021 = {'phase_assemblage': (<MineralPhase.olivine: 0>, <MineralPhase.enstatite: 1>), 'phase_fractions': (0.7, 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}

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

PARAMS_KAMINSKI2001_FIG5_SOLID = {'phase_assemblage': (<MineralPhase.olivine: 0>,), 'phase_fractions': (1,), '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}

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

PARAMS_KAMINSKI2001_FIG5_SHORTDASH = {'phase_assemblage': (<MineralPhase.olivine: 0>,), 'phase_fractions': (1,), '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}

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

PARAMS_KAMINSKI2001_FIG5_LONGDASH = {'phase_assemblage': (<MineralPhase.olivine: 0>,), 'phase_fractions': (1,), '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}

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

PARAMS_KAMINSKI2004_FIG4_TRIANGLES = {'phase_assemblage': (<MineralPhase.olivine: 0>,), 'phase_fractions': (1,), '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}

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

PARAMS_KAMINSKI2004_FIG4_SQUARES = {'phase_assemblage': (<MineralPhase.olivine: 0>,), 'phase_fractions': (1,), '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}

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

PARAMS_KAMINSKI2004_FIG4_CIRCLES = {'phase_assemblage': (<MineralPhase.olivine: 0>,), 'phase_fractions': (1,), '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}

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

PARAMS_HEDJAZIAN2017 = {'phase_assemblage': (<MineralPhase.olivine: 0>, <MineralPhase.enstatite: 1>), 'phase_fractions': (0.7, 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}

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