Hi,
I am implementing an algorithm that takes an intermediate solution

at time n and transforms it to

.
Inside SolverUtils/UnsteadySystem.cpp, I want to feed this transformed value back to the TimeIntegrate() call at the beginning of the time loop, so
})
will be formed using

. I wrote a Nektar++ filter that takes the m_fields object and modifies its phys and coeffs attributes using my filter's update() method. Upon return, I verify that m_fields indeed have

, which are different from the

. But the change is not passed to the next integration timestep.
I tried to update the local variable "fields" used to initialize the integration scheme from

to

. The integration object is still unaware of the change to the intermediate solution. I suspect that the time integration object does not expose a
setter method for the solution vector objects. I checked all the existing Nektar++ filters, but from my understanding, none of those change the values of the intermediate solutions.
The only way I could get my filter to work is by calling the initializer of the time integration scheme at every timestep with the modified "fields" object. While it works for my experiments, I need advice about where architecture-wise, should I put my filter such that I don't need to modify UnsteadySystem.cpp at all.
Thanks much!
V
--
,-~~-.___._.
/ | ' \ | |--------. Vidhi Zala
( ) 0 | | | School of Computing
\_/-, ,----' | | | Scientific Computing and Imaging Institute
==== !_!-v---v--. University of Utah
/ \-'~; .--------.
/ __/~| ._-""|| | vidhi.zala@utah.edu
=( _____|_|____||________| http://sci.utah.edu/people/vidhi.html