Actual source code: snesf.c

  1: /* snes.c */
  2: /* Fortran interface file */

  4: /*
  5: * This file was generated automatically by bfort from the C source
  6: * file.  
  7:  */

  9: #ifdef PETSC_USE_POINTER_CONVERSION
 10: #if defined(__cplusplus)
 11: extern "C" {
 12: #endif 
 13: extern void *PetscToPointer(void *);
 14: extern int PetscFromPointer(void *);
 15: extern void PetscRmPointer(void *);
 16: #if defined(__cplusplus)
 17: }
 18: #endif 

 20: #else

 22: #define PetscToPointer(a) (*(long *)(a))
 23: #define PetscFromPointer(a) (long)(a)
 24: #define PetscRmPointer(a)
 25: #endif

 27: #include "petscfix.h"
 28:  #include petscsnes.h
 29: #ifdef MPI_BUILD_PROFILING
 30: #ifdef PETSC_HAVE_FORTRAN_CAPS
 31: #define snesaddoptionschecker_ PSNESADDOPTIONSCHECKER
 32: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 33: #define snesaddoptionschecker_ psnesaddoptionschecker
 34: #else
 35: #define snesaddoptionschecker_ psnesaddoptionschecker_
 36: #endif
 37: #else
 38: #ifdef PETSC_HAVE_FORTRAN_CAPS
 39: #define snesaddoptionschecker_ SNESADDOPTIONSCHECKER
 40: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 41: #define snesaddoptionschecker_ snesaddoptionschecker
 42: #endif
 43: #endif

 45: #ifdef MPI_BUILD_PROFILING
 46: #ifdef PETSC_HAVE_FORTRAN_CAPS
 47: #define snessetfromoptions_ PSNESSETFROMOPTIONS
 48: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 49: #define snessetfromoptions_ psnessetfromoptions
 50: #else
 51: #define snessetfromoptions_ psnessetfromoptions_
 52: #endif
 53: #else
 54: #ifdef PETSC_HAVE_FORTRAN_CAPS
 55: #define snessetfromoptions_ SNESSETFROMOPTIONS
 56: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 57: #define snessetfromoptions_ snessetfromoptions
 58: #endif
 59: #endif

 61: #ifdef MPI_BUILD_PROFILING
 62: #ifdef PETSC_HAVE_FORTRAN_CAPS
 63: #define snessetapplicationcontext_ PSNESSETAPPLICATIONCONTEXT
 64: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 65: #define snessetapplicationcontext_ psnessetapplicationcontext
 66: #else
 67: #define snessetapplicationcontext_ psnessetapplicationcontext_
 68: #endif
 69: #else
 70: #ifdef PETSC_HAVE_FORTRAN_CAPS
 71: #define snessetapplicationcontext_ SNESSETAPPLICATIONCONTEXT
 72: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 73: #define snessetapplicationcontext_ snessetapplicationcontext
 74: #endif
 75: #endif

 77: #ifdef MPI_BUILD_PROFILING
 78: #ifdef PETSC_HAVE_FORTRAN_CAPS
 79: #define snesgetiterationnumber_ PSNESGETITERATIONNUMBER
 80: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 81: #define snesgetiterationnumber_ psnesgetiterationnumber
 82: #else
 83: #define snesgetiterationnumber_ psnesgetiterationnumber_
 84: #endif
 85: #else
 86: #ifdef PETSC_HAVE_FORTRAN_CAPS
 87: #define snesgetiterationnumber_ SNESGETITERATIONNUMBER
 88: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 89: #define snesgetiterationnumber_ snesgetiterationnumber
 90: #endif
 91: #endif

 93: #ifdef MPI_BUILD_PROFILING
 94: #ifdef PETSC_HAVE_FORTRAN_CAPS
 95: #define snesgetfunctionnorm_ PSNESGETFUNCTIONNORM
 96: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 97: #define snesgetfunctionnorm_ psnesgetfunctionnorm
 98: #else
 99: #define snesgetfunctionnorm_ psnesgetfunctionnorm_
100: #endif
101: #else
102: #ifdef PETSC_HAVE_FORTRAN_CAPS
103: #define snesgetfunctionnorm_ SNESGETFUNCTIONNORM
104: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
105: #define snesgetfunctionnorm_ snesgetfunctionnorm
106: #endif
107: #endif

109: #ifdef MPI_BUILD_PROFILING
110: #ifdef PETSC_HAVE_FORTRAN_CAPS
111: #define snesgetnumberunsuccessfulsteps_ PSNESGETNUMBERUNSUCCESSFULSTEPS
112: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
113: #define snesgetnumberunsuccessfulsteps_ psnesgetnumberunsuccessfulsteps
114: #else
115: #define snesgetnumberunsuccessfulsteps_ psnesgetnumberunsuccessfulsteps_
116: #endif
117: #else
118: #ifdef PETSC_HAVE_FORTRAN_CAPS
119: #define snesgetnumberunsuccessfulsteps_ SNESGETNUMBERUNSUCCESSFULSTEPS
120: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
121: #define snesgetnumberunsuccessfulsteps_ snesgetnumberunsuccessfulsteps
122: #endif
123: #endif

125: #ifdef MPI_BUILD_PROFILING
126: #ifdef PETSC_HAVE_FORTRAN_CAPS
127: #define snessetmaximumunsuccessfulsteps_ PSNESSETMAXIMUMUNSUCCESSFULSTEPS
128: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
129: #define snessetmaximumunsuccessfulsteps_ psnessetmaximumunsuccessfulsteps
130: #else
131: #define snessetmaximumunsuccessfulsteps_ psnessetmaximumunsuccessfulsteps_
132: #endif
133: #else
134: #ifdef PETSC_HAVE_FORTRAN_CAPS
135: #define snessetmaximumunsuccessfulsteps_ SNESSETMAXIMUMUNSUCCESSFULSTEPS
136: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
137: #define snessetmaximumunsuccessfulsteps_ snessetmaximumunsuccessfulsteps
138: #endif
139: #endif

141: #ifdef MPI_BUILD_PROFILING
142: #ifdef PETSC_HAVE_FORTRAN_CAPS
143: #define snesgetmaximumunsuccessfulsteps_ PSNESGETMAXIMUMUNSUCCESSFULSTEPS
144: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
145: #define snesgetmaximumunsuccessfulsteps_ psnesgetmaximumunsuccessfulsteps
146: #else
147: #define snesgetmaximumunsuccessfulsteps_ psnesgetmaximumunsuccessfulsteps_
148: #endif
149: #else
150: #ifdef PETSC_HAVE_FORTRAN_CAPS
151: #define snesgetmaximumunsuccessfulsteps_ SNESGETMAXIMUMUNSUCCESSFULSTEPS
152: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
153: #define snesgetmaximumunsuccessfulsteps_ snesgetmaximumunsuccessfulsteps
154: #endif
155: #endif

157: #ifdef MPI_BUILD_PROFILING
158: #ifdef PETSC_HAVE_FORTRAN_CAPS
159: #define snesgetnumberlineariterations_ PSNESGETNUMBERLINEARITERATIONS
160: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
161: #define snesgetnumberlineariterations_ psnesgetnumberlineariterations
162: #else
163: #define snesgetnumberlineariterations_ psnesgetnumberlineariterations_
164: #endif
165: #else
166: #ifdef PETSC_HAVE_FORTRAN_CAPS
167: #define snesgetnumberlineariterations_ SNESGETNUMBERLINEARITERATIONS
168: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
169: #define snesgetnumberlineariterations_ snesgetnumberlineariterations
170: #endif
171: #endif

173: #ifdef MPI_BUILD_PROFILING
174: #ifdef PETSC_HAVE_FORTRAN_CAPS
175: #define snescomputefunction_ PSNESCOMPUTEFUNCTION
176: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
177: #define snescomputefunction_ psnescomputefunction
178: #else
179: #define snescomputefunction_ psnescomputefunction_
180: #endif
181: #else
182: #ifdef PETSC_HAVE_FORTRAN_CAPS
183: #define snescomputefunction_ SNESCOMPUTEFUNCTION
184: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
185: #define snescomputefunction_ snescomputefunction
186: #endif
187: #endif

189: #ifdef MPI_BUILD_PROFILING
190: #ifdef PETSC_HAVE_FORTRAN_CAPS
191: #define snescomputejacobian_ PSNESCOMPUTEJACOBIAN
192: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
193: #define snescomputejacobian_ psnescomputejacobian
194: #else
195: #define snescomputejacobian_ psnescomputejacobian_
196: #endif
197: #else
198: #ifdef PETSC_HAVE_FORTRAN_CAPS
199: #define snescomputejacobian_ SNESCOMPUTEJACOBIAN
200: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
201: #define snescomputejacobian_ snescomputejacobian
202: #endif
203: #endif

205: #ifdef MPI_BUILD_PROFILING
206: #ifdef PETSC_HAVE_FORTRAN_CAPS
207: #define snessetup_ PSNESSETUP
208: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
209: #define snessetup_ psnessetup
210: #else
211: #define snessetup_ psnessetup_
212: #endif
213: #else
214: #ifdef PETSC_HAVE_FORTRAN_CAPS
215: #define snessetup_ SNESSETUP
216: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
217: #define snessetup_ snessetup
218: #endif
219: #endif

221: #ifdef MPI_BUILD_PROFILING
222: #ifdef PETSC_HAVE_FORTRAN_CAPS
223: #define snessettolerances_ PSNESSETTOLERANCES
224: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
225: #define snessettolerances_ psnessettolerances
226: #else
227: #define snessettolerances_ psnessettolerances_
228: #endif
229: #else
230: #ifdef PETSC_HAVE_FORTRAN_CAPS
231: #define snessettolerances_ SNESSETTOLERANCES
232: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
233: #define snessettolerances_ snessettolerances
234: #endif
235: #endif

237: #ifdef MPI_BUILD_PROFILING
238: #ifdef PETSC_HAVE_FORTRAN_CAPS
239: #define snesgettolerances_ PSNESGETTOLERANCES
240: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
241: #define snesgettolerances_ psnesgettolerances
242: #else
243: #define snesgettolerances_ psnesgettolerances_
244: #endif
245: #else
246: #ifdef PETSC_HAVE_FORTRAN_CAPS
247: #define snesgettolerances_ SNESGETTOLERANCES
248: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
249: #define snesgettolerances_ snesgettolerances
250: #endif
251: #endif

253: #ifdef MPI_BUILD_PROFILING
254: #ifdef PETSC_HAVE_FORTRAN_CAPS
255: #define snessettrustregiontolerance_ PSNESSETTRUSTREGIONTOLERANCE
256: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
257: #define snessettrustregiontolerance_ psnessettrustregiontolerance
258: #else
259: #define snessettrustregiontolerance_ psnessettrustregiontolerance_
260: #endif
261: #else
262: #ifdef PETSC_HAVE_FORTRAN_CAPS
263: #define snessettrustregiontolerance_ SNESSETTRUSTREGIONTOLERANCE
264: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
265: #define snessettrustregiontolerance_ snessettrustregiontolerance
266: #endif
267: #endif

269: #ifdef MPI_BUILD_PROFILING
270: #ifdef PETSC_HAVE_FORTRAN_CAPS
271: #define snessetconvergencehistory_ PSNESSETCONVERGENCEHISTORY
272: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
273: #define snessetconvergencehistory_ psnessetconvergencehistory
274: #else
275: #define snessetconvergencehistory_ psnessetconvergencehistory_
276: #endif
277: #else
278: #ifdef PETSC_HAVE_FORTRAN_CAPS
279: #define snessetconvergencehistory_ SNESSETCONVERGENCEHISTORY
280: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
281: #define snessetconvergencehistory_ snessetconvergencehistory
282: #endif
283: #endif

285: #ifdef MPI_BUILD_PROFILING
286: #ifdef PETSC_HAVE_FORTRAN_CAPS
287: #define snessetrhsbc_ PSNESSETRHSBC
288: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
289: #define snessetrhsbc_ psnessetrhsbc
290: #else
291: #define snessetrhsbc_ psnessetrhsbc_
292: #endif
293: #else
294: #ifdef PETSC_HAVE_FORTRAN_CAPS
295: #define snessetrhsbc_ SNESSETRHSBC
296: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
297: #define snessetrhsbc_ snessetrhsbc
298: #endif
299: #endif

301: #ifdef MPI_BUILD_PROFILING
302: #ifdef PETSC_HAVE_FORTRAN_CAPS
303: #define snesdefaultrhsbc_ PSNESDEFAULTRHSBC
304: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
305: #define snesdefaultrhsbc_ psnesdefaultrhsbc
306: #else
307: #define snesdefaultrhsbc_ psnesdefaultrhsbc_
308: #endif
309: #else
310: #ifdef PETSC_HAVE_FORTRAN_CAPS
311: #define snesdefaultrhsbc_ SNESDEFAULTRHSBC
312: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
313: #define snesdefaultrhsbc_ snesdefaultrhsbc
314: #endif
315: #endif

317: #ifdef MPI_BUILD_PROFILING
318: #ifdef PETSC_HAVE_FORTRAN_CAPS
319: #define snessetsolutionbc_ PSNESSETSOLUTIONBC
320: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
321: #define snessetsolutionbc_ psnessetsolutionbc
322: #else
323: #define snessetsolutionbc_ psnessetsolutionbc_
324: #endif
325: #else
326: #ifdef PETSC_HAVE_FORTRAN_CAPS
327: #define snessetsolutionbc_ SNESSETSOLUTIONBC
328: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
329: #define snessetsolutionbc_ snessetsolutionbc
330: #endif
331: #endif

333: #ifdef MPI_BUILD_PROFILING
334: #ifdef PETSC_HAVE_FORTRAN_CAPS
335: #define snesdefaultsolutionbc_ PSNESDEFAULTSOLUTIONBC
336: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
337: #define snesdefaultsolutionbc_ psnesdefaultsolutionbc
338: #else
339: #define snesdefaultsolutionbc_ psnesdefaultsolutionbc_
340: #endif
341: #else
342: #ifdef PETSC_HAVE_FORTRAN_CAPS
343: #define snesdefaultsolutionbc_ SNESDEFAULTSOLUTIONBC
344: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
345: #define snesdefaultsolutionbc_ snesdefaultsolutionbc
346: #endif
347: #endif

349: #ifdef MPI_BUILD_PROFILING
350: #ifdef PETSC_HAVE_FORTRAN_CAPS
351: #define snessetupdate_ PSNESSETUPDATE
352: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
353: #define snessetupdate_ psnessetupdate
354: #else
355: #define snessetupdate_ psnessetupdate_
356: #endif
357: #else
358: #ifdef PETSC_HAVE_FORTRAN_CAPS
359: #define snessetupdate_ SNESSETUPDATE
360: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
361: #define snessetupdate_ snessetupdate
362: #endif
363: #endif

365: #ifdef MPI_BUILD_PROFILING
366: #ifdef PETSC_HAVE_FORTRAN_CAPS
367: #define snesdefaultupdate_ PSNESDEFAULTUPDATE
368: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
369: #define snesdefaultupdate_ psnesdefaultupdate
370: #else
371: #define snesdefaultupdate_ psnesdefaultupdate_
372: #endif
373: #else
374: #ifdef PETSC_HAVE_FORTRAN_CAPS
375: #define snesdefaultupdate_ SNESDEFAULTUPDATE
376: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
377: #define snesdefaultupdate_ snesdefaultupdate
378: #endif
379: #endif

381: #ifdef MPI_BUILD_PROFILING
382: #ifdef PETSC_HAVE_FORTRAN_CAPS
383: #define snessolve_ PSNESSOLVE
384: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
385: #define snessolve_ psnessolve
386: #else
387: #define snessolve_ psnessolve_
388: #endif
389: #else
390: #ifdef PETSC_HAVE_FORTRAN_CAPS
391: #define snessolve_ SNESSOLVE
392: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
393: #define snessolve_ snessolve
394: #endif
395: #endif



399: /* Definitions of Fortran Wrapper routines */
400: #if defined(__cplusplus)
401: extern "C" {
402: #endif
403: void PETSC_STDCALL snesaddoptionschecker_(int (*snescheck)(SNES), int *ierr ){
404: *SNESAddOptionsChecker(snescheck);
405: }
406: void PETSC_STDCALL snessetfromoptions_(SNES snes, int *ierr ){
407: *SNESSetFromOptions(
408:         (SNES)PetscToPointer( (snes) ));
409: }
410: void PETSC_STDCALL snessetapplicationcontext_(SNES snes,void*usrP, int *ierr ){
411: *SNESSetApplicationContext(
412:         (SNES)PetscToPointer( (snes) ),usrP);
413: }
414: void PETSC_STDCALL snesgetiterationnumber_(SNES snes,int* iter, int *ierr ){
415: *SNESGetIterationNumber(
416:         (SNES)PetscToPointer( (snes) ),iter);
417: }
418: void PETSC_STDCALL snesgetfunctionnorm_(SNES snes,PetscScalar *fnorm, int *ierr ){
419: *SNESGetFunctionNorm(
420:         (SNES)PetscToPointer( (snes) ),fnorm);
421: }
422: void PETSC_STDCALL snesgetnumberunsuccessfulsteps_(SNES snes,int* nfails, int *ierr ){
423: *SNESGetNumberUnsuccessfulSteps(
424:         (SNES)PetscToPointer( (snes) ),nfails);
425: }
426: void PETSC_STDCALL snessetmaximumunsuccessfulsteps_(SNES snes,int *maxFails, int *ierr ){
427: *SNESSetMaximumUnsuccessfulSteps(
428:         (SNES)PetscToPointer( (snes) ),*maxFails);
429: }
430: void PETSC_STDCALL snesgetmaximumunsuccessfulsteps_(SNES snes,int *maxFails, int *ierr ){
431: *SNESGetMaximumUnsuccessfulSteps(
432:         (SNES)PetscToPointer( (snes) ),maxFails);
433: }
434: void PETSC_STDCALL snesgetnumberlineariterations_(SNES snes,int* lits, int *ierr ){
435: *SNESGetNumberLinearIterations(
436:         (SNES)PetscToPointer( (snes) ),lits);
437: }
438: void PETSC_STDCALL snescomputefunction_(SNES snes,Vec x,Vec y, int *ierr ){
439: *SNESComputeFunction(
440:         (SNES)PetscToPointer( (snes) ),
441:         (Vec)PetscToPointer( (x) ),
442:         (Vec)PetscToPointer( (y) ));
443: }
444: void PETSC_STDCALL snescomputejacobian_(SNES snes,Vec X,Mat *A,Mat *B,MatStructure *flg, int *ierr ){
445: *SNESComputeJacobian(
446:         (SNES)PetscToPointer( (snes) ),
447:         (Vec)PetscToPointer( (X) ),A,B,
448:         (MatStructure* )PetscToPointer( (flg) ));
449: }
450: void PETSC_STDCALL snessetup_(SNES snes,Vec x, int *ierr ){
451: *SNESSetUp(
452:         (SNES)PetscToPointer( (snes) ),
453:         (Vec)PetscToPointer( (x) ));
454: }
455: void PETSC_STDCALL snessettolerances_(SNES snes,PetscReal *atol,PetscReal *rtol,PetscReal *stol,int *maxit,int *maxf, int *ierr ){
456: *SNESSetTolerances(
457:         (SNES)PetscToPointer( (snes) ),*atol,*rtol,*stol,*maxit,*maxf);
458: }
459: void PETSC_STDCALL snesgettolerances_(SNES snes,PetscReal *atol,PetscReal *rtol,PetscReal *stol,int *maxit,int *maxf, int *ierr ){
460: *SNESGetTolerances(
461:         (SNES)PetscToPointer( (snes) ),atol,rtol,stol,maxit,maxf);
462: }
463: void PETSC_STDCALL snessettrustregiontolerance_(SNES snes,PetscReal *tol, int *ierr ){
464: *SNESSetTrustRegionTolerance(
465:         (SNES)PetscToPointer( (snes) ),*tol);
466: }
467: void PETSC_STDCALL snessetconvergencehistory_(SNES snes,PetscReal *a,int *its,int *na,PetscTruth *reset, int *ierr ){
468: *SNESSetConvergenceHistory(
469:         (SNES)PetscToPointer( (snes) ),a,its,*na,*reset);
470: }
471: void PETSC_STDCALL snessetrhsbc_(SNES snes,int (*func)(SNES, Vec, void *), int *ierr ){
472: *SNESSetRhsBC(
473:         (SNES)PetscToPointer( (snes) ),func);
474: }
475: void PETSC_STDCALL snesdefaultrhsbc_(SNES snes,Vec rhs,void*ctx, int *ierr ){
476: *SNESDefaultRhsBC(
477:         (SNES)PetscToPointer( (snes) ),
478:         (Vec)PetscToPointer( (rhs) ),ctx);
479: }
480: void PETSC_STDCALL snessetsolutionbc_(SNES snes,int (*func)(SNES, Vec, void *), int *ierr ){
481: *SNESSetSolutionBC(
482:         (SNES)PetscToPointer( (snes) ),func);
483: }
484: void PETSC_STDCALL snesdefaultsolutionbc_(SNES snes,Vec sol,void*ctx, int *ierr ){
485: *SNESDefaultSolutionBC(
486:         (SNES)PetscToPointer( (snes) ),
487:         (Vec)PetscToPointer( (sol) ),ctx);
488: }
489: void PETSC_STDCALL snessetupdate_(SNES snes,int (*func)(SNES, int), int *ierr ){
490: *SNESSetUpdate(
491:         (SNES)PetscToPointer( (snes) ),func);
492: }
493: void PETSC_STDCALL snesdefaultupdate_(SNES snes,int *step, int *ierr ){
494: *SNESDefaultUpdate(
495:         (SNES)PetscToPointer( (snes) ),*step);
496: }
497: void PETSC_STDCALL snessolve_(SNES snes,Vec x,int *its, int *ierr ){
498: *SNESSolve(
499:         (SNES)PetscToPointer( (snes) ),
500:         (Vec)PetscToPointer( (x) ),its);
501: }
502: #if defined(__cplusplus)
503: }
504: #endif