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