UCL / TDMS

Time Domain Maxwell Solver
https://github-pages.ucl.ac.uk/TDMS
GNU General Public License v3.0
12 stars 4 forks source link

Refactoring ~`iterator.cpp`~ `SimulationManager::execute()` #63

Open t-young31 opened 2 years ago

t-young31 commented 2 years ago

mexFunction in iterator.cpp is the best part of 7k lines. This should be broken out into smaller functions with structs/classes for the commonly grouped function arguments.


willGraham01 commented 1 year ago

Just putting an update here with regards to the current state of the codebase; for anyone coming to the project fresh and not knowing where iterator actually is anymore.

iterator.cpp has largely been absorbed into the SimulationManager's execute() method, however further refactoring is possible/ongoing. The majority of what remains in execute() is the main body of code lifted directly from iterator.cpp that constituted the main loop (iteration step) of the simulation.

Setup of the data structures, scoping of loop variables, preparation of the output and post-loop processing methods have already been implemented.