> mathematically, jumpCyclic BC must enforce the jump condition between patch faces
Nonsense: the two faces are actually one. Therefore the jump is the jump between two cell centres. > Which violates the linear algebra meaning of `Amul()`. Another nonsense. What is the "mathematical definition" of the Amul function??? The code is exactly as it should be and it works fine. I use it every day. Hrv |
I think the jump condition (in mathematics) must be like this for 1D problem in interval [0,1]:
However, the implementation is : Which is dependent on grid spacing . It may impair the spatial order of accuracy of this BC. about Amul(), by the document and its usage in Krylov type solvers. It must be the definition of . which means the output must be zero vector if the x is a zero vector, which is what I mean by the term "linear algebra meaning" However, in the implementation of ldu::Amul(), it invokes the interfaces' "updateInterfaceMatrix()" method, which essentially is adding the product of boundaryCoeffs and neighbor side cell values (transformed if neccesary). However, according to the implementation of jumpCyclic method "updateInterfaceMatrix()", if the interface is the jumpCyclic condition, The cell value transferred in is not zero if the state vector is zero. So I say it violates the "linear algebra meaning" of Amul(). Maybe the implementation of "Amul()" is compatible with other codes because most solvers actually works. |
All times are GMT -4. The time now is 03:43. |