mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Simulator programs and utilities for automatic differentiation.
so far, the linker bailed out due to duplicate definitions of variables if multiple compile units used the same type tag. This is problematic if the sources are split into separate compile units and that use the same type tag; in particular, this applies for traditional libraries. Due to various C++ peculiarities, this patch complicates the internal implementation of the property system quite a bit, but given that the usage of it (as well as the compile time) stay unchanged, I do not consider this to be a big problem. Note that the introspection code is particularly problematic because it needs static initializers that do not cause the linker to choke in the case of multiple compile units. Finally, to prevent future regressions, this patch adds a unit test for the lens problem which uses multiple compile units. (This test is called lens_immiscible_ecfv_ad_mcu and basically identical to the existing lens_immiscible_ecfv_ad test and I thus think that it is pretty unimaginative -- improvement proposals are welcome.) |
||
---|---|---|
bin | ||
doc | ||
examples | ||
tests |