Code Monkey home page Code Monkey logo

chombo-discharge's Introduction

chombo-discharge

This is chombo-discharge, a multiphysics code which uses Chombo for discharge simulations with adaptive mesh refinement (AMR) on embedded boundary grids. A modified version of Chombo is distributed together with this code.

Installation

A serial build quickstart is given below. For complete installation instructions, see https://chombo-discharge.github.io/chombo-discharge/Base/Installation.html

Documentation

User documentation is available as HTML or as a PDF. A doxygen-generated API is also available.

License

See LICENSE and Copyright.txt for redistribution rights.

Serial build quickstart

For doing a quick clone and test build of chombo-discharge without HDF5 or MPI capabilities, execute the following steps:

  1. Install the LAPACK, BLAS, and GCC dependencies:

    sudo apt install csh gfortran g++ libblas-dev liblapack-dev
    
  2. Choose an installation directory and clone chombo-discharge there:

    export DISCHARGE_HOME=/home/foo/chombo-discharge		
    export CHOMBO_HOME=$DISCHARGE_HOME/Submodules/Chombo-3.3/lib
     	
    git clone --recursive [email protected]:chombo-discharge/chombo-discharge.git ${DISCHARGE_HOME}   
    

    Alternatively, if cloning over https:

    export DISCHARGE_HOME=/home/foo/chombo-discharge		
    export CHOMBO_HOME=$DISCHARGE_HOME/Submodules/Chombo-3.3/lib
     	
    git clone --recursive https://github.com/chombo-discharge/chombo-discharge.git ${DISCHARGE_HOME}   
    
  3. Copy the GNU compiler makefile to it's appropriate location

    cp $DISCHARGE_HOME/Lib/Local/Make.defs.GNU $CHOMBO_HOME/mk/Make.defs.local
    
  4. Build chombo-discharge

    cd $DISCHARGE_HOME
    make -s -j4
    
  5. Run a simple example program

    cd $DISCHARGE_HOME/Exec/Examples/AdvectionDiffusion/DiagonalFlowNoEB
    make -s -j4
    ./*.ex example.inputs
    
  6. Run an advanced example program

    cd $DISCHARGE_HOME/Exec/Examples/CdrPlasma/StochasticAir
    make -s -j4
    ./*.ex positive2d.inputs
    

Contributing

We welcome feedback, bug reports, or code contributions.

  1. Create a branch for the new feature.

    git checkout main
    git pull
    git checkout -b my_branch
    
  2. Develop the feature.

    git add .
    git commit -m "my commit message"
    

    If relevant, add Sphinx and doxygen documentation.

  3. Format the source and example codes using clang-format:

    find Source Physics Geometries Exec \( -name "*.H" -o -name "*.cpp" \) -exec clang-format -i {} +
    
  4. Push the changes to GitHub

    git push --set-upstream origin my_branch
    
  5. Create a pull request and make sure the GitHub continuous integration tests pass.

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.