How arcaneframework/framework works
Arcane is a development platform for parallel unstructured-mesh numerical simulations, with Alien providing distributed linear-algebra and solver integration. The principal workflow is: a simulation supplies case configuration and mesh data; Arcane manages mesh, variables, parallel synchronization, and execution; Alien assembles/indexes linear systems and dispatches configured solver backends; results are written for post-processing or restart. The sampled code strongly evidences mesh ghost exchange, typed data factories, distributed index preparation, and SYCL accelerator integration; broader I/O and time-loop links follow README capabilities.
Components 21
Arcane Runtime
- Arcane Runtime
arcane/src/arcane - Case Configuration
axlstar/Arcane.Axl/Arcane.Axl.Generator.Cpp - Time Loop
arcane/src/arcane - Results and Restart
arcane/src/arcane
Mesh and Data
- Mesh Model
arcane/src/arcane/mesh - Data Factory
arcane/src/arcane/impl/DataStorageFactory.h - Data Type Info
arcane/src/arcane/core/datatype/DataStorageTypeInfo.h - Ghost Exchange
arcane/src/arcane/mesh/ExtraGhostItemsManager.cc
Parallel Execution
- Parallel Runtime
arcane/src/arcane/core - Accelerator Engine
alien/ArcaneInterface/modules/arcane_tools/src/alien/arcane_tools/accelerator/ArcaneParallelEngine.cc - SYCL Environment
alien/standalone/src/core/alien/kernels/sycl/data/SYCLParallelEngine.cc
Alien Algebra
- Index Manager
alien/standalone/src/core/alien/index_manager/IndexManager.cc - System Assembly
alien/ArcaneInterface/modules/arcane_tools/src/alien/arcane_tools/assembly_tools - Linear Algebra
alien/ArcaneInterface/modules/core_solvers/src/alien/kernels/common - Solver Dispatch
alien/ArcaneInterface/modules/core_solvers/src/alien/kernels/common/linear_solver/arcane/AlienLinearSolver.cc
Solver Integrations
- PETSc Backend
alien/ArcaneInterface/modules/external_packages/src/alien/kernels/petsc - Hypre Backend
alien/ArcaneInterface/modules/external_packages/src/alien/kernels/hypre - MTL Backend
alien/ArcaneInterface/modules/external_packages/src/alien/kernels/mtl - Composyx Backend
alien/ArcaneInterface/modules/composyx/src/alien/kernels/composyx
Other components
- Simulation Code
- MPI Runtime
Connections 20
- Simulation Code → Arcane Runtime: runs simulation
- Arcane Runtime → Case Configuration: reads options
- Arcane Runtime → Mesh Model: manages mesh
- Arcane Runtime → Time Loop: drives iterations
- Time Loop → Results and Restart: writes results
- Mesh Model → Ghost Exchange: builds ghosts
- Ghost Exchange → Parallel Runtime: exchanges items
- Parallel Runtime → MPI Runtime: uses messaging
- Data Factory → Data Type Info: records type
- Data Factory → Mesh Model: creates data
- Mesh Model → Index Manager: provides items
- Index Manager → Parallel Runtime: distributes indices
- System Assembly → Linear Algebra: builds systems
- Linear Algebra → Solver Dispatch: solves systems
- Solver Dispatch → PETSc Backend: dispatches optionally
- Solver Dispatch → Hypre Backend: dispatches optionally
- Solver Dispatch → MTL Backend: dispatches optionally
- Solver Dispatch → Composyx Backend: dispatches optionally
- Arcane Runtime → Accelerator Engine: runs kernels
- Accelerator Engine → SYCL Environment: uses SYCL