xref: /petsc/src/ts/tests/ex11.c (revision 3ba1676111f5c958fe6c2729b46ca4d523958bb3)
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 
11d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSGLLEAdaptCreate_Dummy(TSGLLEAdapt ts)
12d71ae5a4SJacob Faibussowitsch {
137510d9b0SBarry Smith   PetscFunctionBeginUser;
14*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
15c4762a1bSJed Brown }
16c4762a1bSJed Brown 
17d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSGLLECreate_Dummy(TS ts)
18d71ae5a4SJacob Faibussowitsch {
197510d9b0SBarry Smith   PetscFunctionBeginUser;
20*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
21c4762a1bSJed Brown }
22c4762a1bSJed Brown 
23d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSAdaptCreate_Dummy(TSAdapt ts)
24d71ae5a4SJacob Faibussowitsch {
257510d9b0SBarry Smith   PetscFunctionBeginUser;
26*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
27c4762a1bSJed Brown }
28c4762a1bSJed Brown 
29d71ae5a4SJacob Faibussowitsch static PetscErrorCode TSCreate_Dummy(TS ts)
30d71ae5a4SJacob Faibussowitsch {
317510d9b0SBarry Smith   PetscFunctionBeginUser;
32*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
33c4762a1bSJed Brown }
34c4762a1bSJed Brown 
35c4762a1bSJed Brown #if !defined(PETSC_USE_COMPLEX)
36d71ae5a4SJacob Faibussowitsch static PetscErrorCode CharacteristicCreate_Dummy(Characteristic chr)
37d71ae5a4SJacob Faibussowitsch {
387510d9b0SBarry Smith   PetscFunctionBeginUser;
39*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
40c4762a1bSJed Brown }
41c4762a1bSJed Brown #endif
42c4762a1bSJed Brown 
43d71ae5a4SJacob Faibussowitsch static PetscErrorCode SNESLineSearchCreate_Dummy(SNESLineSearch sneslinesearch)
44d71ae5a4SJacob Faibussowitsch {
457510d9b0SBarry Smith   PetscFunctionBeginUser;
46*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
47c4762a1bSJed Brown }
48c4762a1bSJed Brown 
49d71ae5a4SJacob Faibussowitsch static PetscErrorCode SNESCreate_Dummy(SNES snes)
50d71ae5a4SJacob Faibussowitsch {
517510d9b0SBarry Smith   PetscFunctionBeginUser;
52*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
53c4762a1bSJed Brown }
54c4762a1bSJed Brown 
55d71ae5a4SJacob Faibussowitsch static PetscErrorCode KSPCreate_Dummy(KSP ksp)
56d71ae5a4SJacob Faibussowitsch {
577510d9b0SBarry Smith   PetscFunctionBeginUser;
58*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
59c4762a1bSJed Brown }
60c4762a1bSJed Brown 
61d71ae5a4SJacob Faibussowitsch static PetscErrorCode KSPGuessCreate_Dummy(KSPGuess ksp)
62d71ae5a4SJacob Faibussowitsch {
637510d9b0SBarry Smith   PetscFunctionBeginUser;
64*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
65c4762a1bSJed Brown }
66c4762a1bSJed Brown 
67d71ae5a4SJacob Faibussowitsch static PetscErrorCode PCCreate_Dummy(PC pc)
68d71ae5a4SJacob Faibussowitsch {
697510d9b0SBarry Smith   PetscFunctionBeginUser;
70*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
71c4762a1bSJed Brown }
72c4762a1bSJed Brown 
73d71ae5a4SJacob Faibussowitsch static PetscErrorCode DMCreate_Dummy(DM dm)
74d71ae5a4SJacob Faibussowitsch {
757510d9b0SBarry Smith   PetscFunctionBeginUser;
76*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
77c4762a1bSJed Brown }
78c4762a1bSJed Brown 
79d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatOrderingCreate_Dummy(Mat mat, MatOrderingType mtype, IS *isr, IS *isc)
80d71ae5a4SJacob Faibussowitsch {
817510d9b0SBarry Smith   PetscFunctionBeginUser;
82*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
83c4762a1bSJed Brown }
84c4762a1bSJed Brown 
85d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatPartitioningCreate_Dummy(MatPartitioning mat)
86d71ae5a4SJacob Faibussowitsch {
877510d9b0SBarry Smith   PetscFunctionBeginUser;
88*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
89c4762a1bSJed Brown }
90c4762a1bSJed Brown 
91d71ae5a4SJacob Faibussowitsch static PetscErrorCode MatCreate_Dummy(Mat mat)
92d71ae5a4SJacob Faibussowitsch {
937510d9b0SBarry Smith   PetscFunctionBeginUser;
94*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
95c4762a1bSJed Brown }
96c4762a1bSJed Brown 
97d71ae5a4SJacob Faibussowitsch static PetscErrorCode PFCreate_Dummy(PF pf, void *ctx)
98d71ae5a4SJacob Faibussowitsch {
997510d9b0SBarry Smith   PetscFunctionBeginUser;
100*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
101c4762a1bSJed Brown }
102c4762a1bSJed Brown 
103d71ae5a4SJacob Faibussowitsch static PetscErrorCode VecCreate_Dummy(Vec vec)
104d71ae5a4SJacob Faibussowitsch {
1057510d9b0SBarry Smith   PetscFunctionBeginUser;
106*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
107c4762a1bSJed Brown }
108c4762a1bSJed Brown 
109d71ae5a4SJacob Faibussowitsch static PetscErrorCode VecScatterCreate_Dummy(VecScatter vec)
110d71ae5a4SJacob Faibussowitsch {
1117510d9b0SBarry Smith   PetscFunctionBeginUser;
112*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
113c4762a1bSJed Brown }
114c4762a1bSJed Brown 
115d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscSFCreate_Dummy(PetscSF sf)
116d71ae5a4SJacob Faibussowitsch {
1177510d9b0SBarry Smith   PetscFunctionBeginUser;
118*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
119c4762a1bSJed Brown }
120c4762a1bSJed Brown 
121d71ae5a4SJacob Faibussowitsch static PetscErrorCode ISLocalToGlobalMappingCreate_Dummy(ISLocalToGlobalMapping is)
122d71ae5a4SJacob Faibussowitsch {
1237510d9b0SBarry Smith   PetscFunctionBeginUser;
124*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
125c4762a1bSJed Brown }
126c4762a1bSJed Brown 
127d71ae5a4SJacob Faibussowitsch static PetscErrorCode ISCreate_Dummy(IS is)
128d71ae5a4SJacob Faibussowitsch {
1297510d9b0SBarry Smith   PetscFunctionBeginUser;
130*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
131c4762a1bSJed Brown }
132c4762a1bSJed Brown 
133d71ae5a4SJacob Faibussowitsch static PetscErrorCode AOCreate_Dummy(AO ao)
134d71ae5a4SJacob Faibussowitsch {
1357510d9b0SBarry Smith   PetscFunctionBeginUser;
136*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
137c4762a1bSJed Brown }
138c4762a1bSJed Brown 
139d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscDrawCreate_Dummy(PetscDraw draw)
140d71ae5a4SJacob Faibussowitsch {
1417510d9b0SBarry Smith   PetscFunctionBeginUser;
142*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
143c4762a1bSJed Brown }
144c4762a1bSJed Brown 
145d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscViewerCreate_Dummy(PetscViewer viewer)
146d71ae5a4SJacob Faibussowitsch {
1477510d9b0SBarry Smith   PetscFunctionBeginUser;
148*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
149c4762a1bSJed Brown }
150c4762a1bSJed Brown 
151d71ae5a4SJacob Faibussowitsch static PetscErrorCode PetscRandomCreate_Dummy(PetscRandom arand)
152d71ae5a4SJacob Faibussowitsch {
1537510d9b0SBarry Smith   PetscFunctionBeginUser;
154*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
155c4762a1bSJed Brown }
156c4762a1bSJed Brown 
157d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv)
158d71ae5a4SJacob 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