adamantine-sim / adamantine

Software to simulate heat transfer for additive manufacturing
https://adamantine-sim.github.io/adamantine/
Other
36 stars 10 forks source link

Augmented state ensemble #138

Closed stvdwtt closed 2 years ago

stvdwtt commented 2 years ago

This PR adds functionality for an augmented state ensemble for data assimilation, that is to add unobservable model parameters to the state vector. This requires changing the solution vector to a block vector and also requires allowing some model parameters to be able to change in the middle of a calculation.

Unrelated to the core of these changes, a bug in time incrementing for ensemble simulations was fixed. (Previously, each ensemble member update incremented the time by the time step, meaning that the time was incremented by num_members*dt rather than dt.)

NOTE: The current interface for LA:distributed:BlockVector does not allow the memory space to be identified. Therefore the BlockVectors in this PR live exclusively on the host.

Rombur commented 2 years ago

test_integration_3d times out when using clang-sanitizer

stvdwtt commented 2 years ago

I broke up the three tests that were inside test_integration_3d, so hopefully the tests don't time out anymore.

Rombur commented 2 years ago

Clang and CUDA do not compile

stvdwtt commented 2 years ago

Looking into it...

stvdwtt commented 2 years ago

I think I fixed the issue and now the only problem is that the clang sanitizer tests time out for two tests. I increased the test timeout to 3h. That's much longer than it feels like test should take, but I don't want to modify tests in this PR (especially since one of the tests that times out is the DA test).