[petsc-users] SNESSetConvergenceTest

Dharmendar Reddy dharmareddy84 at gmail.com
Tue Feb 25 21:25:52 CST 2014


Hello,
         You also need to change line 493 from:
soltol = PETSC_DEFAULT_DOUBLE_PRECISION

to

soltol = PETSC_DEFAULT_REAL

I compiled the code now on my computer and it works.
Petsc Development GIT revision: v3.4.3-4199-ge4acbc4

On Tue, Feb 25, 2014 at 9:18 PM, Dharmendar Reddy
<dharmareddy84 at gmail.com> wrote:
> On Tue, Feb 25, 2014 at 9:00 PM, Jed Brown <jed at jedbrown.org> wrote:
>> Dharmendar Reddy <dharmareddy84 at gmail.com> writes:
>>> solver.F90 is a standalone test case. Which fortran compiler are you
>>> using ? The code requires Fortran 2003 complaint compiler. I use ifort
>>> 13.1.0. It may require gfortran > 4.7.
>>
>> gfortran-4.8.2
>>
>> /opt/mpich/bin/mpif90 -std=f2003 Solver.F90 -I$PETSC_DIR/include -I$PETSC_DIR/$PETSC_ARCH/include -L$PETSC_DIR/$PETSC_ARCH/lib -Wl,-rpath=$PETSC_DIR/$PETSC_ARCH/lib -lpetscts -lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsys
>> Solver.F90:4.32:
>>
>>   integer,parameter :: DP=REAL64 !kind(1.0D0)
>>                                 1
>> Error: Symbol 'real64' at (1) has no IMPLICIT type
>> Solver.F90:5.32:
>>
>>   integer,parameter :: SP=REAL32 !kind(1.0E0)
>>                                 1
>> Error: Symbol 'real32' at (1) has no IMPLICIT type
>> Solver.F90:6.28:
>>
>>   integer,parameter :: WP=DP
>>                             1
>> Error: Symbol 'dp' at (1) has no IMPLICIT type
>> Solver.F90:10.6:
>>
>>   use precision_m
>>       1
>> Fatal Error: Can't open module file 'precision_m.mod' for reading at (1): No such file or directory
>
> Hello Jed,
>                 Sorry for the compilation issues, I do not have access
> to a machine with petsc and gfortran > 4.7 to fix the compile issues.
> Can you make the follwing changes to the code in precision_m module.
> REAL64 and REAL32 should be available via  iso_fortran_env module, I
> do not know why it is complaining.
>
> module precision_m
>   implicit none
>   integer,parameter :: DP = kind(1.0D0)
>   integer,parameter :: SP = kind(1.0E0)
>   integer,parameter :: WP=DP
>   integer,parameter :: MSL=100 ! MAX_STR_LENGTH
> end module precision_m


More information about the petsc-users mailing list