MatMechLab / AsFem

Advanced Simulation kit based on Finite Element Method (AsFem)
https://matmechlab.github.io/AsFem
GNU General Public License v3.0
183 stars 56 forks source link
asfem beginner-code cahnhilliard chemomechanics crack damage finite-element-analysis finite-elements fracture mechanics multiphysics newton-raphson nonlinear numerical-methods phasefield solids sparse-matrix

DOI

AsFem

AsFem-Advanced Simulation kit based on Finite Element Method. AsFem is written in C++ and designed for phase-field modeling and multiphysics coupling. The PETSc library and MPI package are involved in AsFem for the scalable computing.

Download

git clone https://github.com/MatMechLab/AsFem

For comprehensive details on usage, please refer to the AsFem Page.

If you encounter any access issues, an alternative link to explore is AsFem-Gitee. Git cloning can be executed using the following command:

git clone https://gitee.com/matmechlab/AsFem.git

Installation

Detailed installation instructions for AsFem are available at AsFem-Installation.

Once you have installed PETSc and MPI (set up your PETSC_DIR and MPI_DIR), the next steps are as follows:

cmake CMakeLists.txt -DCMAKE_BUILD_TYPE=Release
make -j4

Demos

You can explore several AsFem demos on platforms like Bilibili and Youtube.

spinodal-decomposition double-notch failure

Tutorial & examples

The tutorial can be accessed at this link: AsFem Tutorial

Chinese users can access the video lecture on Bilibili at AsFem-Lecture.

At present, the tested input files for AsFem are located in two directories: AsFem/examples and AsFem/test_input. For an enhanced understanding of how to utilize AsFem effectively, it is recommended to first examine these input files.

Document

The code is documented using the Doxygen package. You can generate PDF or HTML files using the following commands:

doxygen

Additional documentation and details about AsFem are available on its homepage

Author

Yang Bai

Citation

@misc{yang_bai_2021_4603558,
  author       = {Yang Bai},
  title        = {{AsFem: Advanced Simulation kit based on Finite 
                   Element Method}},
  month        = mar,
  year         = 2021,
  publisher    = {Zenodo},
  version      = {V0.8},
  doi          = {10.5281/zenodo.4603558},
  url          = {https://doi.org/10.5281/zenodo.4603558}
}

Contribute

If you discover bugs in the AsFem package, please create an issue at the project repository on GitHub at https://github.com/MatMechLab/AsFem.

If you find the AsFem package useful, we welcome your code and documentation contributions. To contribute, fork the repository on GitHub, and submit a pull request at https://github.com/MatMechLab/AsFem.

Contact

Submit bug reports and feature requests on the repository issue tracker.

Discussion

If you have an interest in AsFem or any questions, please don't hesitate to Mail2Me, or join our QQ group for further discussions.

QQ group: 879908352