Download presentation
Presentation is loading. Please wait.
Published byJeremy Small Modified over 8 years ago
1
Tech-X Corporation Status of the next generation of Synergia Interface and Refactoring Douglas R. Dechow
2
Tech-X Corporation2 Synergia: Software “ilities…” Extensibility –Adding new features--not just new physics Maintainability –Improvements to existing features-- diagnostics Understandability Testability Reliability
3
Tech-X Corporation3 Synergia: Software Engineering Interface Development: User Interface for Physics/Physicists API for Software Development/Programmers Refactoring of Impact3d: Creating software that can evolve Tougher to do objects in F90
4
Tech-X Corporation4 Synergia: Interface Development User Interface Development: Cumbersome file-based parameterization of models (hidden from User) Create a programmatic interface via Python scripts (control the simulation) API Development: Have gone through a prototyping process to define a minimal set of simulation functionality Process simultaneously exposes the necessary interfaces
5
Tech-X Corporation5 Python Steering Python is a glue language: VTK--3D visualization toolkit PyMPI--tightly-coupled parallel computing Numeric--numerical analysis routines SWIG (for wrapping new C++ codes) Forthon (for wrapping F90 codes) At the physics level: C++/F90 codes disappear into a Python background We can start to think about things as components
6
Tech-X Corporation6 Impact3d Refactoring Impact3d has a parallel, self-consistent 3D space charge solver Same prototyping process has lead to some light refactoring; but indicated inconsistencies in Impact3d’s “object-model” More components need to be teased apart from each other Also, standard Fortran refactoring to do: subroutine parameterization, global namespace pollution, etc.
7
Tech-X Corporation7 Current Status # initialize the simulation components bunch = Create_BeamBunch(…) grid = Create_Pgrid2d(MPI_COMM_WORLD,…) bunch =Initial_Distribution(bunch,grid) element = Create_BeamLineElement(…) # run the simulation Run_Simulation(bunch,element,… ) # display vtk-plot Show_XYPlotOfBeamBunchMap(bunch,… )
8
Tech-X Corporation8 Synergia: Software Future Modules –BeamBeam –Impedance Application –Booster RF System Computer Science –Optimization/Performance –Testing
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.