Hi, regarding qn 4 ie the requirement of VecAssemblyBegin,VecAssemblyEnd, I used VecPlaceArray, VecResetArray to change the values. I did not use Assembly after the 1st time step and it works ok. So that is fine too, right?
Thank you! On 12/4/06, Satish Balay <balay at mcs.anl.gov> wrote: > > On Sun, 3 Dec 2006, Matthew Knepley wrote: > > > > 1. Are petscscaler the same as real nos.? I am writing in double > precision > > > or real(8). So are these 2 interchangeable? (same as petscint and > integer). > > > > Yes. > > You can check these defines in include/finclude/petscdef.h > > PetscInt -> integer*4 > PetscScalar -> real*8 > > > > > > 2. while linking in compaq visual fortran, I get the warning message > about > > > conflict library with LIBCMT. Is it important or can I just ignore it? > > > > This is determined by your configure. Satish will know better how to > control > > it. > > There are some warnings because of the way compqaq f90 tries to > workarround some bugs in Visual Studio 6 version of the libraries. It > will be fine as long as all code [PETSc & application] is compiled > with the same set of compiler options, > > > > > > 3. I am writing in f90 free form format. When I modify from fixed f77 > format > > > to f90, it gives me a lot of error, which seems to be the include file > > > error. So, is it possible to write in f90 format? > > > > Depending on which compiler you use, you might have to give a flag. For > g95 > > it is -ffree-form. > > We'll have to see the error messgaes to determine what the problem is > - however - if you check the PETSc fortran examples - they comply with > both fixed and free from syntax. > > > > 4. I am writing a Navier stokes solver and I'm using PETSC to solve > the > > > poisson eqn. If only the RHS changes with each time step, do I need to > call > > > > > > VecCreateSeq > > > <insert values in RHS b> > > > VecAssemblyBegin > > > VecAssemblyEnd > > > VecDestroy > > > > > > at each time step? I don't think I can (or I should) change values of > b > > > after VecAssemblyBegin,VecAssemblyEnd, or can I? > > > > You can just change the values. Call AssemblyBegin/End() after each > group > > of changes. > > Another note: - If you change values with VecSetValues() - you'll need > to call VecAssemblyBegin,VecAssemblyEnd. However if you do > VecGetArray() [or VecGetArrayF0()] - and change values - then you > don't need the calls to VecAssembly... > > Satish > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20061204/d470cc1e/attachment.htm>