Skip to content

Commit

Permalink
Crack tip correction & Line intercept method
Browse files Browse the repository at this point in the history
  • Loading branch information
melc-da committed Apr 3, 2024
2 parents 7556651 + d3fd0a5 commit 81d4916
Show file tree
Hide file tree
Showing 30 changed files with 1,792 additions and 75 deletions.
4 changes: 2 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,15 @@ lint_analysis:
script:
- pip install pylint --quiet
- pylint crackpy/fracture_analysis --rcfile='.pylintrc'
- pylint crackpy/tests/test_fracture_analysis --rcfile='.pylintrc'
# - pylint crackpy/tests/test_fracture_analysis --rcfile='.pylintrc'

lint_crack_detection:
stage: Static Code Analysis
allow_failure: true
script:
- pip install pylint --quiet
- pylint crackpy/crack_detection --rcfile='.pylintrc'
- pylint crackpy/tests/test_crack_detection --rcfile='.pylintrc'
# - pylint crackpy/tests/test_crack_detection --rcfile='.pylintrc'

lint_dic:
stage: Static Code Analysis
Expand Down
6 changes: 2 additions & 4 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ authors:
orcid: "https://orcid.org/0000-0001-5111-6511"
- family-names: "Paysan"
given-names: "Florian"
- family-names: "Klein"
given-names: "Alina"
- family-names: "Dietrich"
given-names: "Eric"
- family-names: "Requena"
Expand All @@ -20,7 +18,7 @@ authors:
given-names: "Eric"
orcid: "https://orcid.org/0000-0002-3479-9143"
title: "Crack Analysis Tool in Python - CrackPy"
version: 1.0.0
version: 1.2.0
doi: tbd
date-released: 2022-11-14
date-released: 2024-04-03
url: "https://github.com/dlr-wf/crackpy"
30 changes: 18 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ stress intensity factors which take effects of plasticity into account.

The following graph shows an overview over the main CrackPy modules **structure elements**, **dic**, **simulation**, **crack detection**, and
**fracture analysis**.

| ![CrackPy](./example_images/overview_package.png) |
|:--:|
| **_Overview of main modules, functions and files in CrackPy_** |
Expand All @@ -44,12 +45,13 @@ specific software. Therefore, these modules can only be used if CrackPy is insta
an actual GOM Aramis Professional software >v2020 (in case of **dic**) or if a valid version and license of Ansys is available
(in case of **simulation**). For more details, we refer to our Wiki. Once you have stored your nodemap files either from dic,
simulation or from a different source, you reach the heart of our fracture analysis. You can detect crack paths and crack tips fully automatically
using our **crack detection** module and our trained convolutional neural networks [**4**, **9**].
using our **crack detection** module. This module provides two independent methodologies for crack detection -
our line intercept method together with an iterative crack tip correction algorithm based on the Williams expansion [**15**] and our trained convolutional neural networks [**4**, **9**].
We store the crack tip information in a file (this can also be generated manually) and use it as input for
the **fracture analysis** pipeline. Here we offer a wide range of methods and algorithms:
1. Calculate _J-integral_ [**5**, **10**]
2. Calculate stress intensity factors (mode I, mode II) by _interaction integral technique_ [**11**, **12**]
3. Calculate stress intensity factors and Williams series coefficients using _Bueckner's conjugate work integral_ [**6**]
3. Calculate stress intensity factors and Williams series coefficients using _Bueckner's conjugate work integral_ [**6**, **14**]
4. Calculate _higher order singular terms (HOSTs)_ or _higher order regular terms (HORTs)_ of the Williams series [**7**] by fitting the
theoretical displacement field to the experimental (or simulated) data.
5. Calculate CJP stress intensity factors which may take effects of plasticity into account by fitting the theoretical displacement field of the _CJP model_ [**8**] the experimental (or simulated) data [**13**]
Expand Down Expand Up @@ -118,6 +120,12 @@ References:
13. **Christopher C et al. (2007)** Towards a new model of crack tip stress fields.
_International Journal of Fracture 148(4): 361-371_
[https://doi.org/10.1007/s10704-008-9209-3](https://doi.org/10.1007/s10704-008-9209-3)
14. **Melching D et al. (2023)** Advanced crack tip field characterization using conjugate work integrals.
_International Journal of Fatigue 107501, 169_
[https://doi.org/10.1016/j.ijfatigue.2023.107501](https://doi.org/10.1016/j.ijfatigue.2023.107501)
15. **Melching D et al. (2024)** A universal crack tip correction algorithm discovered by physical deep symbolic regression.
_Preprint_
[https://arxiv.org/abs/2403.10320](https://arxiv.org/abs/2403.10320)


## Installation
Expand All @@ -143,8 +151,10 @@ _Strohmann T, Melching D, Paysan F, Klein A, Dietrich E, Requena G and Breitbart
**Crack Analysis Tool in Python - CrackPy** (2022)\
[DOI: 10.5281/zenodo.7319653](https://doi.org/10.5281/zenodo.7319653)

## Get in touch
If you are interested in the code, or in our work in general, feel free to contact us.
## Get in touch
If you are interested in the code, or in our work in general, feel free to contact us
via email at [eric.breitbarth@dlr.de](mailto:eric.breitbarth@dlr.de).

If you want to contribute to this repository just get in touch, too. We will be happy.

## Intellectual Property and Authorship
Expand All @@ -153,21 +163,17 @@ This package is property of the German Aerospace Center
and was developed in the Institute of Materials Research. Feel free to check out our [LinkedIn channel](https://www.linkedin.com/company/dlr-wf).

**Authors:**\
_Tobias Strohmann_ (tobias.strohmann@dlr.de)\
_David Melching_ (david.melching@dlr.de)\
_Tobias Strohmann_\
_David Melching_\
_Florian Paysan_\
_Alina Klein_\
_Eric Dietrich_\
_Guillermo Requena_\
_Eric Breitbarth_ (eric.breitbarth@dlr.de)
_Eric Breitbarth_

**Contributors:**\
We thank\
_Vanessa Schöne_\
_Alina Klein_\
_Ferdinand Dömling_\
_Erik Schultheis_\
for continuous support regarding tests and user feedback for the package.




2 changes: 1 addition & 1 deletion crackpy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
import crackpy.structure_elements

# package information
__version__ = "1.1.1"
__version__ = "1.2.0"
Loading

0 comments on commit 81d4916

Please sign in to comment.