Hoang,

  Could you please send the entire code as a .F90 file as an attachment so we 
can reproduce the problem?

  Thanks

  Barry

> On Nov 2, 2020, at 8:38 PM, Hien HN- <[email protected]> wrote:
> 
> Hi Matt,
> 
> 1) As I understood, the VecScatterCreateToAll function will create the vector 
> sol_to_all, and it does not need to create this vector with, for example, 
> VecCreate or VecCreateMPI function. Is this correct?
>                   call 
> VecScatterCreateToAll(petsc_solution,ctx,sol_to_all,petsc_err) 
> 
> I have used the VecView to print the vector sol_to_all to a file. It seems no 
> problem with sol_to_all.
> 
> I installed PETSc with Intel MKL and MS-MPI libraries. So should I enable the 
> option of Intel MKL that performs vector operations in my Fortran project?
> 
> 
> 2) This system is not the Laplacian.
> 
> Thank you very much,
> Hoang
> 
> On Mon, 2 Nov 2020 at 20:15, Matthew Knepley <[email protected] 
> <mailto:[email protected]>> wrote:
> On Mon, Nov 2, 2020 at 12:31 AM Hien HN- <[email protected] 
> <mailto:[email protected]>> wrote:
> Dear PETSc developers,
>  
> I have used KSP solver to solve a linear equation system in parallel with 5 
> processors.
>  
> The linear system consists of a pressure matrix (pressure_coeff_mat) and its 
> RHS (p_coeff_mat) whose values are set every time step using MatSetValue and 
> VecSetValues functions and then assembled using:
>    call MatAssemblyBegin(pressure_coeff_mat,mat_final_assembly,petsc_err)
>    call MatAssemblyEnd(pressure_coeff_mat,mat_final_assembly,petsc_err)
>    call VecAssemblyBegin(p_coeff_rhs,petsc_err)
>    call VecAssemblyEnd(p_coeff_rhs,petsc_err)
>  
>  
> One processor solves this linear system using KSBCGS Krylov solver with ILU 
> preconditioner, and the result is scattered to all processors
>   call KSPGetPC(petsc_ksp,petsc_pc,petsc_err)
>    if (preconditioner==0) then
>       call PCSetType(petsc_pc,PCJACOBI,petsc_err
>       call 
> PetscOptionsSetValue(PETSC_NULL_OPTIONS,"sub_ksp_type","preonly",petsc_err)
>       call 
> PetscOptionsSetValue(PETSC_NULL_OPTIONS,"sub_pc_type","ilu",petsc_err)
>       call PCSetFromOptions(petsc_pc,petsc_err)
>    else
>       call PCSetType(petsc_pc,PCBJACOBI,petsc_err)
>    end if
>    call KSPSetFromOptions(petsc_ksp,petsc_err)
>    call KSPSetUp(petsc_ksp,petsc_err)
>    call KSPSolve(petsc_ksp,p_coeff_rhs,petsc_solution,petsc_err)
>    call VecScatterCreateToAll(petsc_solution,ctx,sol_to_all,petsc_err)
>    call 
> VecScatterBegin(ctx,petsc_solution,sol_to_all,INSERT_VALUES,SCATTER_FORWARD,petsc_err)
>    call VecScatterEnd(ctx,petsc_solution,sol_to_all, 
> INSERT_VALUES,SCATTER_FORWARD,petsc_err)
>    call VecGetValues(sol_to_all,ncells, loc_id_to_global-1,sol, petsc_err)
>    call VecScatterDestroy(ctx,petsc_err)
>    call VecDestroy(sol_to_all,petsc_err)
>  
>  
> However, I got the following errors with vector scattering, i.e., 
> VecScatterBegin, VecScatterEnd, and also VecGetValues. I have checked the 
> pressure matrix, its RHS, and the solution for the first call of KSPSolve. 
> Their values seem to be okay (see attached file). So, could you please tell 
> me what does this error mean and how can I fix it.
> 
> 1) The error message says that 'sol_to_all'  has not been created
> 
> 2) Is this system the Laplacian? If so, ILU is a bad preconditioner. You 
> should try gamg.
> 
>   Thanks,
> 
>      Matt
>  
>  
> Thank you,
>  
> Error message:
> -----------------------------------------------------------------------------
> Configure options --with-cc="win32fe cl" --with-fc="win32fe ifort" 
> --with-cxx="win32fe cl" 
> --with-blaslapack-lib="[/cygdrive/c/PROGRA~2/Intel/COMPOS~1/mkl/lib/ia32/mkl_intel_c_dll.lib,/cygdrive/c/PROGRA~2/Intel/COMPOS~1/mkl/lib/ia32/mkl_sequential_dll.lib,/cygdrive/c/PROGRA~2/Intel/COMPOS~1/mkl/lib/ia32/mkl_core_dll.lib]"
>  
> --with-mpi-lib="[/cygdrive/c/PROGRA~2/MICROS~1/MPI/Lib/x86/msmpifec.lib,/cygdrive/c/PROGRA~2/MICROS~1/MPI/Lib/x86/msmpi.lib]"
>  
> --with-mpi-include="[/cygdrive/c/PROGRA~2/MICROS~1/MPI/Include,/cygdrive/c/PROGRA~2/MICROS~1/MPI/Include/x86]"
>  --with-mpiexec=/cygdrive/c/PROGRA~1/MI564C~1/bin/mpiexec.exe 
> --with-debugging=1 --with-shared-libraries=0 --CFLAGS=-Od --FFLAGS=-Od 
> CXXFLAGS=-Od --with-clean=1
> #4930 VecScatterBegin() line 83 in 
> C:\petsc\PE4D24~1.13-\src\vec\vscat\INTERF~1\vscatfce.c
> [1]PETSC ERROR:
> [2]PETSC ERROR:
> [3]PETSC ERROR:
> [0]PETSC ERROR:
> [4]PETSC ERROR:
> #4930 VecScatterBegin() line 83 in 
> C:\petsc\PE4D24~1.13-\src\vec\vscat\INTERF~1\vscatfce.c
> #4930 VecScatterBegin() line 83 in 
> C:\petsc\PE4D24~1.13-\src\vec\vscat\INTERF~1\vscatfce.c
> #4930 VecScatterBegin() line 83 in 
> C:\petsc\PE4D24~1.13-\src\vec\vscat\INTERF~1\vscatfce.c
> #4930 VecScatterBegin() line 83 in 
> C:\petsc\PE4D24~1.13-\src\vec\vscat\INTERF~1\vscatfce.c
> --------------------- Error Message 
> --------------------------------------------------------------
> [1]PETSC ERROR:
> [2]PETSC ERROR:
> [3]PETSC ERROR:
> [0]PETSC ERROR:
> [4]PETSC ERROR:
> --------------------- Error Message 
> --------------------------------------------------------------
> --------------------- Error Message 
> --------------------------------------------------------------
> --------------------- Error Message 
> --------------------------------------------------------------
> --------------------- Error Message 
> --------------------------------------------------------------
> Null argument, when expecting valid pointer
> [1]PETSC ERROR:
> [2]PETSC ERROR:
> [3]PETSC ERROR:
> [0]PETSC ERROR:
> [4]PETSC ERROR:
> Null argument, when expecting valid pointer
> Null argument, when expecting valid pointer
> Null argument, when expecting valid pointer
> Null argument, when expecting valid pointer
> Null Object: Parameter # 3
> [1]PETSC ERROR:
> [2]PETSC ERROR:
> [3]PETSC ERROR:
> [0]PETSC ERROR:
> [4]PETSC ERROR:
> Null Object: Parameter # 3
> Null Object: Parameter # 3
> Null Object: Parameter # 3
> Null Object: Parameter # 3
> 
> -- 
> Hoang Nhan Hien, Ph.D.
> 
> 1) Nuclear Safety Department, Institute for Nuclear Science and Technology, 
> Vietnam Atomic Energy Insitute
> 
> 2) Nuclear Safety Analysis Method Development, Enviroment & Energy 
> Technology, Inc.
> 
> Email: [email protected] <mailto:[email protected]>; h 
> <mailto:[email protected]>[email protected] <mailto:[email protected]>
> Phone: +81-10-2635-2411
> 
> 
> 
> -- 
> What most experimenters take for granted before they begin their experiments 
> is infinitely more interesting than any results to which their experiments 
> lead.
> -- Norbert Wiener
> 
> https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
> 
> 
> -- 
> Hoang Nhan Hien, Ph.D.
> 
> 1) Nuclear Safety Department, Institute for Nuclear Science and Technology, 
> Vietnam Atomic Energy Insitute
> 
> 2) Nuclear Safety Analysis Method Development, Enviroment & Energy 
> Technology, Inc.
> 
> Email: [email protected] <mailto:[email protected]>; h 
> <mailto:[email protected]>[email protected] <mailto:[email protected]>
> Phone: +81-10-2635-2411
> 

Reply via email to