/zapdos

Open source Moose app for simulating plasmas

Primary LanguageC++GNU Lesser General Public License v2.1LGPL-2.1

DOI

Zapdos

Free (in all senses of the word) and open source software for modelling atmospheric plasmas using finite elements. This application is built on top of the MOOSE framework, which can be found at http://mooseframework.org

The best documentation so far for this project is in Chapter 3 of the thesis located at doc/Lindsay_thesis_coupling_of_plasmas_and_liquids.pdf. Some notes on understanding existing chemistry kernels and/or implementing new ones in Zapdos/MOOSE are given in doc/Chemical_Reactions.ipynb.

Instructions for installing Zapdos:

  1. Follow the getting started instructions for setting up the MOOSE environment. Note that Zapdos can be used with MOOSE installed in its own directory, or as a submodule within Zapdos. The latter option allows for a version of MOOSE that is guaranteed to work with the current version of Zapdos. If using MOOSE as a submodule is desired, proceed to Step 3, otherwise continue to Step 2.
  2. Using MOOSE in its own directory: After installing the MOOSE environment execute the following commands in the directory above your MOOSE directory. E.g. if MOOSE is in ~/projects/moose, then these commands should be executed from the ~/projects directory
    • git clone https://github.com/shannon-lab/zapdos
    • cd zapdos
    • git submodule init squirrel crane
    • git submodule update squirrel crane
    • make -jn where "n" is the number of logical processors on your computer
    then continue to Step 4.
  3. Using MOOSE as a submodule: After installing the MOOSE environment execute the following commands in the directory in which you are installing Zapdos (we recommend ~/projects/ to stay consistent with MOOSE conventions)
    • git clone https://github.com/shannon-lab/zapdos
    • cd zapdos
    • git submodule init
    • git submodule update
    • cd moose
    • scripts/update_and_rebuild_libmesh.sh
    • cd test
    • make -jn where "n" is the number of logical processors on your computer
    • run_tests -jn
    • If all tests pass, cd ../../ to get back to the zapdos directory.
    • make -jn
    then continue to Step 4.
  4. To make sure the installation is working correctly, execute ./run_tests -jn, substituting 'n' with your number of processors. All tests should pass with 'OK'
  5. If everything checks out, you should now be able to run input files using the zapdos-opt executable in the ~/projects/zapdos directory. Input files demonstrating the capabilities of zapdos can be found in the sub-directories of ~/projects/zapdos/tests. If you want to start modifying an input file, a good one to choose is mean_en.i in ~/projects/zapdos/problems. I typically run an input file like mean_en.i using the following command:
    • cd ~/projects/zapdos/problems; ../zapdos-opt -i mean_en.i --color off 2>&1 | tee log.txt
    • The above command will parse information of the iterative solution process to both the console and to the log file log.txt
    • The above command will also create an output file named mean_en_out.e containing all the solution variable values. These results are best viewed using a visualization tool like Paraview, downloadable here
    • Important note: Many of the existing input files in the problems directory require fileName.msh. In order to create the requisite .msh file, you must run the command gmsh -d fileName.geo where d is the dimension of the mesh and fileName.geo is the source file for the mesh. gmsh can be installed on Ubuntu using sudo apt-get install gmsh or it can be downloaded here. Some of the *.msh files can also be found in the tests directory.
  6. In general the problems directory is meant to be the user work-space. S/he should feel welcome to modify any files in that directory. The tests directory, on the other hand, is meant to be a showcase and provide examples of the capabilities already established in zapdos. As zapdos is developed (by you hopefully!) and more capabilities are added, the tests directory will continue to grow. If you feel that you have added important new functionality, please create a test for it, such that any future changes will not break that capability.

Please do not hesitate to contact the zapdos google-group list if you have any questions about using or contributing to this software.

Email: zapdos-users@googlegroups.com
Google group: https://groups.google.com/forum/#!forum/zapdos-users