MoDeNa  1.0
Software framework facilitating sequential multi-scale modelling
mod_PETSc.F90
1 
2 
3 
4 
6 
8 
9  type userctx
10 #include <finclude/petscsysdef.h>
11 #include <finclude/petscvecdef.h>
12 #include <finclude/petscdmdef.h>
13  petscint xs,xe,xm,gxs,gxe,gxm,mx
14  petscmpiint rank
15  petscmpiint num_procs
16  end type userctx
17 
18 End Module
19 
20 
21 
23 
24 Module global_x
25 Implicit None
26 #include <finclude/petscsysdef.h>
27 #include <finclude/petscsnesdef.h>
28 #include <finclude/petscvecdef.h>
29 
30 snes :: snes !nonlinear solver context
31 vec :: x !array of unknowns
32 vec :: r !array of residuals
33 petscint :: ngrid !number of grid points
34 petscint :: ngp !number of ghost points
35 
36 DOUBLE PRECISION :: timer ! timer
37 DOUBLE PRECISION :: timer_old ! timer
38 DOUBLE PRECISION :: total_time ! timer
39 
40 
41 End Module global_x
42 
43 
44 
45 Module f90moduleinterfaces
47 #include <finclude/petscsnesdef.h>
48 
50  Subroutine snessetapplicationcontext(snes,ctx,ierr)
51  use petscmanagement
52  snes snes
53  type(userctx) ctx
54  petscerrorcode ierr
55  End Subroutine
56  End Interface snessetapplicationcontext
57 
59  Subroutine snesgetapplicationcontext(snes,ctx,ierr)
60  use petscmanagement
61  snes snes
62  type(userctx), pointer :: ctx
63  petscerrorcode ierr
64  End Subroutine
65  End Interface snesgetapplicationcontext
66 
67 End Module f90moduleinterfaces
68 
69 
This module contains variables associated with the PETSc solver.
Definition: mod_PETSc.F90:24
In this module, the application context is defined.
Definition: mod_PETSc.F90:7