QuasiStatic#
Quasistatic event-driven simulations.
Functions
|
Check the data file for data version. |
|
Write or check the detailed dynamics of a quasistatic step. |
|
Check the integrity of the fast load file. |
|
Read information (avalanche size, force) of an ensemble. |
|
Add/overwrite |
|
Generate IO files (including job-scripts) to run simulations. |
|
Save the state of the random generators for fast loading of the simulation. |
|
Write list of jobs to rerun a quasistatic step. |
|
Write all steps to be viewed in Paraview. |
|
Basic plot. |
|
Plot state after system spanning events. |
|
Run simulation. |
|
Extract stability and height-height correlation after system spanning events. |
|
Extract the structure factor after system spanning events. |
|
Update the data from any version to the current version. |
|
Allocate the proper system based on the parameters in the file. |
|
Read basic output from simulation. |
|
Create, update, or read/check metadata. This function creates metadata as attributes to a group |
Return list with version strings. |
|
|
Convert a filepath to the corresponding fastload filepath. |
|
Generate a simulation file. |
|
Split filename in useful information. |
|
Estimate the first step of the steady-state. |
Classes
|
|
|
|
|
Base class for extra system methods and parameters. |
Details
- depinning_inertia_2024.QuasiStatic.CheckData(cli_args=None, my_data_version='2.0')#
Check the data file for data version. Prints the files that have failed. No output is written if all files are ok.
- depinning_inertia_2024.QuasiStatic.CheckDynamics(cli_args: list[str] = None)#
Write or check the detailed dynamics of a quasistatic step.
- depinning_inertia_2024.QuasiStatic.CheckFastLoad(cli_args: list[str] = None)#
Check the integrity of the fast load file.
- depinning_inertia_2024.QuasiStatic.EnsembleInfo(cli_args: list[str] = None)#
Read information (avalanche size, force) of an ensemble. See
depinning_inertia_2024.QuasiStatic.basic_output()
. Store into a single output file.
- depinning_inertia_2024.QuasiStatic.ForceCurrentDataVersion(cli_args: list[str] = None)#
Add/overwrite
"/param/data_version"
to the current version. Warning: use with caution. There are no checks that the data is compatible with the current version.
- depinning_inertia_2024.QuasiStatic.Generate(cli_args: list[str] = None)#
Generate IO files (including job-scripts) to run simulations.
- depinning_inertia_2024.QuasiStatic.GenerateFastLoad(cli_args: list[str] = None)#
Save the state of the random generators for fast loading of the simulation. The data created by this function is just to speed-up processing, it is completely obsolete and can be removed without hesitation.
- depinning_inertia_2024.QuasiStatic.JobRerun(cli_args: list[str] = None)#
Write list of jobs to rerun a quasistatic step.
- depinning_inertia_2024.QuasiStatic.Paraview(cli_args: list[str] = None)#
Write all steps to be viewed in Paraview.
- depinning_inertia_2024.QuasiStatic.Plot(cli_args: list[str] = None)#
Basic plot.
- depinning_inertia_2024.QuasiStatic.PlotStateAfterSystemSpanning(cli_args: list[str] = None)#
Plot state after system spanning events. Input files:
depinning_inertia_2024.QuasiStatic.EnsembleInfo()
, or ?? (TODO)
- depinning_inertia_2024.QuasiStatic.Run(cli_args: list[str] = None)#
Run simulation.
- depinning_inertia_2024.QuasiStatic.StateAfterSystemSpanning(cli_args: list[str] = None)#
Extract stability and height-height correlation after system spanning events. In particular, the following quantities are stored:
P(x), with x the distance to yielding.
The height-height correlation.
- depinning_inertia_2024.QuasiStatic.StructureAfterSystemSpanning(cli_args: list[str] = None)#
Extract the structure factor after system spanning events. See: https://doi.org/10.1103/PhysRevLett.118.147208
- depinning_inertia_2024.QuasiStatic.UpdateData(cli_args: list[str] = None)#
Update the data from any version to the current version.
- depinning_inertia_2024.QuasiStatic.allocate_system(file: File)#
Allocate the proper system based on the parameters in the file.
- depinning_inertia_2024.QuasiStatic.basic_output(file: File) dict #
Read basic output from simulation.
- Parameters
file – Open simulation HDF5 archive (read-only).
- Returns
Basic output as follows:: u_frame: Position of the load frame [nstep]. f_frame: Average driving force [nstep]. f_potential: Average elastic force [nstep]. S: Number of times a particle yielded [nstep]. A: Number of particles that yielded at least once [nstep]. kick: Step started with a kick (True), or contains only elastic loading (False) [nstep]. step: Step numbers == np.arange(nstep). steadystate: Increment number where the steady state starts (int).
- depinning_inertia_2024.QuasiStatic.create_check_meta(file: File = None, path: str = None, dev: bool = False, **kwargs) Group #
Create, update, or read/check metadata. This function creates metadata as attributes to a group
path
as follows:"uuid": A unique identifier that can be used to distinguish simulations. "version": The current version of this code (updated). "dependencies": The current version of all relevant dependencies (updated). "compiler": Compiler information (updated).
- Parameters
file – HDF5 archive.
path – Path in
file
to store/read metadata.dev – Allow uncommitted changes.
- Returns
Group to metadata.
- depinning_inertia_2024.QuasiStatic.dependencies() list[str] #
Return list with version strings. Compared to model.System.version_dependencies() this adds the version of prrng.
- depinning_inertia_2024.QuasiStatic.filename2fastload(filepath)#
Convert a filepath to the corresponding fastload filepath.
- depinning_inertia_2024.QuasiStatic.generate(file: File, shape: list[int], seed: int, eta: float = None, dt: float = None, k_frame: float = None, potential: dict = {'mu': 1.0, 'type': 'Cuspy'}, distribution: str = 'weibull', interactions: dict = {'k': 1.0, 'type': 'Laplace'}, overdamped: bool = False, temperature: float = None)#
Generate a simulation file.
- Parameters
file – HDF5 file opened for writing.
shape – Shape of the system.
seed – Base seed.
eta – Damping coefficient.
dt – Time step.
k_frame – Frame stiffness. Default:
1 / L**2
.potential – Select potential.
distribution – Distribution of potentials.
interactions – Select interactions.
overdamped – Run overdamped dynamics (no passing rule if quasistatic).
temperature – Temperature (in units of the yield force = 1).
- depinning_inertia_2024.QuasiStatic.interpret_filename(filename: str) dict #
Split filename in useful information.
- depinning_inertia_2024.QuasiStatic.steadystate(u_frame: ArrayLike, f_frame: ArrayLike, kick: ArrayLike, A: ArrayLike, N: int, **kwargs) int #
Estimate the first step of the steady-state. Constraints:
Start with elastic loading.
Sufficiently low tangent modulus.
All blocks yielded at least once.
Note
Keywords arguments that are not explicitly listed are ignored.
- Parameters
u_frame – Position of the load frame [nstep].
f_frame – Average driving force [nstep].
kick – Whether a kick was applied [nstep].
A – Number of blocks that yielded at least once [nstep].
N – Number of blocks.
- Returns
Step number.
- class depinning_inertia_2024.QuasiStatic.Line1d_System_Cuspy_Laplace(file: File)#
- class depinning_inertia_2024.QuasiStatic.Line1d_System_Cuspy_Laplace_Nopassing(file: File)#
- class depinning_inertia_2024.QuasiStatic.Line1d_System_Cuspy_Laplace_RandomForcing(file: File)#
- class depinning_inertia_2024.QuasiStatic.Line1d_System_Cuspy_LongRange(file: File)#
- class depinning_inertia_2024.QuasiStatic.Line1d_System_Cuspy_Quartic(file: File)#
- class depinning_inertia_2024.QuasiStatic.Line1d_System_Cuspy_QuarticGradient(file: File)#
- class depinning_inertia_2024.QuasiStatic.Line1d_System_Cuspy_Quartic_RandomForcing(file: File)#
- class depinning_inertia_2024.QuasiStatic.Line1d_System_SemiSmooth_Laplace(file: File)#
- class depinning_inertia_2024.QuasiStatic.Line1d_System_Smooth_Laplace(file: File)#
- class depinning_inertia_2024.QuasiStatic.Line2d_System_Cuspy_Laplace(file: File)#
- class depinning_inertia_2024.QuasiStatic.MyFmt(prog, indent_increment=2, max_help_position=24, width=None)#
- class depinning_inertia_2024.QuasiStatic.Normalisation(file: File)#
- asdict()#
Return relevant parameters as dictionary.
- class depinning_inertia_2024.QuasiStatic.SystemExtra(file: File)#
Base class for extra system methods and parameters.
- chunk_goto(u: ArrayLike, fastload: tuple(str, str) = None)#
Update the yield positions to be able to accommodate a target position
u
. Note: the position is not updated!- Parameters
u – Target position.
fastload – If available
(filename, groupname)
of the closest fastload info.
- restore_quasistatic_step(root: Group, step: int, fastload: bool = True)#
Quench and restore an a quasistatic step for the relevant root. The
root
group should contain:root["u"][str(step)] # Positions root["inc"][step] # Increment (-> time) root["u_frame"][step] # Loading frame position
- Parameters
root – HDF5 archive opened in the right root (read-only).
step – Step number.
fastload – Use fastload file (if detected), see
depinning_inertia_2024.QuasiStatic.GenerateFastLoad()
.