LinearElasticity
Documentation for LinearElasticity.
Compute and convert linear elasticity values based on the Cauchy elasticity theory.
See the Index for the complete list of documented functions and types.
The code is hosted on GitHub, with some continuous integration services to test its validity.
This repository is created and maintained by @singularitti. You are very welcome to contribute.
Installation
The package can be installed with the Julia package manager. From the Julia REPL, type ]
to enter the Pkg REPL mode and run:
pkg> add LinearElasticity
Or, equivalently, via the Pkg
API:
julia> import Pkg; Pkg.add("LinearElasticity")
Resolving package versions... Installed LLVMOpenMP_jll ──────────── v15.0.4+0 Installed Crystallography ─────────── v0.5.1 Installed CrystallographyBase ─────── v0.5.2 Installed Spglib ──────────────────── v0.5.3 Installed CoordinateTransformations ─ v0.6.3 Installed LinearElasticity ────────── v0.7.0 Installed Combinatorics ───────────── v1.0.2 Installed StructHelpers ───────────── v0.1.5 Installed Functors ────────────────── v0.2.8 Installed Counters ────────────────── v0.3.3 Installed spglib_jll ──────────────── v1.16.5+0 Installed PeriodicTable ───────────── v1.1.4 Installed MLStyle ─────────────────── v0.4.17 Updating `~/work/LinearElasticity.jl/LinearElasticity.jl/docs/build/developers/Project.toml` [8b390c8a] + LinearElasticity v0.7.0 Updating `~/work/LinearElasticity.jl/LinearElasticity.jl/docs/build/developers/Manifest.toml` [861a8166] + Combinatorics v1.0.2 [bbf7d656] + CommonSubexpressions v0.3.0 [187b0558] + ConstructionBase v1.5.4 [150eb455] + CoordinateTransformations v0.6.3 [5a653867] + Counters v0.3.3 ⌅ [3bff3928] + Crystallography v0.5.1 ⌅ [93b1d1cd] + CrystallographyBase v0.5.2 [163ba53b] + DiffResults v1.1.0 [b552c78f] + DiffRules v1.15.1 [ffbed154] + DocStringExtensions v0.9.3 [f6369f11] + ForwardDiff v0.10.36 ⌅ [d9f16b24] + Functors v0.2.8 [92d709cd] + IrrationalConstants v0.2.2 [692b3bcd] + JLLWrappers v1.5.0 [8b390c8a] + LinearElasticity v0.7.0 [2ab3a3ac] + LogExpFunctions v0.3.26 [d8e11817] + MLStyle v0.4.17 [1914dd2f] + MacroTools v0.5.11 [77ba4419] + NaNMath v1.0.2 [7b2266bf] + PeriodicTable v1.1.4 [276daf66] + SpecialFunctions v2.3.1 ⌅ [f761d5c5] + Spglib v0.5.3 [90137ffa] + StaticArrays v1.6.3 [1e83bf80] + StaticArraysCore v1.4.2 ⌅ [4093c41a] + StructHelpers v0.1.5 [98f94333] + Tensorial v0.12.19 [3a884ed6] + UnPack v1.0.2 [1986cc42] + Unitful v1.17.0 [1d63c593] + LLVMOpenMP_jll v15.0.4+0 [efe28fd5] + OpenSpecFun_jll v0.5.5+0 ⌅ [ac4a9f1e] + spglib_jll v1.16.5+0 [37e2e46d] + LinearAlgebra [2f01184e] + SparseArrays [10745b16] + Statistics v1.9.0 [8dfed614] + Test [e66e0078] + CompilerSupportLibraries_jll v1.0.5+0 [4536629a] + OpenBLAS_jll v0.3.21+4 [05823500] + OpenLibm_jll v0.8.1+0 [bea87d4a] + SuiteSparse_jll v5.10.1+6 [8e850b90] + libblastrampoline_jll v5.8.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Precompiling project... ✓ Counters ✓ Combinatorics ✓ Functors ✓ StructHelpers ✓ CoordinateTransformations ✓ LLVMOpenMP_jll ✓ PeriodicTable ✓ spglib_jll ✓ Spglib ✓ CrystallographyBase ✓ MLStyle ✓ Crystallography ✗ LinearElasticity 12 dependencies successfully precompiled in 30 seconds. 44 already precompiled. 1 dependency precompiled but a different version is currently loaded. Restart julia to access the new version 1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package
Documentation
- STABLE — documentation of the most recently tagged version.
- DEV — documentation of the in-development version.
Project status
The package is tested against, and being developed for, Julia 1.6
and above on Linux, macOS, and Windows.
Questions and contributions
Usage questions can be posted on our discussion page.
Contributions are very welcome, as are feature requests and suggestions. Please open an issue if you encounter any problems. The Contributing page has a few guidelines that should be followed when opening pull requests and contributing code.
Manual outline
- Installation Guide
- Contributing
- Style Guide
- Design Principles
- Consistency vs adherence
- Community contribution guidelines
- Open source contributions are allowed to start small and grow over time
- Generic code is preferred unless code is known to be specific
- Internal types should match the types used by users when possible
- Trait definition and adherence to generic interface is preferred when possible
- Macros should be limited and only be used for syntactic sugar
- Errors should be caught as high as possible, and error messages should be contextualized for newcomers
- Subpackaging and interface packages is preferred over conditional modules via Requires.jl
- Functions should either attempt to be non-allocating and reuse caches, or treat inputs as immutable
- Out-Of-Place and Immutability is preferred when sufficient performant
- Tests should attempt to cover a wide gamut of input types
- When in doubt, a submodule should become a subpackage or separate package
- Globals should be avoided whenever possible
- Type-stable and Type-grounded code is preferred wherever possible
- Closures should be avoided whenever possible
- Numerical functionality should use the appropriate generic numerical interfaces
- Functions should capture one underlying principle
- Internal choices should be exposed as options whenever possible
- Prefer code reuse over rewrites whenever possible
- Prefer to not shadow functions
- Troubleshooting