xref: /petsc/src/ts/tests/ex11.c (revision c4762a1b19cd2af06abeed90e8f9d34fb975dd94)
1*c4762a1bSJed Brown static char help[] = "Demonstrates previous memory leak for XXXRegister()\n\n";
2*c4762a1bSJed Brown 
3*c4762a1bSJed Brown #include <petscts.h>
4*c4762a1bSJed Brown #include <petsccharacteristic.h>
5*c4762a1bSJed Brown #include <petscdraw.h>
6*c4762a1bSJed Brown #include <petscdm.h>
7*c4762a1bSJed Brown #include <petscpf.h>
8*c4762a1bSJed Brown #include <petscsf.h>
9*c4762a1bSJed Brown #include <petscao.h>
10*c4762a1bSJed Brown 
11*c4762a1bSJed Brown static PetscErrorCode TSGLLEAdaptCreate_Dummy(TSGLLEAdapt ts)
12*c4762a1bSJed Brown {
13*c4762a1bSJed Brown   PetscFunctionBegin;
14*c4762a1bSJed Brown   PetscFunctionReturn(0);
15*c4762a1bSJed Brown }
16*c4762a1bSJed Brown 
17*c4762a1bSJed Brown static PetscErrorCode TSGLLECreate_Dummy(TS ts)
18*c4762a1bSJed Brown {
19*c4762a1bSJed Brown   PetscFunctionBegin;
20*c4762a1bSJed Brown   PetscFunctionReturn(0);
21*c4762a1bSJed Brown }
22*c4762a1bSJed Brown 
23*c4762a1bSJed Brown static PetscErrorCode TSAdaptCreate_Dummy(TSAdapt ts)
24*c4762a1bSJed Brown {
25*c4762a1bSJed Brown   PetscFunctionBegin;
26*c4762a1bSJed Brown   PetscFunctionReturn(0);
27*c4762a1bSJed Brown }
28*c4762a1bSJed Brown 
29*c4762a1bSJed Brown static PetscErrorCode TSCreate_Dummy(TS ts)
30*c4762a1bSJed Brown {
31*c4762a1bSJed Brown   PetscFunctionBegin;
32*c4762a1bSJed Brown   PetscFunctionReturn(0);
33*c4762a1bSJed Brown }
34*c4762a1bSJed Brown 
35*c4762a1bSJed Brown #if !defined(PETSC_USE_COMPLEX)
36*c4762a1bSJed Brown static PetscErrorCode CharacteristicCreate_Dummy(Characteristic chr)
37*c4762a1bSJed Brown {
38*c4762a1bSJed Brown   PetscFunctionBegin;
39*c4762a1bSJed Brown   PetscFunctionReturn(0);
40*c4762a1bSJed Brown }
41*c4762a1bSJed Brown #endif
42*c4762a1bSJed Brown 
43*c4762a1bSJed Brown static PetscErrorCode SNESLineSearchCreate_Dummy(SNESLineSearch sneslinesearch)
44*c4762a1bSJed Brown {
45*c4762a1bSJed Brown   PetscFunctionBegin;
46*c4762a1bSJed Brown   PetscFunctionReturn(0);
47*c4762a1bSJed Brown }
48*c4762a1bSJed Brown 
49*c4762a1bSJed Brown static PetscErrorCode SNESCreate_Dummy(SNES snes)
50*c4762a1bSJed Brown {
51*c4762a1bSJed Brown   PetscFunctionBegin;
52*c4762a1bSJed Brown   PetscFunctionReturn(0);
53*c4762a1bSJed Brown }
54*c4762a1bSJed Brown 
55*c4762a1bSJed Brown static PetscErrorCode KSPCreate_Dummy(KSP ksp)
56*c4762a1bSJed Brown {
57*c4762a1bSJed Brown   PetscFunctionBegin;
58*c4762a1bSJed Brown   PetscFunctionReturn(0);
59*c4762a1bSJed Brown }
60*c4762a1bSJed Brown 
61*c4762a1bSJed Brown static PetscErrorCode KSPGuessCreate_Dummy(KSPGuess ksp)
62*c4762a1bSJed Brown {
63*c4762a1bSJed Brown   PetscFunctionBegin;
64*c4762a1bSJed Brown   PetscFunctionReturn(0);
65*c4762a1bSJed Brown }
66*c4762a1bSJed Brown 
67*c4762a1bSJed Brown static PetscErrorCode PCCreate_Dummy(PC pc)
68*c4762a1bSJed Brown {
69*c4762a1bSJed Brown   PetscFunctionBegin;
70*c4762a1bSJed Brown   PetscFunctionReturn(0);
71*c4762a1bSJed Brown }
72*c4762a1bSJed Brown 
73*c4762a1bSJed Brown static PetscErrorCode DMCreate_Dummy(DM dm)
74*c4762a1bSJed Brown {
75*c4762a1bSJed Brown   PetscFunctionBegin;
76*c4762a1bSJed Brown   PetscFunctionReturn(0);
77*c4762a1bSJed Brown }
78*c4762a1bSJed Brown 
79*c4762a1bSJed Brown static PetscErrorCode MatOrderingCreate_Dummy(Mat mat,MatOrderingType mtype,IS *isr,IS *isc)
80*c4762a1bSJed Brown {
81*c4762a1bSJed Brown   PetscFunctionBegin;
82*c4762a1bSJed Brown   PetscFunctionReturn(0);
83*c4762a1bSJed Brown }
84*c4762a1bSJed Brown 
85*c4762a1bSJed Brown static PetscErrorCode MatPartitioningCreate_Dummy(MatPartitioning mat)
86*c4762a1bSJed Brown {
87*c4762a1bSJed Brown   PetscFunctionBegin;
88*c4762a1bSJed Brown   PetscFunctionReturn(0);
89*c4762a1bSJed Brown }
90*c4762a1bSJed Brown 
91*c4762a1bSJed Brown static PetscErrorCode MatCreate_Dummy(Mat mat)
92*c4762a1bSJed Brown {
93*c4762a1bSJed Brown   PetscFunctionBegin;
94*c4762a1bSJed Brown   PetscFunctionReturn(0);
95*c4762a1bSJed Brown }
96*c4762a1bSJed Brown 
97*c4762a1bSJed Brown static PetscErrorCode PFCreate_Dummy(PF pf,void *ctx)
98*c4762a1bSJed Brown {
99*c4762a1bSJed Brown   PetscFunctionBegin;
100*c4762a1bSJed Brown   PetscFunctionReturn(0);
101*c4762a1bSJed Brown }
102*c4762a1bSJed Brown 
103*c4762a1bSJed Brown static PetscErrorCode VecCreate_Dummy(Vec vec)
104*c4762a1bSJed Brown {
105*c4762a1bSJed Brown   PetscFunctionBegin;
106*c4762a1bSJed Brown   PetscFunctionReturn(0);
107*c4762a1bSJed Brown }
108*c4762a1bSJed Brown 
109*c4762a1bSJed Brown static PetscErrorCode VecScatterCreate_Dummy(VecScatter vec)
110*c4762a1bSJed Brown {
111*c4762a1bSJed Brown   PetscFunctionBegin;
112*c4762a1bSJed Brown   PetscFunctionReturn(0);
113*c4762a1bSJed Brown }
114*c4762a1bSJed Brown 
115*c4762a1bSJed Brown static PetscErrorCode PetscSFCreate_Dummy(PetscSF sf)
116*c4762a1bSJed Brown {
117*c4762a1bSJed Brown   PetscFunctionBegin;
118*c4762a1bSJed Brown   PetscFunctionReturn(0);
119*c4762a1bSJed Brown }
120*c4762a1bSJed Brown 
121*c4762a1bSJed Brown static PetscErrorCode ISLocalToGlobalMappingCreate_Dummy(ISLocalToGlobalMapping is)
122*c4762a1bSJed Brown {
123*c4762a1bSJed Brown   PetscFunctionBegin;
124*c4762a1bSJed Brown   PetscFunctionReturn(0);
125*c4762a1bSJed Brown }
126*c4762a1bSJed Brown 
127*c4762a1bSJed Brown static PetscErrorCode ISCreate_Dummy(IS is)
128*c4762a1bSJed Brown {
129*c4762a1bSJed Brown   PetscFunctionBegin;
130*c4762a1bSJed Brown   PetscFunctionReturn(0);
131*c4762a1bSJed Brown }
132*c4762a1bSJed Brown 
133*c4762a1bSJed Brown static PetscErrorCode AOCreate_Dummy(AO ao)
134*c4762a1bSJed Brown {
135*c4762a1bSJed Brown   PetscFunctionBegin;
136*c4762a1bSJed Brown   PetscFunctionReturn(0);
137*c4762a1bSJed Brown }
138*c4762a1bSJed Brown 
139*c4762a1bSJed Brown static PetscErrorCode PetscDrawCreate_Dummy(PetscDraw draw)
140*c4762a1bSJed Brown {
141*c4762a1bSJed Brown   PetscFunctionBegin;
142*c4762a1bSJed Brown   PetscFunctionReturn(0);
143*c4762a1bSJed Brown }
144*c4762a1bSJed Brown 
145*c4762a1bSJed Brown static PetscErrorCode PetscViewerCreate_Dummy(PetscViewer viewer)
146*c4762a1bSJed Brown {
147*c4762a1bSJed Brown   PetscFunctionBegin;
148*c4762a1bSJed Brown   PetscFunctionReturn(0);
149*c4762a1bSJed Brown }
150*c4762a1bSJed Brown 
151*c4762a1bSJed Brown static PetscErrorCode PetscRandomCreate_Dummy(PetscRandom arand)
152*c4762a1bSJed Brown {
153*c4762a1bSJed Brown   PetscFunctionBegin;
154*c4762a1bSJed Brown   PetscFunctionReturn(0);
155*c4762a1bSJed Brown }
156*c4762a1bSJed Brown 
157*c4762a1bSJed Brown int main(int argc,char **argv)
158*c4762a1bSJed Brown {
159*c4762a1bSJed Brown   PetscErrorCode ierr;
160*c4762a1bSJed Brown   PetscReal      A[1],Gamma[1] = {1.0},b[1],c[1],d[1];
161*c4762a1bSJed Brown 
162*c4762a1bSJed Brown   ierr = PetscInitialize(&argc,&argv,(char*)0,help);if (ierr) return ierr;
163*c4762a1bSJed Brown   /* TaoLineSearchRegister() also has the same memory leak */
164*c4762a1bSJed Brown   /* TaoRegister() also has the same memory leak */
165*c4762a1bSJed Brown   ierr = TSGLLEAdaptRegister("dummy",TSGLLEAdaptCreate_Dummy);CHKERRQ(ierr);
166*c4762a1bSJed Brown   ierr = TSGLLERegister("dummy",TSGLLECreate_Dummy);CHKERRQ(ierr);
167*c4762a1bSJed Brown   ierr = TSRKRegister("dummy",0,0,A,0,0,0,0,0);CHKERRQ(ierr);
168*c4762a1bSJed Brown   ierr = TSGLEERegister("dummy",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);CHKERRQ(ierr);
169*c4762a1bSJed Brown   ierr = TSARKIMEXRegister("dummy",0,0,0,0,0,0,0,0,0,0,0,0,0);CHKERRQ(ierr);
170*c4762a1bSJed Brown   ierr = TSRosWRegister("dummy",0,1,A,Gamma,b,0,0,0);CHKERRQ(ierr);
171*c4762a1bSJed Brown   ierr = TSBasicSymplecticRegister("dummy",0,0,c,d);CHKERRQ(ierr);
172*c4762a1bSJed Brown   ierr = TSAdaptRegister("dummy",TSAdaptCreate_Dummy);CHKERRQ(ierr);
173*c4762a1bSJed Brown   ierr = TSRegister("dummy",TSCreate_Dummy);CHKERRQ(ierr);
174*c4762a1bSJed Brown #if !defined(PETSC_USE_COMPLEX)
175*c4762a1bSJed Brown   ierr = CharacteristicRegister("dummy",CharacteristicCreate_Dummy);CHKERRQ(ierr);
176*c4762a1bSJed Brown #endif
177*c4762a1bSJed Brown   ierr = SNESLineSearchRegister("dummy",SNESLineSearchCreate_Dummy);CHKERRQ(ierr);
178*c4762a1bSJed Brown   ierr = SNESRegister("dummy",SNESCreate_Dummy);CHKERRQ(ierr);
179*c4762a1bSJed Brown   ierr = KSPGuessRegister("dummy",KSPGuessCreate_Dummy);CHKERRQ(ierr);
180*c4762a1bSJed Brown   ierr = KSPRegister("dummy",KSPCreate_Dummy);CHKERRQ(ierr);
181*c4762a1bSJed Brown   ierr = PCRegister("dummy",PCCreate_Dummy);CHKERRQ(ierr);
182*c4762a1bSJed Brown   ierr = DMRegister("dummy",DMCreate_Dummy);CHKERRQ(ierr);
183*c4762a1bSJed Brown   ierr = MatOrderingRegister("dummy",MatOrderingCreate_Dummy);CHKERRQ(ierr);
184*c4762a1bSJed Brown   ierr = MatPartitioningRegister("dummy",MatPartitioningCreate_Dummy);CHKERRQ(ierr);
185*c4762a1bSJed Brown   ierr = MatRegister("dummy",MatCreate_Dummy);CHKERRQ(ierr);
186*c4762a1bSJed Brown   ierr = PFRegister("dummy",PFCreate_Dummy);CHKERRQ(ierr);
187*c4762a1bSJed Brown   ierr = VecScatterRegister("dummy",VecScatterCreate_Dummy);CHKERRQ(ierr);
188*c4762a1bSJed Brown   ierr = VecRegister("dummy",VecCreate_Dummy);CHKERRQ(ierr);
189*c4762a1bSJed Brown   ierr = PetscSFRegister("dummy",PetscSFCreate_Dummy);CHKERRQ(ierr);
190*c4762a1bSJed Brown   ierr = ISLocalToGlobalMappingRegister("dummy",ISLocalToGlobalMappingCreate_Dummy);CHKERRQ(ierr);
191*c4762a1bSJed Brown   ierr = ISRegister("dummy",ISCreate_Dummy);CHKERRQ(ierr);
192*c4762a1bSJed Brown   ierr = AORegister("dummy",AOCreate_Dummy);CHKERRQ(ierr);
193*c4762a1bSJed Brown   ierr = PetscDrawRegister("dummy",PetscDrawCreate_Dummy);CHKERRQ(ierr);
194*c4762a1bSJed Brown   ierr = PetscViewerRegister("dummy",PetscViewerCreate_Dummy);CHKERRQ(ierr);
195*c4762a1bSJed Brown   ierr = PetscRandomRegister("dummy",PetscRandomCreate_Dummy);CHKERRQ(ierr);
196*c4762a1bSJed Brown   ierr = PetscFinalize();
197*c4762a1bSJed Brown   return ierr;
198*c4762a1bSJed Brown }
199*c4762a1bSJed Brown 
200*c4762a1bSJed Brown /*TEST
201*c4762a1bSJed Brown 
202*c4762a1bSJed Brown    test:
203*c4762a1bSJed Brown 
204*c4762a1bSJed Brown TEST*/
205*c4762a1bSJed Brown 
206