GithubHelp home page GithubHelp logo

jiangwen84 / plasticity Goto Github PK

View Code? Open in Web Editor NEW

This project forked from prisms-center/plasticity

0.0 0.0 0.0 39.43 MB

PRISMS Crystal Plasticity and Continuum Plasticity FEM code

License: Other

Shell 0.16% C++ 94.32% Python 0.54% C 1.32% MATLAB 0.56% TeX 1.88% CMake 1.23%

plasticity's Introduction

PRISMS-Plasticity

Code repository: https://github.com/prisms-center/plasticity
Code documentation: https://github.com/prisms-center/plasticity/tree/master/docs
User registration link: https://goo.gl/forms/dkAdtoHzd1qsKJ673
Tutorial Videos: https://www.youtube.com/playlist?list=PL4yBCojM4Swqy4FRteqxHWSiM1uiOOesj

What is PRISMS-Plasticity?

PRISMS-Plasticity is a Finite Element Method (FEM) code for solving boundary value problems arising in Continuum Plasticity and Crystal Plasticity. It is build on top of the deal.II open source finite element library [http://www.dealii.org]

This code is developed by the PRedictive Integrated Structural Materials Science (PRISMS) Center [http://www.prisms-center.org/] at University of Michigan which is supported by the U.S. Department of Energy (DOE), Office of Basic Energy Sciences, Division of Materials Sciences and Engineering under Award #DE-SC0008637

Installation: Refer to the installation manual in docs/installation manual.pdf for detailed instructions on getting started with using the plasticity code.

you need to compile deal.ii without trilinos package. To do that, if you're using candi, you can turn it off in candi.cfg by commenting that as #PACKAGES="${PACKAGES} once:trilinos". With deal.ii installed and $DEAL_II_DIR setup, the following steps can be followed to download and compile the code.

  1. Clone the PRISMS Plasticity GitHub repo https://github.com/prisms-center/plasticity
  1. Compile the library
  • $ cmake .
  • $ make -j N
  • $ export PLAS_DIR=$PWD
    Here N refers to number of processor cores available, this helps in quicker compilation.
  1. Compile plasticity applications
  • $ cd applications/crystalPlasticity
  • $ cmake .
  • $ make release

Running an example simulation

  • $ cd applications/crystalPlasticity/fcc/simpleTension
    Making results directory
  • $ mkdir results
    Execution (parallel runs):
  • $ mpirun -np nprocs $PLAS_DIR/applications/crystalPlasticity/main prm.in
    [here nprocs denotes the number of processors]

Updates: Since plasticity code is still under active development, regular code and documentation updates are pushed to the upstream repo (https://github.com/prisms-center/plasticity) and we strongly recommend users to synchronize their respective clones/forks at regular intervals or when requested by the developers through the announcements on the mailing list.

Visualization

Output of the primal fields and postprocessed fields is in standard vtk format (parallel:.pvtu, serial:.vtu files) which can be visualized with the following open source applications:

  1. VisIt (https://wci.llnl.gov/simulation/computer-codes/visit/downloads)
  2. Paraview (http://www.paraview.org/download/)

Getting started:

Examples of various boundary value problems are located under the applications/ folder. Easiest way to get started on the code is to run the applications.

Applications are intended to serve as (1) Demonstration of the capabilities of this library, (2) Provide a framework for further development of specialized/advanced applications by users.

Application or code under development/testing is preceded by an underscore.

List of folders:

  • src/: material models (continuum plasticity and crystal plasticity), ellipticBVP (base class for parallel implementation of elliptic boundary value problems), enrichment models (enhanced strain), utility (static condensation class, crystal orientations and grain information IO)
  • applications/: continuum plasticity and crystal plasticity
  • utils/: IntegrationTools (developed by the PRISMS center and available at https://github.com/prisms-center/IntegrationTools) and json headers
  • docs/: Installation Manual, User manual, and User defined material model manual
  • Training_Materials/: Instructions for using preprocessing tools, such as generating input files, and postprocessing tools, such as visualizing the outputs
  • html/: HTML documentation generated by doxygen

Documentation:

Detailed Installation Manual, User manual, and User defined material model manual are provided in /doc/ folder.

Reference:

M. Yaghoobi, S. Ganesan, S. Sundar, A. Lakshmanan, S. Rudraraju, J.E. Allison, V. Sundararaghavan, “PRISMS-Plasticity: An open-source crystal plasticity finite element software” Computational Materials Science 169 (2019) 109078.

License:

GNU Lesser General Public License (LGPL). Please see the file LICENSE for details.

Forum:

Mailing List:

Current Developers:

Further information, questions, issues and bugs:

Contact the developers at [email protected]

plasticity's People

Contributors

aaditya8959 avatar david-montiel-t avatar greght avatar mrezayaghoobi avatar rudraa avatar sriharisundar avatar sriramg90 avatar

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.