PICLas Documentation Logo
update.documentation.reggie

User Guide

  • User Guide
    • 1. Installation
      • 1.1. AppImage executable download
      • 1.2. Prerequisites
      • 1.3. Required Libraries
        • 1.3.1. Installing GCC
        • 1.3.2. Installing OpenMPI
        • 1.3.3. Installing HDF5
        • 1.3.4. Installing PETSc
      • 1.4. Obtaining the source
      • 1.5. Compiling the code
        • 1.5.1. Directory paths
    • 2. Mesh Generation
      • 2.1. Mesh generation with HOPR
      • 2.2. Mesh conversion with HOPR
        • 2.2.1. Mesh generation with Gmsh
        • 2.2.2. Mesh generation with Coreform Cubit
        • 2.2.3. Mesh generation with OMNIS/HEXPRESS
        • 2.2.4. Mesh generation with GridPro
        • 2.2.5. Mesh generation with CENTAUR
        • 2.2.6. Mesh generation with MeshGems/SALOME
    • 3. Workflow
      • 3.1. Compiler options
      • 3.2. Solver settings
      • 3.3. Setup of parameter file(s)
      • 3.4. Simulation
        • 3.4.1. Parallel execution
        • 3.4.2. Profile-guided optimization (PGO)
      • 3.5. Post-processing
    • 4. Features & Models
      • 4.1. Particle Tracking
        • 4.1.1. DoRefMapping
        • 4.1.2. Tracing
        • 4.1.3. Parameters for DoRefMapping and Tracing (NEEDS UPDATING)
        • 4.1.4. Rotating Frame of Reference
      • 4.2. Field Solver - Poisson Equation
        • 4.2.1. CG Solver
        • 4.2.2. PETSc Solver
      • 4.3. Boundary Conditions - Field Solver
        • 4.3.1. Maxwell’s Equations
        • 4.3.2. Poisson’s Equation
        • 4.3.3. Dielectric Materials
      • 4.4. Boundary Conditions - Particle Solver
        • 4.4.1. Reflective Wall
        • 4.4.2. Rotational Periodicity
        • 4.4.3. Porous Wall / Pump
        • 4.4.4. Surface Chemistry
        • 4.4.5. Catalytic Surfaces
        • 4.4.6. Deposition of Charges on Dielectric Surfaces
      • 4.5. Particle Initialization & Emission
        • 4.5.1. Initialization
        • 4.5.2. Surface Flux
      • 4.6. Particle-In-Cell
        • 4.6.1. Charge and Current Deposition
      • 4.7. Magnetic Background Field
        • 4.7.1. Variable External Field
        • 4.7.2. superB
      • 4.8. Direct Simulation Monte Carlo
        • 4.8.1. Species Definition
        • 4.8.2. Pairing & Collision Modelling
        • 4.8.3. Inelastic Collisions & Relaxation
        • 4.8.4. Chemistry & Ionization
        • 4.8.5. Additional Features
        • 4.8.6. Ensuring Physical Simulation Results
      • 4.9. Background Gas
        • 4.9.1. Distribution from DSMC result
        • 4.9.2. Regions
        • 4.9.3. Trace species
        • 4.9.4. Cross-section based collision probability
        • 4.9.5. Cross-section based vibrational relaxation probability
        • 4.9.6. Cross-section based electronic relaxation probability
      • 4.10. Unified Species Database
        • 4.10.1. Species data
        • 4.10.2. Reaction data
        • 4.10.3. Cross-section data
      • 4.11. Fokker-Planck Collision Operator
      • 4.12. Bhatnagar-Gross-Krook Collision Operator
      • 4.13. Features of the Particle Solver
        • 4.13.1. Macroscopic Restart
        • 4.13.2. Variable Time Step
        • 4.13.3. Symmetric Simulations
        • 4.13.4. Variable Particle Weighting
        • 4.13.5. Virtual Cell Merge
      • 4.14. Radiation
        • 4.14.1. Radiation Coupling
        • 4.14.2. Raytracing
    • 5. Visualization & Output
      • 5.1. Particle Data
      • 5.2. Field Solver and PIC
        • 5.2.1. Element-polynomial field properties
        • 5.2.2. Element-constant field/particle properties
        • 5.2.3. Time-averaged Fields
      • 5.3. Particle Flow and Surface Sampling
        • 5.3.1. Electronic excitation
      • 5.4. Integral Variables
        • 5.4.1. Field Variables
        • 5.4.2. Particle Variables
        • 5.4.3. Surface Variables
      • 5.5. Dynamic Mode Decomposition
        • 5.5.1. Ritz spectrum (coaxial_DMD_Spec.dat)
        • 5.5.2. Mode visualization (coaxial_DMD.h5)
    • 6. Tools
      • 6.1. Unified Species Database (USD)
        • 6.1.1. Maintain and edit database
        • 6.1.2. Collision cross-sections
        • 6.1.3. Surface chemistry
      • 6.2. Userblock
        • 6.2.1. extract_userblock.py
        • 6.2.2. rebuild.py
    • 7. Tutorials
      • 7.1. Plasma Wave (PIC, Poisson’s Equation)
        • 7.1.1. Mesh Generation with HOPR (pre-processing)
        • 7.1.2. PIC Simulation with PICLas
        • 7.1.3. Visualization (post-processing)
      • 7.2. Adiabatic Box/Reservoir (DSMC, Relaxation/Chemistry)
        • 7.2.1. Mesh Generation with HOPR (pre-processing)
        • 7.2.2. Simulation: Chemistry disabled
        • 7.2.3. Visualization, chemistry disabled (post-processing)
        • 7.2.4. Simulation: Chemistry enabled
        • 7.2.5. Visualization, chemistry enabled (post-processing)
      • 7.3. Hypersonic Flow around the 70° Cone (DSMC) - 2D Mesh
        • 7.3.1. Mesh Generation with HOPR (pre-processing)
        • 7.3.2. Flow simulation with DSMC
        • 7.3.3. Run the simulation
        • 7.3.4. Visualization (post-processing)
      • 7.4. Hypersonic Flow around the 70° Cone (DSMC) - 3D Mesh with Gmsh
        • 7.4.1. Mesh generation with Gmsh
        • 7.4.2. Flow simulation with DSMC
    • 8. Cluster Guidelines
      • 8.1. Simulating at HLRS
        • 8.1.1. Cloning with the SSH protocol
        • 8.1.2. Compiling and executing PICLas
    • 9. Appendix
      • 9.1. Tested compiler combinations
      • 9.2. Unified Species Database (USD)
        • 9.2.1. Electronic database
        • 9.2.2. Reactions

Developer Guide

  • Developer Guide
    • 1. GitLab Workflow
      • 1.1. Issues & Milestones
      • 1.2. Merge Request
      • 1.3. Release and deploy
        • 1.3.1. Release Tag
        • 1.3.2. Collaborative Numerics Group
        • 1.3.3. GitHub
    • 2. Documentation
      • 2.1. Building documentation
      • 2.2. Writing documentation
        • 2.2.1. Figures
    • 3. Style Guide
      • 3.1. Header of Functions and Subroutines
      • 3.2. Variables
      • 3.3. Functions and Control Structures
      • 3.4. Workflow Description
      • 3.5. Special Rules
        • 3.5.1. CALL Allocate_Shared()
        • 3.5.2. USE MOD_Preproc
    • 4. Best Practices
      • 4.1. MPI
      • 4.2. Shared Memory Windows
      • 4.3. Hawk
        • 4.3.1. Striping
        • 4.3.2. Species-zero bug
    • 5. Troubleshooting
      • 5.1. WriteArrayToHDF5() and the collective flag
      • 5.2. Seemingly meaningless change in code triggers segmentation fault or slow down of the code
      • 5.3. Possible memory leak detection when using MPICH
    • 6. Code Extension
      • 6.1. Surface Sampling & Output
      • 6.2. Arrays with size of PDM%maxParticleNumber
      • 6.3. Insert new particles
    • 7. Useful Functions
      • 7.1. General Functions and Subroutines
      • 7.2. Particle Functions and Subroutines
    • 8. MPI Implementation
      • 8.1. General Remarks: Things to consider
      • 8.2. Construction of Halo Region (MPI 3.0 Shared Memory)
        • 8.2.1. Mesh Geometry
        • 8.2.2. Element/Side Mappings
        • 8.2.3. Particle Element Mappings
      • 8.3. Custom communicators
        • 8.3.1. Available communicators
    • 9. Regression Testing
      • 9.1. reggie2.0 Tool
        • 9.1.1. Local execution of reggie2.0
      • 9.2. Running GitLab .gitlab-ci.yml Tests
        • 9.2.1. Remote Testing on Gitlab
        • 9.2.2. Local Testing using gitlab-ci-local
        • 9.2.3. Regression Test Gitlab Runner Setup for self-hosted Servers
    • 10. Unit tests
      • 10.1. Integration of unit test with CTest
      • 10.2. Implementation of unit tests
        • 10.2.1. CMakeLists.txt
        • 10.2.2. General unit test structure
        • 10.2.3. Generation of reference mesh data
    • 11. Compiler Options
    • 12. Developer Tools
      • 12.1. WarningsCheck
      • 12.2. Remove trailing white spaces
      • 12.3. Module Environment
        • 12.3.1. FAQ: Common Problems
    • 13. Performance Analysis
      • 13.1. Extrae and Paraver
        • 13.1.1. Installation
        • 13.1.2. Code Instrumentation
        • 13.1.3. Tracing the code
        • 13.1.4. User functions
      • 13.2. Intel® VTune™
        • 13.2.1. VTune Installation
        • 13.2.2. Batch jobs
        • 13.2.3. Usage
      • 13.3. Valgrind
        • 13.3.1. Installation of Valgrind
        • 13.3.2. Execution of Valgrind
    • 14. Building the AppImage Executable
      • 14.1. piclas
      • 14.2. piclas2vtk and other tools
      • 14.3. Troubleshooting
    • 15. Markdown Examples
      • 15.1. hyperlinks
      • 15.2. Code environment
      • 15.3. Equations
      • 15.4. Bibtex, cite
      • 15.5. section references
      • 15.6. Figures, caption
      • 15.7. tables
      • 15.8. unnumbered section headings
      • 15.9. Code blocks for various languages

References

  • References
PICLas Documentation
  • Search


© Copyright 2021, PICLas Developers. Revision 5d19fafe.

Built with Sphinx using a theme provided by Read the Docs.