Actual source code: petscvec.h90

petsc-3.10.5 2019-03-28
Report Typos and Errors
  1: #if defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
  2:       Interface
  3:        subroutine PetscSFBcastBegin(sf,unit,rarray,larray,ierr)
  4:           use petscisdef
  5:           PetscSF :: sf
  6:           PetscMPIInt :: unit
  7:           type(*) :: rarray(:)
  8:           type(*) :: larray(:)
  9:           PetscErrorCode :: ierr
 10:         end Subroutine PetscSFBcastBegin
 11:       end Interface
 12: #endif

 14: #if defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
 15:       Interface
 16:       subroutine PetscSFBcastEnd(sf,unit,rarray,larray,ierr)
 17:           use petscisdef
 18:           PetscSF :: sf
 19:           PetscMPIInt :: unit
 20:           type(*) :: rarray(:)
 21:           type(*) :: larray(:)
 22:           PetscErrorCode :: ierr
 23:         end Subroutine PetscSFBcastEnd
 24:       end Interface
 25: #endif

 27:       Interface
 28:       subroutine PetscSFGetGraph(sf,nroots,nleaves,ilocal,iremote,ierr)
 29:           use petscisdef
 30:           PetscSF :: sf
 31:           PetscInt :: nroots,nleaves
 32:           PetscInt, pointer :: ilocal(:)
 33:           type(PetscSFNode), pointer :: iremote(:)
 34:           PetscErrorCode :: ierr
 35:         end Subroutine PetscSFGetGraph
 36:       end Interface

 38:       Interface
 39:       subroutine VecScatterCreateToAll(a,b,c,z)
 40:       use petscvecdef
 41:        Vec a
 42:        VecScatter b
 43:        Vec c
 44:        integer z
 45:        end subroutine
 46:       end Interface

 48:       Interface
 49:       subroutine VecScatterCreateToZero(a,b,c,z)
 50:       use petscvecdef
 51:        Vec a
 52:        VecScatter b
 53:        Vec c
 54:        integer z
 55:        end subroutine
 56:       end Interface

 58:       Interface VecSetValuesLocal
 59:         subroutine VecSetValuesLocal0(a,b,c,d,e,z)
 60:           use petscvecdef
 61:           Vec a ! Vec
 62:           PetscInt b ! PetscInt
 63:           PetscInt c (*) ! PetscInt
 64:           PetscScalar d (*) ! PetscScalar
 65:           InsertMode e ! InsertMode
 66:           integer z
 67:         end subroutine
 68:         subroutine VecSetValuesLocal11(a,b,c,d,e,z)
 69:           use petscvecdef
 70:           Vec a ! Vec
 71:           PetscInt b ! PetscInt
 72:           PetscInt c ! PetscInt
 73:           PetscScalar d ! PetscScalar
 74:           InsertMode e ! InsertMode
 75:           integer z
 76:         end subroutine
 77:       end interface VecSetValuesLocal

 79:       Interface VecSetValues
 80:         subroutine VecSetValues0(a,b,c,d,e,z)
 81:           use petscvecdef
 82:           Vec a ! Vec
 83:           PetscInt b ! PetscInt
 84:           PetscInt c (*) ! PetscInt
 85:           PetscScalar d (*) ! PetscScalar
 86:           InsertMode e ! InsertMode
 87:           integer z
 88:         end subroutine
 89:         subroutine VecSetValues1(a,b,c,d,e,z)
 90:           use petscvecdef
 91:           Vec a ! Vec
 92:           PetscInt b ! PetscInt
 93:           PetscInt c ! PetscInt
 94:           PetscScalar d (*) ! PetscScalar
 95:           InsertMode e ! InsertMode
 96:           integer z
 97:         end subroutine
 98:         subroutine VecSetValues11(a,b,c,d,e,z)
 99:           use petscvecdef
100:           Vec a ! Vec
101:           PetscInt b ! PetscInt
102:           PetscInt c ! PetscInt
103:           PetscScalar d ! PetscScalar
104:           InsertMode e ! InsertMode
105:           integer z
106:         end subroutine
107:       End Interface VecSetValues

109:       Interface VecSetValuesBlocked
110:         subroutine VecSetValuesBlocked0(a,b,c,d,e,z)
111:           use petscvecdef
112:           Vec a ! Vec
113:           PetscInt b ! PetscInt
114:           PetscInt c (*) ! PetscInt
115:           PetscScalar d (*) ! PetscScalar
116:           InsertMode e ! InsertMode
117:           integer z
118:         end subroutine
119:         subroutine VecSetValuesBlocked1(a,b,c,d,e,z)
120:           use petscvecdef
121:           Vec a ! Vec
122:           PetscInt b ! PetscInt
123:           PetscInt c ! PetscInt
124:           PetscScalar d (*) ! PetscScalar
125:           InsertMode e ! InsertMode
126:           integer z
127:         end subroutine
128:         subroutine VecSetValuesBlocked11(a,b,c,d,e,z)
129:           use petscvecdef
130:           Vec a ! Vec
131:           PetscInt b ! PetscInt
132:           PetscInt c ! PetscInt
133:           PetscScalar d ! PetscScalar
134:           InsertMode e ! InsertMode
135:           integer z
136:         end subroutine
137:       End Interface VecSetValuesBlocked

139:       Interface
140:         Subroutine VecGetArrayF90(v,array,ierr)
141:           use petscvecdef
142:           PetscScalar, pointer :: array(:)
143:           PetscErrorCode ierr
144:           Vec     v
145:         End Subroutine
146:       End Interface

148:       Interface
149:         Subroutine VecRestoreArrayF90(v,array,ierr)
150:           use petscvecdef
151:           PetscScalar, pointer :: array(:)
152:           PetscErrorCode ierr
153:           Vec     v
154:         End Subroutine
155:       End Interface

157:       Interface
158:         Subroutine VecGetArrayReadF90(v,array,ierr)
159:           use petscvecdef
160:           PetscScalar, pointer :: array(:)
161:           PetscErrorCode ierr
162:           Vec     v
163:         End Subroutine
164:       End Interface

166:       Interface
167:         Subroutine VecRestoreArrayReadF90(v,array,ierr)
168:           use petscvecdef
169:           PetscScalar, pointer :: array(:)
170:           PetscErrorCode ierr
171:           Vec     v
172:         End Subroutine
173:       End Interface

175:       Interface
176:         Subroutine VecSetValuesSectionF90(v,s,p,va,mode,ierr)
177:           use petscvecdef
178:           PetscScalar, pointer :: va(:)
179:           PetscErrorCode ierr
180:           Vec     v
181:           PetscSection s
182:           PetscInt p
183:           InsertMode mode
184:         End Subroutine
185:       End Interface

187: ! -------------------------------------------------------------

189:       Interface
190:         Subroutine VecDuplicateVecsF90(v,m,vs,ierr)
191:           use petscvecdef
192:           Vec, pointer :: vs(:)
193:           PetscInt m
194:           PetscErrorCode ierr
195:           Vec     v
196:         End Subroutine
197:       End Interface
198: !
199: !  Question: should VecDestroyVecsF90() take the m argument since
200: ! the array of vectors already knows how long it is? Yes, to
201: ! match calling sequence for C/C++.
202: !
203:       Interface
204:         Subroutine VecDestroyVecsF90(m,vs,ierr)
205:           use petscvecdef
206:           Vec, pointer :: vs(:)
207:           PetscInt m
208:           PetscErrorCode ierr
209:         End Subroutine
210:       End Interface

212:       Interface
213:       subroutine VecSetType(a,b,z)
214:       use petscvecdef
215:        Vec a
216:        character(*) b
217:        integer z
218:        end subroutine
219:       end Interface

221:       Interface
222:       subroutine VecView(a,b,z)
223:       use petscvecdef
224:        Vec a
225:        PetscViewer b
226:        integer z
227:        end subroutine
228:       end Interface

230:       Interface
231:       subroutine VecScatterRemap(a,b,c,z)
232:       use petscvecdef
233:        VecScatter a ! VecScatter
234:        PetscInt b (*) ! PetscInt
235:        PetscInt c (*) ! PetscInt
236:        integer z
237:        end subroutine
238:       end Interface