dust particles in athena
play

(Dust) Particles in Athena++ Chao-Chin Yang Zhaohuan Zhu University - PowerPoint PPT Presentation

(Dust) Particles in Athena++ Chao-Chin Yang Zhaohuan Zhu University of Nevada, Las Vegas James Stone Princeton University Dust-Gas Dynamics Lagrangian formulation d Lagrangian vs. two fluids v p u g v p


  1. (Dust) Particles in Athena++ Chao-Chin Yang Zhaohuan Zhu University of Nevada, Las Vegas James Stone Princeton University

  2. ⃗ ⃗ ⃗ ⃗ ⃗ ⃗ Dust-Gas Dynamics • Lagrangian formulation d • Lagrangian vs. two fluids v p u g − v p = • Particle-Mesh method d t t s = ( • Gas properties on each particle ρ g ) d u g v p − u g • Averaged particle properties in each gas ρ p cell d t t s • Triangle-Shaped Cloud (TSC) • Stopping time t s = 0 : tracer particles

  3. Nonlinear Streaming Instability

  4. Global Spherical-polar Disk

  5. Current Status • Van Leer integrator with any reconstruction • Particle-Mesh: both ways • Static mesh refinement • Message Passing Interface (MPI) • Coordinates: Cartesian ready; spherical-polar under testing • Useful: OpenMP threads block by block, and hence particles inside

  6. Hierarchical Design • Class Particles • Class DustParticles • Abstract base class • Derived application class • Data structure & maintenance • New specific properties • Integration with task list • Source terms • Communication • Class ParticleMesh • Utility class • Send/receive particles • Interpolation and assignment • Send/receive particle-mesh • Communication • I/O • Deposit onto MeshBlock

  7. Data Structure • Number of properties requested before MeshBlock construction AthenaArray<> prop(nvar, nparmax); • Integer properties: Particle ID, … • Real properties • Dynamical variables: Position (xp, yp, zp) , Velocity (vpx, vpy, vpz) , etc. • Auxiliary variables: always existent and follows each particle • Working arrays: garbage after each stage • Shorthands (shallow copies) • Number of particles in each MeshBlock dynamically maintained • npar : current number of particles Void Particles::UpdateCapacity(int new_nparmax); • nparmax : capacity of the particle arrays

  8. Outputs • Particle properties on mesh • Data of individual particles • Can be output in any format • Only formatted table available to MeshBlock • Restart files • Number density “np” • Not ready • Velocity “vp” with respect to • Inhomogeneous data size Coordinates. between MeshBlocks • Mass density “rhop” • “prim” = (“rhop”, “vp1”, “vp2”, “vp3”)

  9. Uniform (Oblique) Streaming

  10. Linear Mode of the Streaming Instability Streaming instability — LinA mode — integrator = vl2 — xorder = 3 — 4 particles/cell u x u y u z ρ g 10 − 6 10 − 7 10 − 8 10 − 9 Error 10 − 10 10 − 11 10 − 12 10 − 13 L ∞ ≈ 1 . 1 × 10 − 6 ( ∆ / λ ) 1 . 91 L ∞ ≈ 1 . 3 × 10 − 6 ( ∆ / λ ) 1 . 91 L ∞ ≈ 1 . 2 × 10 − 6 ( ∆ / λ ) 1 . 92 L ∞ ≈ 5 . 9 × 10 − 9 ( ∆ / λ ) 1 . 82 L 2 ≈ 6 . 0 × 10 − 7 ( ∆ / λ ) 1 . 93 L 2 ≈ 6 . 5 × 10 − 7 ( ∆ / λ ) 1 . 91 L 2 ≈ 6 . 0 × 10 − 7 ( ∆ / λ ) 1 . 93 L 2 ≈ 3 . 4 × 10 − 9 ( ∆ / λ ) 1 . 86 10 − 14 v p ,x v p ,y v p ,z ρ p 10 − 6 10 − 7 10 − 8 10 − 9 Error 10 − 10 10 − 11 10 − 12 10 − 13 L ∞ ≈ 1 . 1 × 10 − 6 ( ∆ / λ ) 1 . 91 L ∞ ≈ 1 . 3 × 10 − 6 ( ∆ / λ ) 1 . 90 L ∞ ≈ 1 . 2 × 10 − 6 ( ∆ / λ ) 1 . 92 L ∞ ≈ 7 . 4 × 10 − 5 ( ∆ / λ ) 1 . 87 L 2 ≈ 5 . 7 × 10 − 7 ( ∆ / λ ) 1 . 92 L 2 ≈ 6 . 8 × 10 − 7 ( ∆ / λ ) 1 . 91 L 2 ≈ 6 . 4 × 10 − 7 ( ∆ / λ ) 1 . 92 L 2 ≈ 4 . 7 × 10 − 5 ( ∆ / λ ) 1 . 94 10 − 14 10 − 3 10 − 2 10 − 1 10 − 3 10 − 2 10 − 1 10 − 3 10 − 2 10 − 1 10 − 3 10 − 2 10 − 1 ∆ / λ ∆ / λ ∆ / λ ∆ / λ

  11. TODOs • Spherical-polar and cylindrical coordinates • Particle integrator in sync with any time integrator • Non-uniform grid • Restart files • Boundary conditions for particles • Currently, only periodic or removed • Adaptive mesh refinement • More Particles outputs • Optimization and documentation

Recommend


More recommend