Dear Prof. Sherwin,
Thanks for your reply. The motivation behind this problem is that the projection process is called during each iteration step within a field smoothing function.Therefore, the computational cost is crucial for the overall efficiency. I am still figuring out alternative ways to do this. Hopefully, I could attend the workshop and get more help.
Best
Jian 


-----原始邮件-----
发件人: "Sherwin, Spencer J" <s.sherwin@imperial.ac.uk>
发送时间: 2016年5月26日 星期四
收件人: "Jian Yu" <yuj@buaa.edu.cn>
抄送: nektar-users <nektar-users@imperial.ac.uk>
主题: Re: [Nektar-users] Parallel Problem with FieldConvert

Hi Jian,

Sorry for the slow response, this is grading time in the UK. 

This might be due to the preconditioners not being very smart in 2D. I think there might be a BlockDiagonal preconditioned in 2D which could possibly work much better. In 3D we have a number of preconditioners set up. 

I probably need to have a look at this but may not get a chance until you are over in a couple of weeks.

Cheers,
Spencer.

On 25 May 2016, at 02:04, Jian Yu <yuj@buaa.edu.cn> wrote:

Dear all,
I encountered a problem when I run the FieldConvert with two or more cpu cores for the C0Projection module.
For example, when I run the following command, it is OK:
mpirun -np 1 ./FieldConvert -m C0Projection 2D_20x20.xml 2D_20x20_0.chk 2D_20x20_0_C0.fld

However, the following command will report an error:
mpirun -np 2 ./FieldConvert -m C0Projection 2D_20x20.xml 2D_20x20_0.chk 2D_20x20_0_C0.fld 
and the error message is:

gs_setup: 60 unique labels shared
   pairwise times (avg, min, max): 0.000110245 0.00010879 0.000111699
   crystal router                : 9.22918e-05 9.22918e-05 9.22918e-05
   all reduce                    : 0.000179148 0.0001791 0.000179195
   used all_to_all method: crystal router
   handle bytes (avg, min, max): 4724 4724 4724
   buffer bytes (avg, min, max): 1920 1920 1920
CG iterations made = 5001 using tolerance of 1e-09 (error = nan, rhs_mag = inf)

Fatal   : Level 0 assertion violation
Exceeded maximum number of iterations
terminate called after throwing an instance of 'ErrorUtil::NekError'
  what():  Level 0 assertion violation
Exceeded maximum number of iterations


Can anyone help me about this?
Best 
Jian

_______________________________________________
Nektar-users mailing list
Nektar-users@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/nektar-users

Spencer  Sherwin
McLaren Racing/Royal Academy of Engineering Research Chair, 
Professor of Computational Fluid Mechanics,
Department of Aeronautics,
Imperial College London
South Kensington Campus
London SW7 2AZ

+44 (0) 20 759 45052