EIRENE-NGM Code Camp 2023, AMU

Europe/Berlin
AMU (In persion / ZOOM )

AMU

In persion / ZOOM

https://univ-amu-fr.zoom.us/j/3281504038 ID: 328 150 4038
Dmitriy Borodin (FZJ)
    • 11:00 12:45
      Arrival, getting started, bilateral talks, etc.
    • 12:45 13:45
      Lunch 1h
    • 13:45 14:00
      FORMAL START. Greetings, agenda approval, misc. 15m
    • 14:00 16:10
      EIRENE status: C1

      Taking decisions on main code brances (which are to be followed, which are to be used for e.g. parallelisation or certain validation cases) and upcomming master release.

      Conveners: Dmitriy Borodin (FZJ), Yannick Marandet (CEA)
    • 16:10 17:40
      B1: Grouping of variables into structures (IMAS): B1

      (Including in a view of IMAS)

      Convener: Dmitriy Yadykin (ACH IM)
    • 09:00 10:40
      Streamlining the main loop: D1
      Convener: Ray Chandra (Aalto University)

      Photon tracing

      1. Explore generalisation of the photon module to include specular and diffusive reflection (mix of both), 
        • provide synthetic diagnostics, strong interest for H-alpha diagnostic development
        • provide divertor shapsurng including the toroidal one
        • add surface condition effects (e.g. fuel content)
        • consideration of 3D geometry effects, should be of concern for diagnostics, not for opacity effect to the plasma (fluid codes toroidally averaged)
      2. We need synergy with the domain decomposition and parallelisation work
        • Creating maxtixes of corefficients are serial?..
        • If opacity chages the plasma previous poitnt is wrong
        • Population diagonalisation must be parallised
        • GPU use?..
        • parallelization of the grid necessary for large grid or large matrices, maybe necessary for H Lyman studies depending on grid resolution (size or required MC trajectories)
        • parallelization of large matrices should be trivial, references for approach exists
      3. Investigate Balmer lines contribution from H2 molecules, expected to be high, see the effect on the overall system
      4. Separate the essence of Sawada model from the particular species - explore options other that hard-coded sawada model for CRM-Eirene
        • go to files as input,
        • do the sorting of coefficients as automatic as possible
      5. Consider using Th.Greenland formalism (eigengvecror aproach) for performance when dealing with species containing metastables (He or H2) - useful when deciding which metastables necessary to be included in the transport code
      6. Explore the outcome of Sawada/CRM to be exportable from EIRENE to be used in post-processing diagnostic tools e.g. Raysect, maybe in the form of te,ne,ng dependent emissivities containing opacity effects, population escape factor profiles, etc
         

       

      ModCR

      1. Consider less ambitios project. Just manipulation of states/species first for instance with direct relevane for use by ColRad
      2. More explanation and concept design is necessary
      3. There is an issue of understanding due to intedisciplinarity of approach
    • 10:40 11:00
      Coffee break 20m
    • 11:00 12:30
      Brainstorming on well-defined code assignments outside MsV: D-P1
      Conveners: Niels Horsten (KU Leuven), Oskar Lappi (VTT), Pieter W. Groen (DIFFER), Ray Chandra (Aalto University)
    • 11:00 12:30
      Close loop on finalising the MSV: A-P1

      Yanick, Xavier, Derek, Dmitriy B.

      Convener: Yannick Marandet (CEA)
    • 12:30 13:30
      Lunch 1h
    • 13:30 14:40
      Discussion/report/feedback on the coding advancement 1h 10m
      Speaker: ALL
    • 14:40 15:00
      Coffee break 20m
    • 15:00 17:00
      Sensitivity calculation for MC particle tracing simulations: C2
      Conveners: Dmitriy Borodin (FZJ), Emil Loevbak (LPP-ERM-KMS), Niels Horsten (LPP-ERM-KMS)
      1. Add an FD runs based on the pre-generated random seed list (always the same).
      2. Increase local MC statistics allowing smoothing at points critical for AD.

         Emil:

      1. Adjoints are similar to Langrangian approch
      2. One needs reverse MC, at that just endpoints matter.
      3. The aproach demands that the evolution of the system is lineraly dependent on current state.
      • 15:00
        Algorithmic Differentiation for EIRENE (25+15min) 40m

        (25+15min)

        Speaker: Niels Horsten (LPP-ERM-KMS)

          Next steps for Niels:

        1. Make sure that the random number generator is reinitialized for each new particle to improve the correlation between the primal and perturbed simulations in FD. This can be done by defining the random seed number for each particle when initializing the stratum. 
        2. Verify if smoothing can improve the accuracy of AD gradients.
        3. Further investigate the origin of the diverging sensitivities.
        4. Could prematurely killing the particle (e.g., by increasing w_min) be a solution without introducing a too large error?

           Emil:

        1. Adjoints are similar to Lagrangian approach for optimization.
        2. Reverse random number generators reduce the memory requirements for adjoints, because only the endpoint matters.
        3. The approach demands that the evolution of the system is linearly dependent on the current state.
        4. Open research question: can reverse random number generator be incorporated in AD tools?
      • 15:40
        Reversible random number generators for adjoint Monte Carlo 40m

        (25+15min)

        Speaker: Emil Loevbak (LPP-ERM-KMS)
    • 17:00 18:30
      Brainstorming on well-defined code assignments outside MsV: A-P2
      Convener: Yannick Marandet (CEA)
    • 17:00 18:30
      Parallel: code stremalining, MsV, issues,...: C-P2
      Convener: To be determined...
    • 09:00 10:50
      IMASification of EIRENE: status and tasks: B2
      Conveners: Dmitriy Yadykin (ACH IM), Dmitriy Yadykin (Chalmers)
    • 10:50 11:10
      Coffee break 20m
    • 11:10 13:00
      Parallelisation, EIRON and CRMs: A2
      Convener: Yannick Marandet (CEA)
      • 11:15
        KDMC implementation in EIRON 20m
        Speaker: Emil Loevbak (LPP-ERM-KMS)
      • 11:35
        Requirments for EIRON 45m

        25+20 min

        Speaker: Oskar Lappi (VTT)

        Decisions

        Collision rates

         - for MVP Eiron: use flat rate
         - for general case: samples with spline interpolation is a general representation, as long as there is a possibility to use a log scale for some parts of the energy spectrum
         - the runtime collision rate function can then use a single representation for the collision rate(energy) function, a preprocessing step transforms any specific fits to these samples to use in the spline interp

        Trajectory representations

         - for MVP Eiron: use point paths
         - for EIRENE, a point path + sparse grid representation would be more efficient in certain cases, where the trajectory discretization requires a lot of checks that slow the process down, which makes storing the result worth it, despite the storage cost

         - related: there are multiple neighbor-indexing solutions, EIRENE uses a neighbor list (graph array repr.), but an octree/quadtree solution could compete, is an something to think about in future projects

        Grid representation

         - for MVP Eiron: use cartesian 2 D grid
         - for general case: the grid needs to be aligned with the magnetic field, which means that a polygonal mesh (or curved surfaces) are needed
         - a polygonal mesh will be a general grid description that should work in all cases
         - the walls can be a part of the polygonal mesh

         - Two most used grid representations: LEVGEO=4 and LEVGEO=10, LEVGEO 4 is triangles, polygonal mesh, LEVGEO 10 is user provided geometric model, used by EMC3
        (LEVGEO 5 is tetrahedrons, which would be the 3D case)

        Estimates

         - Particle density, momentum density, and event density is enough to calculate all other estimates
         - Mean + variance is also enough, although a range (max,min) could be useful

         - note: it should not be too difficult to add additional statistics accumulators to the estimates, so this should be a non-issue

        Other comments

        Domain decomposition (Dmitriy, Yannick):

        • Dmitriy: Divertor slab in JET is a "good basis" for domain decomposition (?)
        • translandtion: we should care about communication load when deciding the partitioning scheme, and a  physics-informed partitioning (based on where particle flows are largely self-contained) is one starting point for domain-decomposition

        Extra: Idea for handling curved surfaces (purely academic, not a serious suggestion for work)

         - pretend it's straight, adjust the track length attributed in the cell by adding the error to the curved surface
         - to make this accurate, you need interpolated smooth collision rates
         - CON: that makes the integral more complicated

         

    • 13:00 14:00
      Lunch 1h
    • 14:00 15:00
      Discussion/report/feedback on the coding advancement 1h
      Speaker: ALL
    • 15:00 15:30
      SimDB: generic tool to handle databases in IMAS 30m
      Speaker: Olivier Hoenen (IPP Garching)
      1. We need to collect positive experiemce of SimDB and start thinking of usage concept for "JuelichOrigin" ADs (D.Harting will start).
      2. One can use 2 Databases - for "clean" runs public for the whole community and more private one, where all meaningful runs are stored. One can have different "manifest" files for those cases.
      3. One can introduce as a policy to push to "clean" database from the "working" one allowing linking/referencing of the runs.
    • 15:30 16:20
      EIRENE Data Handling in IMAS 50m

      Machine description, AMNS and other data concepts

      Speakers: Dmitriy Borodin (FZJ), Dmitriy Yadykin (ACH IM)
    • 16:20 16:40
      Coffee break 20m
    • 16:40 18:00
      EIRENE Environment, Leftovers of all kind
      Convener: Dmitriy Borodin (FZJ)
    • 19:30 21:30
      Conference Dinner 2h
    • 09:00 10:00
      Discussion/report/feedback on the coding advancement 1h
      Speaker: ALL
    • 10:00 11:30
      Summary talks and discussions

      For each line of the code camp should be a summary and a proposed list of action points to be proposed and agreed during the discussion

      • 10:00
        Topic A: Code streamlining and refinement 20m
        Speaker: Yannick Marandet (CEA)
      • 10:20
        Topic B: Imasification and data structures 20m
        Speakers: Dmitriy Yadykin (ACH IM), Piotr Chmielewski (Institute of Plasma Physics and Laser Microfusion)
      • 10:40
        Topic C: EIRENE performance, UQ and interfaces 20m
        Speaker: Dmitriy Borodin (FZJ)
      • 11:00
        Topic D: CRMs and A&M data 20m
        Speaker: Ray Chandra (Aalto University)

        Photon tracing module

        1. Continue application to JET-'ILW' plasmas (JET81472 L-mode series)
        2. Expand the photon reflection model to include specular and diffusive fractions, surface properties (TRIM-like data?) 
          • provide synthetic diagnostics, strong interest for H-alpha diagnostic development
          • consideration of 3D geometry effects, should be of concern for diagnostics, not for opacity effect to the plasma (fluid codes toroidally averaged)
        3. Parallelization of the grid necessary when coupling to plasma, for large grid or large matrices, maybe necessary for H Lyman studies depending on grid resolution (size or required MC trajectories). First implementation done by Yannick and will be tested on the current photon tracing version.
          • parallelization of large matrices should be trivial, references for approach exists
        4. Expand h_colrad to include H* contributions from H2 molecules, expected to be high, see the effect on the overall opacity
        5. Explore the outcome of Sawada/CRM and photon tracing model to be exportable from EIRENE to be used in post-processing diagnostic tools e.g. Raysect, maybe in the form of te,ne,ng dependent emissivities containing opacity effects, population escape factor profiles, etc
        6. Separate the essence of Sawada model from the particular species - explore options other that hard-coded sawada model for CRM-Eirene
          • ModCR as an additional generalized option - in addition to the current h_colrad
          • transformation from hard-coded rates to using the input block/file, IDS structure

        ModCR

        1. Consider less ambitios project. Just manipulation of states/species first for instance with direct relevance for use by ColRad
          • Implement ModCR to produce the output of h_colrad
        2. ModCR can fulfill two functions:
          • general CRM for EIRENE
          • time-dependent ODE solver required for treatment of state populations as variables (the distribution of state populations), solver using SUNDIALS - SUNDIALS implementation work in progress
        3. Prioritize development of general CRM with JSON input/output pipeline, aiming to provide input files for alternative to current hard-coded Sawada model
    • 11:30 12:30
      Free discussion, AOB topics 1h
    • 12:30 13:30
      Lunch 1h
    • 13:30 14:20
      Wrap-up and future plans
    • 14:20 15:00
      Fixing the meeting points and adjorn 40m
      Speaker: Dmitriy Borodin (FZJ)