Skip to main content

Tools for the generation and analysis of dislocation distributions.

Project description

Mines Saint-Etienne

Project

This repository is related to the analysis of crystals containing dislocations by X-ray diffraction. It is part of a larger project conducted during a research internship at the laboratory of material and structural sciences of the École Nationale Supérieure des Mines de Saint-Étienne.

Features

The tools developed can be used to:

  • generate dislocation distributions according to different models
  • export the distributions in standardized files for input to an X-ray diffraction simulation program
  • export the distributions in dislocation maps
  • export a spatial analysis of the distributions

Physical aspects

A dislocation associates:

  • a Burgers vector
  • a position

Two geometries are proposed:

  • circle (intersection of a plane with a cylinder) centered in (0, 0)
  • square (intersection of a plane with a cuboid) bottom left corner in (0, 0)

A distribution is characterized by the following elements:

  • the geometry of the region of interest
  • the model used for the random generation of dislocations
  • the generated dislocations

Abbreviations

Some abbreviations are used in the program:

Models

  • urdd: uniformly random dislocation distribution
  • rrdd: restrictedly random dislocation distribution
  • rcdd: random cell dislocation distribution

Model variants

  • r: randomly distributed Burgers vectors
  • e: evenly distributed Burgers vectors
  • d: dipolar Burgers vectors

Boundary conditions

  • pbcg: periodic boundary conditions applied when generating the distribution
  • pbcr: periodic boundary conditions applied when runnning the simulation
  • idbc: image dislocations boundary conditions

Content of the repository

The disldist directory is the python package containing the distribution generation and analysis tools. The directory exported contains the exported files. The directory maths provides the LaTeX code of the functions implemented in disldist. The remote.py script simplifies the remote management of calculations on a supercomputer. The script run.py is used as hello world and can be executed as is. The script settings.py gathers the standard parameters of the generated distributions. The files slurm.job and slurm.py are to be used only on a supercomputer.

Examples of use

Generation

To create a uniformly random dislocation distribution with evenly distributed Burgers vectors in a cylindrical geometry with a radius of 1000 nm:

from disldist import sets
r = {'density': 0.03, 'variant': 'e'}
d = sets.Distribution('circle', 1000, 'urdd', r)

To create a sample of 100 uniformly random dislocation distribution with evenly distributed Burgers vectors in a cylindrical geometry with a radius of 1000 nm:

from disldist import sets
r = {'density': 0.03, 'variant': 'e'}
s = sets.Sample(500, 'circle', 1000, 'urdd', r)

Export

To export a dislocation map of a distribution d.

from disldist import maps
maps.export(d)

To make standardized files for input to an X-ray diffraction simulation program from a sample s:

from disldist import data
data.export(s)

To make a spatial analysis of a sample s:

from disldist import analyze
analyze.export(s)

License

License: CC BY 4.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lpa-input-0.8.0.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lpa_input-0.8.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file lpa-input-0.8.0.tar.gz.

File metadata

  • Download URL: lpa-input-0.8.0.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for lpa-input-0.8.0.tar.gz
Algorithm Hash digest
SHA256 8b5fa22155f36546b7a2c0245fe8e120e0217c0c4fdbdeb94790f1771e629d73
MD5 df47781af2f619bffbc431cb530e3ca9
BLAKE2b-256 392fa6725843a4a44daeec2a71c8a18a8a59638a94c851f6b6b421300718abad

See more details on using hashes here.

File details

Details for the file lpa_input-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: lpa_input-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for lpa_input-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1fb9a73e680b4a7a6f1c34e289f51222685830b558d07d6f1f5682c1f9cea44b
MD5 5353f6278eac6436ad2b92ef833615ed
BLAKE2b-256 6a0ba3996ce6c0c2faa00450f44652bcda8b40ed606642d6cc54f50cf4516c6e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page