Skip to content

Note

Click here to download the full example code

Toyoura Sand (Undrained)

Undrained triaxial tests on Toyoura sand with DEM 1.

import pandas as pd

from micromechanical.cli.plot import PlotCLI, PlotConfig

config: PlotConfig = PlotCLI.loadConfig("../../calibrations/micromechanical-plots.yaml")
plot_name = "Gu2014-undrained-CH-SANISAND-two-column"
plot_config = config.plots[plot_name]

Out:

/home/runner/work/musica/musica/micromechanical/cli/plot.py:56: UserWarning: Calibration file /home/runner/work/musica/musica/calibrations/Calibrations/Gu2024-CT-Dense-Static.json not found, skipping.
  warnings.warn(f"Calibration file {path.as_posix()} not found, skipping.")
/home/runner/work/musica/musica/micromechanical/cli/plot.py:56: UserWarning: Calibration file /home/runner/work/musica/musica/calibrations/Calibrations/Gu2024-CT-Dense-Kinematic.json not found, skipping.
  warnings.warn(f"Calibration file {path.as_posix()} not found, skipping.")
/home/runner/work/musica/musica/micromechanical/cli/plot.py:56: UserWarning: Calibration file /home/runner/work/musica/musica/calibrations/Calibrations/Gu2024-CT-Medium-Dense-Static.json not found, skipping.
  warnings.warn(f"Calibration file {path.as_posix()} not found, skipping.")
/home/runner/work/musica/musica/micromechanical/cli/plot.py:56: UserWarning: Calibration file /home/runner/work/musica/musica/calibrations/Calibrations/Gu2024-CT-Medium-Dense-Kinematic.json not found, skipping.
  warnings.warn(f"Calibration file {path.as_posix()} not found, skipping.")

Parameters

pd.DataFrame(
    {
        key.replace("micromechanical.calibrationkey:FabricCoefficientKey(", "").replace(")", ""): value
        for key, value in plot_config.calibration.read(config.root).parameters.items()
    },
    index=["Gu2014-undrained"],
)
Ad Lambda V X b c ch cohesion e0 eref0 erefu fnr fref h0 kn0 krr m Fc0 h n nd ne np nw phi rho rhoc theta xi
Gu2014-undrained 9.92224 0.015391 1000.0 0.8 1.000000e-07 1.0 1.0 0.0 0.6 0.71331 0.3 0.03 0.0001 3.775584e+06 60.967755 0.372066 1.824157 0.379312 163.092556 20.0 1.636987 0.000006 0.075273 1.0 15.81437 0.0 0.37 0.18 1.269156

Figures

plot_config.plot(plot_name, grids=config.grids, save=False, overwrite=False, exclude_figures=["macroscopic-anisotropy"])

(a), (b), (c), (d)

Out:

/home/runner/work/musica/musica/micromechanical/cli/_calculationoptions.py:42: UserWarning: Calculation option micromechanical.calibrationkey:FabricCoefficientKey(Fc0) is not supported
  warnings.warn(f"Calculation option {key} is not supported")
/home/runner/work/musica/musica/micromechanical/cli/_calculationoptions.py:42: UserWarning: Calculation option micromechanical.calibrationkey:FabricCoefficientKey(h) is not supported
  warnings.warn(f"Calculation option {key} is not supported")
/home/runner/work/musica/musica/micromechanical/cli/_calculationoptions.py:42: UserWarning: Calculation option micromechanical.calibrationkey:FabricCoefficientKey(m) is not supported
  warnings.warn(f"Calculation option {key} is not supported")
/home/runner/work/musica/musica/micromechanical/cli/_calculationoptions.py:42: UserWarning: Calculation option micromechanical.calibrationkey:FabricCoefficientKey(n) is not supported
  warnings.warn(f"Calculation option {key} is not supported")
/home/runner/work/musica/musica/micromechanical/cli/_figureoptions.py:337: UserWarning: The figure Gu2014-undrained-CH-SANISAND-two-column -> macroscopic is not generated because the `generate` option is set to False.
  warnings.warn(
Running CH-SANISAND model for experiment Gu2014-undrained-Dense-50 ...
Finished in 1.697 seconds.
Running CH-SANISAND model for experiment Gu2014-undrained-Dense-400 ...
Finished in 1.160 seconds.
Running CH-SANISAND model for experiment Gu2014-undrained-Very-Dense-100 ...
Finished in 1.204 seconds.
Running CH-SANISAND model for experiment Gu2014-undrained-Dense-100 ...
Finished in 1.749 seconds.
Running CH-SANISAND model for experiment Gu2014-undrained-Medium-Dense-100 ...
Finished in 2.984 seconds.
Running CH-SANISAND model for experiment Gu2014-undrained-Very-Loose-100 ...
Traceback (most recent call last):
  File "/home/runner/work/musica/musica/micromechanical/models/model.py", line 1729, in run
    sv = SVExporter(self.model.run())
RuntimeError: Mixed load control algorithm did not converge.

{'macroscopic-confining': <Figure size 1200x800 with 4 Axes>, 'macroscopic-density': <Figure size 1200x800 with 4 Axes>}

Total running time of the script: ( 0 minutes 14.641 seconds)

Download Python source code: plot_gu2014_undrained_sanisand.py

Download Jupyter notebook: plot_gu2014_undrained_sanisand.ipynb

Gallery generated by mkdocs-gallery


  1. Gu, X., Huang, M., & Qian, J. (2014). DEM investigation on the evolution of microstructure in granular soils under shearing. Granular Matter, 16(1), 91–106. https://doi.org/10.1007/s10035-013-0467-z ↩