Hello,
It is exactly like what you say, and one vector is necessary per source, hence your problem with 80 sources.
The problem is that the variational formulation makes that the flux brought by the source is also spread on the first row of neighbours around the source, and these fluxes must not be mixed with those stemming from other sources because they will be multiplied separately by the tracers values at the sources.
There are several solutions :
1) to have a "Dirac" option for sources like in Telemac-2D: all discharge on the source point. Then we can mix all discharges in the same vector.
2) if the sources are sufficiently far from each other (no other source in the neighbours of neighbours of a source) again all discharges may be added on the same vector.
3) without tracers, the vectors can be added without problem.
This is however a heavy change because subroutines cvdf3d, diff3d, murd3d, prediv and tridw2 must be changed.
I would prefer the Dirac option, which is more like a mass-lumping approach. It seems to me that in this case what we have in the vectors simplifies and is just the discharge of the source, so that it would be much easier to implement : there would be a single vector SOURCES%ADR(1) only containing the discharges QSCE2 corresponding to every source.
With best regards,
Jean-Michel Hervouet