Giter Site home page Giter Site logo

cracks's Introduction

pfm-cracks: A parallel-adaptive framework for phase-field fracture propagation

This is a finite element code based on the finite element library deal.II to simulate crack propagation in elastic and porous media.

Features:

  • phase field approach for the crack location
  • support for 2d and 3d computations
  • primal-dual active set method for the irreversibility constraint
  • novel adaptive mesh refinement technique

This project was originally developed for the papers mentioned below, but has been extended considerably since then. Please cite these papers if you make use of our work. Thank you!

The original code versions are available as separate branches in this repository:

  1. https://github.com/tjhei/cracks/tree/paper-2015 for

T. Heister, M. F. Wheeler, T. Wick: A primal-dual active set method and predictor-corrector mesh adaptivity for computing fracture propagation using a phase-field approach. Comp. Meth. Appl. Mech. Engrg., Vol. 290 (2015), pp. 466-495 http://dx.doi.org/10.1016/j.cma.2015.03.009

A preprint is available here: http://www.math.clemson.edu/~heister/preprints/HeWheWi15_CMAME_accepted.pdf

  1. https://github.com/tjhei/cracks/tree/paper-2018-parallel for

T. Heister, T. Wick: Parallel solution, adaptivity, computational convergence, and open-source code of 2d and 3d pressurized phase-field fracture problems Proc. Appl. Math. Mech., 2018, e201800353 https://doi.org/10.1002/pamm.201800353

A preprint is available here: https://arxiv.org/abs/1806.09924

How to run

You need to install deal.II (see http://www.dealii.org) with external dependencies p4est and Trilinos. Then configure with:

  cmake -D DEAL_II_DIR=/your/dealii-installation/ .

Compile with:

  make

and finally run with:

  mpirun -n 2 ./cracks parameters_sneddon_2d.prm

Notes

The code is published under GPL v2 or newer.

Authors: Timo Heister, Thomas Wick.

cracks's People

Contributors

prashantmital avatar tjhei avatar tommeswick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cracks's Issues

Impossible to compile with M1Pro Apple Silicon

Dear Professor @tjhei
Iโ€™m sorry to bother you again. I also wanted to use this program beyond aspect, since I had never found one that could simulate the propagation of fractures.

I ran the cmake successfully along with dealii. However, compiling with make fails. I enclose the results here. Am I missing any libraries? Thank you so much again for your help
cracks_error.txt

AT1 model

Is it really possible for us to use "AT1" model in "cracks"_adaptive? if the degradation part is (1-phi).

I have changed the following lines:

for residual:
+ G_c * alpha_eps * grad_pf * phi_i_grads_pf/1.333333
- G_c/alpha_eps * (- 1.0) * phi_i_pf/1.333333
for tangent:
+ G_c * alpha_eps * phi_i_grads_pf[i] * phi_i_grads_pf[j]/1.333333
// + G_c/alpha_eps * phi_i_pf[i] * phi_i_pf[j]

The results (AT1) of Miehe's tension benchmark are wrong as all the values of phase field become zero after few iterations.

Thanks in advance!

Configuring and running cracks

Hello professor Heister,

I came across your papers while doing some project at my University, hence I am quite new in the Linux and Deal.II I was wondering if you could give me some advice on how to configure and build deal.ii so I could manage to run your cracks program.

Which Linux version should I use?

Can I use: https://github.com/dealii/candi to install deal.ii with all dependencies needed for cracks, so I wouldn't have to bother with installing Trilinos etc.

Also do I need regular Linux platform or is it possible to do through VirtualBox or through Windows10 Ubuntu app.

I'm sorry if my questions are too simple, but I am really begginer in everything of this.

Thank you in advance

How to create new initial conditions?

Dear developers

I've been able to successfully run all the examples. However, It seems that the initial conditions are limited to the tabulated files inside the folder "meshes".

I'd love to create new initial conditions, for example creating new geometries where the crack should open or changing the position of the fracture. Is it possible in someway?

Thank you for the availability

testing my permissions

Timo, please ignore this. I am looking into a way to run tests on pull requests and need to know which permissions I have on repositories without write access.

Running the program in Mac

Hi,
Thanks a lot for this software.
I was wondering if there was a way to run this in Mac?
I am trying my best but I can't seem to find a proper way to specify the Deal 2 installation directory?

Local pre-refinement steps

Can we use local pre-refinement steps for pure shear fracture?

e.g.
set Global pre-refinement steps = 5
set Local pre-refinement steps = 1
set Adaptive refinement cycles = 0

This modification will not work ...

Kind regards!

Impossible to run examples except few of them

Dear developers,
I met several difficulties to make the script's example works. For example, I've been able to run only the following scripts:

parameters_sneddon_3d. prm
parameters_sneddon_2d. prm

I hope to run other examples in the future, to understand hot the code works
best regards
Francesco

Staggered Solution Strategy

Dear Prof. Heister,

is it possible that we can use the staggered solution strategy in the future?

Kind regards.

Future work

  • split code into files, move into src/ directory
  • better test coverage
  • remove some German naming/comments (Basis, Parabel, ...)

create statistics file

  • write output in output/data.csv
  • Maybe print this on startup?
  • document in readme, include how to plot things with gnuplot

see #22

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.