Please update to using petsc-3.3

On Jul 9, 2012, at 9:03 AM, Benjamin Sanderse wrote:

> Thanks a lot. I need to have the PetscRandomCreate inside the loop,

    Why?

> so I will use the RandomSetSeed. 
> However, when running the code below I get the following error.
> 
>            PetscRandom    :: rctx
> 
>            call PetscRandomCreate(PETSC_COMM_WORLD,rctx,ierr); CHKERRQ(ierr)

    call PetscRandomSetType(rctx,PETSCRAND,ierr);

>            call PetscRandomSetSeed(rctx,I,ierr); CHKERRQ(ierr)
>            call PetscRandomSeed(rctx,ierr); CHKERRQ(ierr)
>            call VecSetRandom(f,rctx,ierr); CHKERRQ(ierr)
>            call PetscRandomDestroy(rctx,ierr); CHKERRQ(ierr)
> 
> In PetscRandomSetSeed, I is an integer.
> 
> [0]PETSC ERROR: --------------------- Error Message 
> ------------------------------------
> [0]PETSC ERROR: Object is in wrong state!
> [0]PETSC ERROR: PetscRandom object's type is not set: Argument # 1!
> [0]PETSC ERROR: 
> ------------------------------------------------------------------------
> [0]PETSC ERROR: Petsc Release Version 3.2.0, Patch 6, Wed Jan 11 09:28:45 CST 
> 2012 
> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
> [0]PETSC ERROR: See docs/index.html for manual pages.
> [0]PETSC ERROR: 
> ------------------------------------------------------------------------
> [0]PETSC ERROR: bin/navier-stokes on a arch-linu named slippy.sen.cwi.nl by 
> sanderse Mon Jul  9 15:58:16 2012
> [0]PETSC ERROR: Libraries linked from 
> /export/scratch1/sanderse/software/petsc-3.2-p6-debug/arch-linux2-c-opt/lib
> [0]PETSC ERROR: Configure run at Wed Feb 22 18:04:02 2012
> [0]PETSC ERROR: Configure options --download-mpich=1 --with-shared-libraries 
> --download-f-blas-lapack=1 --with-fc=gfortran --with-cxx=g++ --download-hypre 
> --with-hdf5 --download-hdf5 --with-cc=gcc
> [0]PETSC ERROR: 
> ------------------------------------------------------------------------
> [0]PETSC ERROR: PetscRandomSeed() line 431 in 
> /export/scratch1/sanderse/software/petsc-3.2-p6-debug/src/sys/random/interface/randomc.c
> application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0
> [cli_0]: aborting job:
> application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0
> 
> 
> Maybe something has changed from 3.2p6 to 3.3? I do not see what is wrong 
> with the PetscRandom object.
> 
> Benjamin
> 
> 
> ----- Original Message -----
> From: "Barry Smith" <bsmith at mcs.anl.gov>
> To: "PETSc users list" <petsc-users at mcs.anl.gov>
> Sent: Monday, July 9, 2012 3:51:18 PM
> Subject: Re: [petsc-users] random vector
> 
> 
>   Create and destroy the random context OUTSIDE of the loop. Each time you 
> create it it is using the same seed hence giving the same values.
> 
>   Note that it is also intentional that if you run the code twice you get the 
> same values each time you run it to help write and debug codes. If you want 
> different values each time you run it you need to call PetscRandomSetSeed() 
> then PetscRandomSeed() after creating the context
> 
> 
>   Barry
> 
> On Jul 9, 2012, at 7:53 AM, Benjamin Sanderse wrote:
> 
>> Hello all,
>> 
>> I am trying to solve a Poisson equation several times with random right-hand 
>> side vectors in order to do parallel scalability tests.
>> Here is part of the code that I use to generate a random vector:
>> 
>> 
>> PetscRandom    :: rctx
>> 
>> ...
>> 
>> do I = 1,n
>> 
>> 
>> call PetscRandomCreate(PETSC_COMM_WORLD,rctx,ierr); CHKERRQ(ierr)
>> call VecSetRandom(f,rctx,ierr); CHKERRQ(ierr)
>> call PetscRandomDestroy(rctx,ierr); CHKERRQ(ierr)
>> 
>> call VecView(f,PETSC_VIEWER_STDOUT_WORLD,ierr); CHKERRQ(ierr)
>> 
>> call Poisson
>> 
>> end do
>> 
>> 
>> It appears that f does not change during the execution of the do-loop. In 
>> fact its value is even always the same for I=1 when I run the code several 
>> times. Apparently I am missing something. Can anybody help?
>> 
>> Regards,
>> 
>> 
>> Benjamin
> 

Reply via email to