Skip to content

4C-multiphysics/4C

Repository files navigation

4C logo

website docs/documentation docs/doxygen coverage report

workflows/checkcode workflows/buildtest workflows/nightly_tests workflows/documentation workflows/coverage

4C ("Comprehensive Computational Community Code") is a parallel multiphysics research code to address a plethora of physical problems by means of computational mechanics.

Large parts of 4C are based on finite element methods (FEM), but alternative discretization methods, such as discontinuous Galerkin methods (DG), particle methods and mesh-free methods have also been successfully integrated. The research software is implemented throughout in object-oriented programming (C++) using modern software design and is parallelized with MPI for distributed memory hardware architectures.

Disclaimer: 4C is developed for research purposes in the field of numerical method development. It is not intended for any use beyond this purpose and generally should not be used for any form of safety-relevant or safety-critical calculations or for an application in association with physical products in particular.

Getting started

To quickly run 4C, you can use our docker image, where 4C comes pre-compiled.

docker run --interactive --tty ghcr.io/4c-multiphysics/4c:main
/home/user/4C/build/4C ../tests/input_files/<some-input-file>.4C.yaml output_name

See our documentation for more information on how to build 4C from source on your machine. Consult our Tutorials to get an overview of the general workflow in 4C.

Contributing

If you're interested in contributing to 4C, we welcome your collaboration. Please follow our contributing guidelines and Code of Conduct.

If you need help with 4C, feel free to ask questions in the GitHub discussions.

How to cite 4C

Please cite 4C as follows:

4C: A Comprehensive Multiphysics Simulation Framework, https://www.4c-multiphysics.org

You could use the following BibTeX entry:

@misc{4C,
  author       = {{4C}},
  title        = {{4C}: A {C}omprehensive {M}ultiphysics {S}imulation {F}ramework},
  howpublished = {\url{https://www.4c-multiphysics.org}},
  year         = {YEAR},
  note         = {Accessed: DATE}
}

We kindly ask you to also give credit to the individual methods and algorithms used in 4C. References to the relevant publications can be found on the 4C website or throughout the source code. If you need any assistance with finding suitable references, please feel free to reach out in the 4C Slack workspace.