Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# CHANGELOG

All notable changes to `dae-cpp` project will be documented in this file.

## [`develop` branch -- 2.3.0]

### Added

- Option `linear_system_scaling` (can be `true` or `false`) to rescale linear system matrix for better convergence (`false` by default).
- Linear system matrix (row) scaling. Matrix scaling can improve stability of the linear solver in some cases but comes with a slight performance penalty.
- Linear system matrix prune if scaling is enabled.

### Fixed

- The solver cannot reach relative tolerance `rtol` in some cases and stops with the "solution diverged" error (fixed by updating internal tolerances).
- Incompatibility of `autodiff` library with the latest version of Eigen (fixed by altering `autodiff`).
- Typo in `daecpp::solver_command::stop_integration` enum (`stop_intergration` -> `stop_integration`).

### Changed

- Eigen to version 5.0.0.
- Renamed `TESTING` macro definition to `DAECPP_TESTING` to avoid potential clash.
- Linear system matrix pattern now analysed only once at the first iteration.
- Pre-allocate vector of `dual` numbers in `JacobianMatrixShape` class to improve performance of the Jacobian computed from the user-defined shape.
- Updated internal tolerances used in the solver for the convergence check against relative tolerance `rtol`.

### Removed

- Conversion from Eigen to dae-cpp matrix format and back in automatic Jacobian class (an attempt to speed it up).

## [2.2.0]

Current stable version.

[CHANGELOG](https://dae-cpp.github.io/CHANGELOG.html)
20 changes: 9 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,16 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)

######## Build examples ########

set(EXAMPLE_LIST "quick_start" "simple_dae" "perovskite_model" "flame_propagation" "jacobian_shape" "jacobian_compare")

include_directories(${PROJECT_SOURCE_DIR})

foreach(EXAMPLE_NAME ${EXAMPLE_LIST})

FILE(GLOB SOURCES ${PROJECT_SOURCE_DIR}/examples/${EXAMPLE_NAME}/*.cpp)

add_executable(${EXAMPLE_NAME} ${SOURCES})

install(TARGETS ${EXAMPLE_NAME} DESTINATION bin)
file(GLOB EXAMPLE_DIRS RELATIVE ${PROJECT_SOURCE_DIR}/examples ${PROJECT_SOURCE_DIR}/examples/*)

foreach(EXAMPLE_NAME ${EXAMPLE_DIRS})
if(IS_DIRECTORY ${PROJECT_SOURCE_DIR}/examples/${EXAMPLE_NAME})
file(GLOB SOURCES ${PROJECT_SOURCE_DIR}/examples/${EXAMPLE_NAME}/*.cpp)
add_executable(${EXAMPLE_NAME} ${SOURCES})
install(TARGETS ${EXAMPLE_NAME} DESTINATION bin)
endif()
endforeach()

######## Build tests ########
Expand All @@ -28,7 +26,7 @@ set(PROJECT_TEST "dae-cpp-test")
include(CTest)
enable_testing()

FILE(GLOB SOURCES_TEST ${PROJECT_SOURCE_DIR}/tests/test_*.cpp)
file(GLOB SOURCES_TEST ${PROJECT_SOURCE_DIR}/tests/test_*.cpp)

add_executable(${PROJECT_TEST} ${SOURCES_TEST})

Expand All @@ -44,7 +42,7 @@ include_directories(${PROJECT_SOURCE_DIR}/googletest/googletest/include)

target_link_libraries(${PROJECT_TEST} gtest_main gtest)

target_compile_definitions(${PROJECT_TEST} PRIVATE "TESTING")
target_compile_definitions(${PROJECT_TEST} PRIVATE "DAECPP_TESTING")

include(GoogleTest)
gtest_discover_tests(${PROJECT_TEST})
Expand Down
203 changes: 0 additions & 203 deletions Eigen/COPYING.APACHE

This file was deleted.

26 changes: 0 additions & 26 deletions Eigen/COPYING.BSD

This file was deleted.

51 changes: 0 additions & 51 deletions Eigen/COPYING.MINPACK

This file was deleted.

6 changes: 0 additions & 6 deletions Eigen/COPYING.README

This file was deleted.

Loading