# [petsc-dev] current snes and ts tutorials

Barry Smith bsmith at mcs.anl.gov
Thu Sep 20 17:56:56 CDT 2012

A hodgepodge of ok and bad nonlinear and ODE examples.  I've tried to remove the most duplicative and irrelevant methods.

I'm trying to think of how we can organize and present these in a good way beginning users, presently it is just a swamp that people wander into.

Barry

Barrys-MacBook-Pro:tutorials barrysmith\$ grep help *.c | grep static | sed s/ex//g | sort -n
1.c:static char help[] = "Newton's method for a two-variable system, sequential.\n\n";
2.c:static char help[] = "Newton method to solve u'' + u^{2} = f, sequentially.\n\
3.c:static char help[] = "Newton methods to solve u'' + u^{2} = f in parallel.\n\
4.c:static char help[] = "Solves the Lane-Emden equation in a 2D rectangular\n\
5.c:static char help[] = "Bratu nonlinear PDE in 2d.\n\
5aspin.c:static char help[] = "Bratu nonlinear PDE in 2d.\n\
5s.c:static char help[] = "2d Bratu problem in shared memory parallel with SNES.\n\
7.c:static char help[] = "Solves the Stokes equation in a 2D rectangular\n\
8.c:static char help[] = "Solves the Bratu equation in a 2D rectangular\n\
9.c:static const char help[] = "Solves obstacle problem in 2D as a variational inequality.\n\
10.c:static const char help[] = "Uses analytic Jacobians to solve individual problems and a coupled problem.\n\n";
12.c:static char help[] = "Bratu nonlinear PDE in 2d.\n\
14.c:static char help[] = "Bratu nonlinear PDE in 3d.\n\
15.c:static const char help[] = "p-Bratu nonlinear PDE in 2d.\n\
18.c:static char help[] ="Nonlinear Radiative Transport PDE with multigrid in 2d.\n\
19.c:static char help[] = "Nonlinear driven cavity with multigrid in 2d.\n\
20.c:static char help[] ="Nonlinear Radiative Transport PDE with multigrid in 3d.\n\
21.c:static const char help[] = "Solves PDE optimization problem using full-space method, treats state and adjoint variables separately.\n\n";
22.c:static const char help[] = "Solves PDE optimization problem using full-space method, interlaces state and adjoint variables.\n\n";
25.c:static const char help[] ="Minimum surface problem in 2D.\n\
28.c:static const char help[] = "1D multiphysics prototype with analytic Jacobians to solve individual problems and a coupled problem.\n\n";
30.c:static const char help[] = "Steady-state 2D subduction flow, pressure and temperature solver.\n\
31.c:static char help[] = "Stokes Problem in 2d and 3d with simplicial finite elements.\n\
33.c:static char help[] = "Multiphase flow in a porous medium in 1d.\n\n";
35.c:static const char help[] = "-Laplacian u = b as a nonlinear problem.\n\n";
42.c:static char help[] = "Newton's method to solve a two-variable system that comes from the Rosenbrock function.\n\n";
43.c:static char help[] = "Newton's method to solve a many-variable system that comes from the 2 variable Rosenbrock function + trivial.\n\n";
46.c:static char help[] = "Surface processes in geophysics.\n\n";
48.c:static const char help[] = "Toy hydrostatic ice flow with multigrid in 3D.\n\
52.c:static const char help[] = "Testbed for FEM operations on the GPU.\n\n";
53.c:static const char help[] = "Read linear variational inequality from file and solve it.\n\n";
54.c:static char help[] = "Cahn-Hilliard-2d problem for constant mobility and triangular elements.\n\
55.c:static char help[] = "Allen-Cahn-2d problem for constant mobility and triangular elements.\n\
56.c:static char help[] = "Stokes Problem in 2d and 3d with simplicial finite elements.\n\
57.c:static char help[] = "Stokes Problem in 2d and 3d with hahedral finite elements.\n\
58.c:static const char help[] = "Parallel version of the minimum surface area problem in 2D using DMDA.\n\
59.c:static const char help[] = "Tries to solve u`` + u^{2} = f for an easy case and an impossible case.\n\n";
60.c:static char help[] = "2D coupled Allen-Cahn and Cahn-Hilliard equation for constant mobility and triangular elements.\n\
61.c:static char help[] = "2D coupled Allen-Cahn and Cahn-Hilliard equation for constant mobility and triangular elements. Use periodic boundary condidtions.\n\
61gen.c:static char help[] = "Generates random numbers for radioactive events for 61.c.\n ./61gen [-random_seed <int>] \n";
61view.c:static const char help[] = "Loads data generated by 61 and VTK file suitable for Paraview or Visit.\n\n";
62.c:static char help[] = "Stokes Problem in 2d and 3d with simplicial finite elements.\n\
63.c:static char help[] = "1D coupled Allen-Cahn and Cahn-Hilliard equation for degenerate mobility and triangular elements.\n\
64.c:static char help[] = "1D coupled Allen-Cahn and Cahn-Hilliard equation for constant mobility. Only c_v and eta are considered.\n\
65.c:static char help[] = "2D coupled Allen-Cahn and Cahn-Hilliard equation for constant mobility. Only c_v and eta are considered.\n\
67.c:static char help[] = "Simple test for using advanced discretizations with DMDA\n\n\n";
70.c:static char help[] = "Poiseuille flow problem. Viscous, laminar flow in a 2D channel with parabolic velocity\n\
72.c:static char help[] = "Stokes Problem in 2d and 3d with hhedral finite elements.\n\
633D_DB.c:static char help[] = "3D coupled Allen-Cahn and Cahn-Hilliard equation for degenerate mobility and triangular elements.\n\
653D.c:static char help[] = "3D coupled Allen-Cahn and Cahn-Hilliard equation for constant mobility. Only c_v and eta are considered.\n\

Barrys-MacBook-Pro:tutorials barrysmith\$ grep help *.c | grep static | sed s/ex//g | sort -n
1.c:static char help[] ="Solves the time independent Bratu problem using pseudo-timestepping.";
2.c:static char help[] ="Solves a time-dependent nonlinear PDE. Uses implicit\n\
3.c:static char help[] ="Solves a simple time-dependent linear PDE (the heat equation).\n\
4.c:static char help[] ="Solves a simple time-dependent linear PDE (the heat equation).\n\
5.c:static char help[] ="Solves a simple time-dependent linear PDE (the heat equation).\n\
6.c:static char help[] ="Solves a simple time-dependent linear PDE (the heat equation).\n\
7.c:static char help[] = "Nonlinear, time-dependent PDE in 2d.\n";
8.c:static char help[] = "Nonlinear DAE benchmark problems.\n";
9.c:static const char help[] = "1D periodic Finite Volume solver in slope-limiter form with semidiscrete time stepping.\n"
10.c:static const char help[] = "1D nonequilibrium radiation diffusion with Saha ionization model.\n\n";
12.c:static char help[] = "Nonlinear, time-dependent PDE in 2d.\n";
13.c:static char help[] = "Time-dependent PDE in 2d. Simplified from 7.c for illustrating how to use TS on a structured domain. \n";
14.c:static const char help[] = "Toy hydrostatic ice flow with multigrid in 3D.\n\
15.c:static char help[] = "Time-dependent PDE in 2d. Modified from 13.c for illustrating how to solve DAEs. \n";
16.c:static char help[] = "Solves the van der Pol equation.\n\
17.c:static const char help[] = "Time-dependent PDE in 1d. Simplified from 15.c for illustrating how to solve DAEs. \n";
18.c:static const char help[] = "Isogeometric analysis of isothermal Navier-Stokes-Korteweg in 2D.";
19.c:static char help[] = "Solves the van der Pol DAE.\n\
20.c:static char help[] = "Solves the van der Pol equation.\n\
21.c:static char help[] ="Solves a time-dependent nonlinear PDE with lower and upper bounds on the interior grid points. Uses implicit\n\
22.c:static const char help[] = "Time-dependent advection-reaction PDE in 1d, demonstrates IMEX methods.\n";
23.c:static char help[] = "Cahn-Hilliard-2d problem for constant mobility and triangular elements.\n\
24.c:static char help[] = "Pseudotransient continuation to solve a many-variable system that comes from the 2 variable Rosenbrock function + trivial.\n\n";
25.c:static const char help[] = "Time-dependent Brusselator reaction-diffusion PDE in 1d. Demonstrates IMEX methods.\n";
26.c:static char help[] = "Transient nonlinear driven cavity in 2d.\n\
26aspin.c:static char help[] = "Transient nonlinear driven cavity in 2d using ASPIN.\n\n";
27.c:static char help[] = "Time-Dependent Reactive Flow ample in 2D with Darcy Flow";