Parallel-in-Time / pySDC

pySDC is a Python implementation of the spectral deferred correction (SDC) approach and its flavors, esp. the multilevel extension MLSDC and PFASST.
http://www.parallel-in-time.org/pySDC
BSD 2-Clause "Simplified" License
32 stars 35 forks source link

Match between fine solutions and nodes #93

Closed danielru closed 6 years ago

danielru commented 7 years ago

In the BaseTransfer class lines 108-110, why has F.u M+1 entries but F.sweep.coll.nodes only M? I assume that the first entry in F.u is the initial value, correct? This would mean we have

F.u[0] --> F.status.time (start time of time step) F.u[1] --> F.sweep.coll.nodes[0] (first quadrature node) F.u[2] --> F.sweep.coll.nodes[1] (second quadrature node)

etc. Is my interpretation correct?

pancetta commented 7 years ago

Yes, you are correct! u[0] is always the initial value and does not get changes except for incoming data within PFASST. If you do Gauss-Lobatto nodes, u[1] is equal to u[0] but will be changed by a sweep.

danielru commented 7 years ago

Great, thanks for the quick reply! 👍

danielru commented 7 years ago

Sorry, follow-up question: the values inF.sweep.coll.nodes are on the unit interval, right? So I will have to map them to [F.status.time, F.status.time + F.dt] in order to get the times of the quadrature nodes?

pancetta commented 7 years ago

Indeed! Add time and multiply by dt and you're good to go.