> On Jul 14, 2024, at 6:04 PM, Alex Sp <[email protected]> wrote:
> 
> This Message Is From an External Sender
> This message came from outside your organization.
> Hello,
> 
> I am trying to solve the problem of the 3D fluid flow around a cylinder using 
> an in-house finite element Fortran code. I want to apply periodic boundary 
> conditions in the neutral direction (the z direction which coincides with the 
> axis of the cylinder). The method works fine and it gives correct results. 
> However the assembly of the matrix for the Newton Raphson method takes too 
> long. The whole process takes about 10 minutes for a single Newton iteration. 
> For the same system size it takes only 10 seconds if instead of periodic 
> conditions I set wall boundaries (no slip, no penetration). What is also 
> strange is that the very first matrix assembly is quite normal (takes about 
> 30 seconds). 

   Does the matrix non-zero structure change between the first and later matrix 
assemblies? Your behavior is generally a result of new non-zero locations being 
entered into the matrix after the first assembly is done. 

   What version of PETSc are you using?

   You can run with the option -info and grep for mallocs to see if additional 
mallocs are needed



> What could be the reason for this? It seems like some matrix entries are 
> allocated anew every time. However this happens only when I apply 
> periodicity. I do not do any matrix preallocation.
> 
> Thanks in advance,
> Alex

Reply via email to