Conversation
…inematics` using the Scalar typename * Each header includes the corresponding .inl file holding the templated methods, thus improving code readability and scalability
…grator` class that contains Scalar typenames * Fixed smaller logic bugs in implicit euler and midpoint
* THIS TOOK SO LONG
… inlined oeprators.
…bers, using Scalar typename alongsideinlined oeprators.
…ors, along with scalar operations
…ce risk of uninitialised arrays (means reduced overflow risk)
…sts`, separating each subset of tests into its own .exe
…entation in main code
… RK2 harmonic oscillator state and sensitivity tests (rather than a much smaller 1e-5), separating state, sensitivity, and energy tolerances
…to reduce accidental singularities
…ce, and jacobian accuracy
…nalytical and fdm Jacobians, aswell as exploring the cross-variable propogation of coupled non-linear systems
* ALL TESTS PASS, given they are basic, but my logic is good * Though my brain is frazzled by the abstraction, i am going to try get the implicit testing done relatiove to the dual numbers
…ed tests over to AD
* This is going to change, however, I want something that fits with the current templating.
…pment Refactor application to use Qt6, enhance GUI features, and support x64 Linux in batch runs
Updated project description for clarity and corrected minor typographical errors. Modified task list to reflect changes in GUI support for Linux.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant improvements to the build system and CMake configuration for the DSFE project. The main changes modernize and modularize the CMake setup, add support for CMake presets for easier cross-platform development, and improve code quality and portability in the core library. Some unused dependencies are removed, and platform/compiler settings are clarified and updated.
Build system modernization and cross-platform support:
CMakeLists.txtand introduction ofCMakePresets.jsonto support modern CMake workflows, enable cross-platform builds, and simplify configuration for GUI/non-GUI and Windows/Linux targets. This includes new build and test presets, and improved output directory structure. [1] [2].github/workflows/build.ymlupdated to use CMake presets for configuration, build, and test steps, improving CI consistency and maintainability.Core library improvements and code quality:
DSFE_CoreCMake configuration refactored for improved modularity, stricter compiler settings, and better handling of dependencies (notably HDF5 and threading). Platform-specific definitions and visibility settings are clarified, and precompiled headers and include directories are cleaned up. [1] [2] [3] [4]DSFE_AppCMake setup is simplified, making GUI inclusion optional via theDSFE_ENABLE_GUIoption.Code cleanup and portability:
<MathLibAPI.h>) and improved platform-specific header handling (framework.h). [1] [2] [3] [4] [5] [6] [7] [8] [9]These changes collectively make the project easier to build, test, and maintain across different platforms and configurations.