QuasiStatic#

Quasistatic event-driven simulations.

Functions

CheckData([cli_args, my_data_version])

Check the data file for data version.

CheckDynamics([cli_args])

Write or check the detailed dynamics of a quasistatic step.

CheckFastLoad([cli_args])

Check the integrity of the fast load file.

EnsembleInfo([cli_args])

Read information (avalanche size, force) of an ensemble.

ForceCurrentDataVersion([cli_args])

Add/overwrite "/param/data_version" to the current version.

Generate([cli_args])

Generate IO files (including job-scripts) to run simulations.

GenerateFastLoad([cli_args])

Save the state of the random generators for fast loading of the simulation.

JobRerun([cli_args])

Write list of jobs to rerun a quasistatic step.

Paraview([cli_args])

Write all steps to be viewed in Paraview.

Plot([cli_args])

Basic plot.

PlotStateAfterSystemSpanning([cli_args])

Plot state after system spanning events.

Run([cli_args])

Run simulation.

StateAfterSystemSpanning([cli_args])

Extract stability and height-height correlation after system spanning events.

StructureAfterSystemSpanning([cli_args])

Extract the structure factor after system spanning events.

UpdateData([cli_args])

Update the data from any version to the current version.

allocate_system(file)

Allocate the proper system based on the parameters in the file.

basic_output(file)

Read basic output from simulation.

create_check_meta([file, path, dev])

Create, update, or read/check metadata. This function creates metadata as attributes to a group path as follows::.

dependencies()

Return list with version strings.

filename2fastload(filepath)

Convert a filepath to the corresponding fastload filepath.

generate(file, shape, seed[, eta, dt, ...])

Generate a simulation file.

interpret_filename(filename)

Split filename in useful information.

steadystate(u_frame, f_frame, kick, A, N, ...)

Estimate the first step of the steady-state.

Classes

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