xref: /petsc/src/ts/tests/ex11.c (revision d71ae5a4db6382e7f06317b8d368875286fe9008)
1c4762a1bSJed Brown static char help[] = "Demonstrates previous memory leak for XXXRegister()\n\n";
2c4762a1bSJed Brown 
3c4762a1bSJed Brown #include <petscts.h>
4c4762a1bSJed Brown #include <petsccharacteristic.h>
5c4762a1bSJed Brown #include <petscdraw.h>
6c4762a1bSJed Brown #include <petscdm.h>
7c4762a1bSJed Brown #include <petscpf.h>
8c4762a1bSJed Brown #include <petscsf.h>
9c4762a1bSJed Brown #include <petscao.h>
10c4762a1bSJed Brown 
11*d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSGLLEAdaptCreate_Dummy(TSGLLEAdapt ts)
12*d71ae5a4SJacob Faibussowitsch {
137510d9b0SBarry Smith   PetscFunctionBeginUser;
14c4762a1bSJed Brown   PetscFunctionReturn(0);
15c4762a1bSJed Brown }
16c4762a1bSJed Brown 
17*d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSGLLECreate_Dummy(TS ts)
18*d71ae5a4SJacob Faibussowitsch {
197510d9b0SBarry Smith   PetscFunctionBeginUser;
20c4762a1bSJed Brown   PetscFunctionReturn(0);
21c4762a1bSJed Brown }
22c4762a1bSJed Brown 
23*d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSAdaptCreate_Dummy(TSAdapt ts)
24*d71ae5a4SJacob Faibussowitsch {
257510d9b0SBarry Smith   PetscFunctionBeginUser;
26c4762a1bSJed Brown   PetscFunctionReturn(0);
27c4762a1bSJed Brown }
28c4762a1bSJed Brown 
29*d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSCreate_Dummy(TS ts)
30*d71ae5a4SJacob Faibussowitsch {
317510d9b0SBarry Smith   PetscFunctionBeginUser;
32c4762a1bSJed Brown   PetscFunctionReturn(0);
33c4762a1bSJed Brown }
34c4762a1bSJed Brown 
35c4762a1bSJed Brown #if !defined(PETSC_USE_COMPLEX)
36*d71ae5a4SJacob Faibussowitsch static PetscErrorCode CharacteristicCreate_Dummy(Characteristic chr)
37*d71ae5a4SJacob Faibussowitsch {
387510d9b0SBarry Smith   PetscFunctionBeginUser;
39c4762a1bSJed Brown   PetscFunctionReturn(0);
40c4762a1bSJed Brown }
41c4762a1bSJed Brown #endif
42c4762a1bSJed Brown 
43*d71ae5a4SJacob Faibussowitsch static PetscErrorCode SNESLineSearchCreate_Dummy(SNESLineSearch sneslinesearch)
44*d71ae5a4SJacob Faibussowitsch {
457510d9b0SBarry Smith   PetscFunctionBeginUser;
46c4762a1bSJed Brown   PetscFunctionReturn(0);
47c4762a1bSJed Brown }
48c4762a1bSJed Brown 
49*d71ae5a4SJacob Faibussowitsch static PetscErrorCode SNESCreate_Dummy(SNES snes)
50*d71ae5a4SJacob Faibussowitsch {
517510d9b0SBarry Smith   PetscFunctionBeginUser;
52c4762a1bSJed Brown   PetscFunctionReturn(0);
53c4762a1bSJed Brown }
54c4762a1bSJed Brown 
55*d71ae5a4SJacob Faibussowitsch static PetscErrorCode KSPCreate_Dummy(KSP ksp)
56*d71ae5a4SJacob Faibussowitsch {
577510d9b0SBarry Smith   PetscFunctionBeginUser;
58c4762a1bSJed Brown   PetscFunctionReturn(0);
59c4762a1bSJed Brown }
60c4762a1bSJed Brown 
61*d71ae5a4SJacob Faibussowitsch static PetscErrorCode KSPGuessCreate_Dummy(KSPGuess ksp)
62*d71ae5a4SJacob Faibussowitsch {
637510d9b0SBarry Smith   PetscFunctionBeginUser;
64c4762a1bSJed Brown   PetscFunctionReturn(0);
65c4762a1bSJed Brown }
66c4762a1bSJed Brown 
67*d71ae5a4SJacob Faibussowitsch static PetscErrorCode PCCreate_Dummy(PC pc)
68*d71ae5a4SJacob Faibussowitsch {
697510d9b0SBarry Smith   PetscFunctionBeginUser;
70c4762a1bSJed Brown   PetscFunctionReturn(0);
71c4762a1bSJed Brown }
72c4762a1bSJed Brown 
73*d71ae5a4SJacob Faibussowitsch static PetscErrorCode DMCreate_Dummy(DM dm)
74*d71ae5a4SJacob Faibussowitsch {
757510d9b0SBarry Smith   PetscFunctionBeginUser;
76c4762a1bSJed Brown   PetscFunctionReturn(0);
77c4762a1bSJed Brown }
78c4762a1bSJed Brown 
79*d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatOrderingCreate_Dummy(Mat mat, MatOrderingType mtype, IS *isr, IS *isc)
80*d71ae5a4SJacob Faibussowitsch {
817510d9b0SBarry Smith   PetscFunctionBeginUser;
82c4762a1bSJed Brown   PetscFunctionReturn(0);
83c4762a1bSJed Brown }
84c4762a1bSJed Brown 
85*d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatPartitioningCreate_Dummy(MatPartitioning mat)
86*d71ae5a4SJacob Faibussowitsch {
877510d9b0SBarry Smith   PetscFunctionBeginUser;
88c4762a1bSJed Brown   PetscFunctionReturn(0);
89c4762a1bSJed Brown }
90c4762a1bSJed Brown 
91*d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatCreate_Dummy(Mat mat)
92*d71ae5a4SJacob Faibussowitsch {
937510d9b0SBarry Smith   PetscFunctionBeginUser;
94c4762a1bSJed Brown   PetscFunctionReturn(0);
95c4762a1bSJed Brown }
96c4762a1bSJed Brown 
97*d71ae5a4SJacob Faibussowitsch static PetscErrorCode PFCreate_Dummy(PF pf, void *ctx)
98*d71ae5a4SJacob Faibussowitsch {
997510d9b0SBarry Smith   PetscFunctionBeginUser;
100c4762a1bSJed Brown   PetscFunctionReturn(0);
101c4762a1bSJed Brown }
102c4762a1bSJed Brown 
103*d71ae5a4SJacob Faibussowitsch static PetscErrorCode VecCreate_Dummy(Vec vec)
104*d71ae5a4SJacob Faibussowitsch {
1057510d9b0SBarry Smith   PetscFunctionBeginUser;
106c4762a1bSJed Brown   PetscFunctionReturn(0);
107c4762a1bSJed Brown }
108c4762a1bSJed Brown 
109*d71ae5a4SJacob Faibussowitsch static PetscErrorCode VecScatterCreate_Dummy(VecScatter vec)
110*d71ae5a4SJacob Faibussowitsch {
1117510d9b0SBarry Smith   PetscFunctionBeginUser;
112c4762a1bSJed Brown   PetscFunctionReturn(0);
113c4762a1bSJed Brown }
114c4762a1bSJed Brown 
115*d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscSFCreate_Dummy(PetscSF sf)
116*d71ae5a4SJacob Faibussowitsch {
1177510d9b0SBarry Smith   PetscFunctionBeginUser;
118c4762a1bSJed Brown   PetscFunctionReturn(0);
119c4762a1bSJed Brown }
120c4762a1bSJed Brown 
121*d71ae5a4SJacob Faibussowitsch static PetscErrorCode ISLocalToGlobalMappingCreate_Dummy(ISLocalToGlobalMapping is)
122*d71ae5a4SJacob Faibussowitsch {
1237510d9b0SBarry Smith   PetscFunctionBeginUser;
124c4762a1bSJed Brown   PetscFunctionReturn(0);
125c4762a1bSJed Brown }
126c4762a1bSJed Brown 
127*d71ae5a4SJacob Faibussowitsch static PetscErrorCode ISCreate_Dummy(IS is)
128*d71ae5a4SJacob Faibussowitsch {
1297510d9b0SBarry Smith   PetscFunctionBeginUser;
130c4762a1bSJed Brown   PetscFunctionReturn(0);
131c4762a1bSJed Brown }
132c4762a1bSJed Brown 
133*d71ae5a4SJacob Faibussowitsch static PetscErrorCode AOCreate_Dummy(AO ao)
134*d71ae5a4SJacob Faibussowitsch {
1357510d9b0SBarry Smith   PetscFunctionBeginUser;
136c4762a1bSJed Brown   PetscFunctionReturn(0);
137c4762a1bSJed Brown }
138c4762a1bSJed Brown 
139*d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscDrawCreate_Dummy(PetscDraw draw)
140*d71ae5a4SJacob Faibussowitsch {
1417510d9b0SBarry Smith   PetscFunctionBeginUser;
142c4762a1bSJed Brown   PetscFunctionReturn(0);
143c4762a1bSJed Brown }
144c4762a1bSJed Brown 
145*d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscViewerCreate_Dummy(PetscViewer viewer)
146*d71ae5a4SJacob Faibussowitsch {
1477510d9b0SBarry Smith   PetscFunctionBeginUser;
148c4762a1bSJed Brown   PetscFunctionReturn(0);
149c4762a1bSJed Brown }
150c4762a1bSJed Brown 
151*d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscRandomCreate_Dummy(PetscRandom arand)
152*d71ae5a4SJacob Faibussowitsch {
1537510d9b0SBarry Smith   PetscFunctionBeginUser;
154c4762a1bSJed Brown   PetscFunctionReturn(0);
155c4762a1bSJed Brown }
156c4762a1bSJed Brown 
157*d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv)
158*d71ae5a4SJacob Faibussowitsch {
159c4762a1bSJed Brown   PetscReal A[1], Gamma[1] = {1.0}, b[1], c[1], d[1];
160c4762a1bSJed Brown 
161327415f7SBarry Smith   PetscFunctionBeginUser;
1629566063dSJacob Faibussowitsch   PetscCall(PetscInitialize(&argc, &argv, (char *)0, help));
163c4762a1bSJed Brown   /* TaoLineSearchRegister() also has the same memory leak */
164c4762a1bSJed Brown   /* TaoRegister() also has the same memory leak */
1659566063dSJacob Faibussowitsch   PetscCall(TSGLLEAdaptRegister("dummy", TSGLLEAdaptCreate_Dummy));
1669566063dSJacob Faibussowitsch   PetscCall(TSGLLERegister("dummy", TSGLLECreate_Dummy));
1679566063dSJacob Faibussowitsch   PetscCall(TSRKRegister("dummy", 0, 0, A, 0, 0, 0, 0, 0));
1689566063dSJacob Faibussowitsch   PetscCall(TSGLEERegister("dummy", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
1699566063dSJacob Faibussowitsch   PetscCall(TSARKIMEXRegister("dummy", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
1709566063dSJacob Faibussowitsch   PetscCall(TSRosWRegister("dummy", 0, 1, A, Gamma, b, 0, 0, 0));
1719566063dSJacob Faibussowitsch   PetscCall(TSBasicSymplecticRegister("dummy", 0, 0, c, d));
1729566063dSJacob Faibussowitsch   PetscCall(TSAdaptRegister("dummy", TSAdaptCreate_Dummy));
1739566063dSJacob Faibussowitsch   PetscCall(TSRegister("dummy", TSCreate_Dummy));
174c4762a1bSJed Brown #if !defined(PETSC_USE_COMPLEX)
1759566063dSJacob Faibussowitsch   PetscCall(CharacteristicRegister("dummy", CharacteristicCreate_Dummy));
176c4762a1bSJed Brown #endif
1779566063dSJacob Faibussowitsch   PetscCall(SNESLineSearchRegister("dummy", SNESLineSearchCreate_Dummy));
1789566063dSJacob Faibussowitsch   PetscCall(SNESRegister("dummy", SNESCreate_Dummy));
1799566063dSJacob Faibussowitsch   PetscCall(KSPGuessRegister("dummy", KSPGuessCreate_Dummy));
1809566063dSJacob Faibussowitsch   PetscCall(KSPRegister("dummy", KSPCreate_Dummy));
1819566063dSJacob Faibussowitsch   PetscCall(PCRegister("dummy", PCCreate_Dummy));
1829566063dSJacob Faibussowitsch   PetscCall(DMRegister("dummy", DMCreate_Dummy));
1839566063dSJacob Faibussowitsch   PetscCall(MatOrderingRegister("dummy", MatOrderingCreate_Dummy));
1849566063dSJacob Faibussowitsch   PetscCall(MatPartitioningRegister("dummy", MatPartitioningCreate_Dummy));
1859566063dSJacob Faibussowitsch   PetscCall(MatRegister("dummy", MatCreate_Dummy));
1869566063dSJacob Faibussowitsch   PetscCall(PFRegister("dummy", PFCreate_Dummy));
1879566063dSJacob Faibussowitsch   PetscCall(VecScatterRegister("dummy", VecScatterCreate_Dummy));
1889566063dSJacob Faibussowitsch   PetscCall(VecRegister("dummy", VecCreate_Dummy));
1899566063dSJacob Faibussowitsch   PetscCall(PetscSFRegister("dummy", PetscSFCreate_Dummy));
1909566063dSJacob Faibussowitsch   PetscCall(ISLocalToGlobalMappingRegister("dummy", ISLocalToGlobalMappingCreate_Dummy));
1919566063dSJacob Faibussowitsch   PetscCall(ISRegister("dummy", ISCreate_Dummy));
1929566063dSJacob Faibussowitsch   PetscCall(AORegister("dummy", AOCreate_Dummy));
1939566063dSJacob Faibussowitsch   PetscCall(PetscDrawRegister("dummy", PetscDrawCreate_Dummy));
1949566063dSJacob Faibussowitsch   PetscCall(PetscViewerRegister("dummy", PetscViewerCreate_Dummy));
1959566063dSJacob Faibussowitsch   PetscCall(PetscRandomRegister("dummy", PetscRandomCreate_Dummy));
1969566063dSJacob Faibussowitsch   PetscCall(PetscFinalize());
197b122ec5aSJacob Faibussowitsch   return 0;
198c4762a1bSJed Brown }
199c4762a1bSJed Brown 
200c4762a1bSJed Brown /*TEST
201c4762a1bSJed Brown 
202c4762a1bSJed Brown    test:
203c4762a1bSJed Brown 
204c4762a1bSJed Brown TEST*/
205