Here u is a

to be imposed at x=a1 and x=b1. While the horizontal boundary conditions are imposed in the octave code as equations of the following form

to be imposed at y=a2 and y=b2. The functional forms above are general enough that

where R is the rectangular domain in which the problem is defined. The initial conditions are specified for each component of u at the initial time t_0. These initial conditions

In the solution to equations of this form the user must specify octave functions (with a very similar format to Matlab functions) defining each of the functions described above for the specific problem at hand. As such it is very easy to modify and solve various different PDES. One can use the same functional call provided by the main PDETWO interface and solve vastly different PDE's by just change the octave functions. Various examples of this use are provided in the software below. The code is currently a C++/octave API wrapper that calls the core solution routine PDETWO described in the papers:

by David K. Melgaard, and Ricard F. Sincovec.

ACM Transactions on Mathematical Software (TOMS), Volume 7 Issue 1 (March 1981)

Pages: 106 - 125

by David K. Melgaard, and Ricard F. Sincovec.

ACM Transactions on Mathematical Software (TOMS), Volume 7 Issue 1 (March 1981)

Pages: 126 - 135

- The first example from the Madsen and Sincovec paper (using
octave) is given
here.
This is a elliptic PDE with a known exact solution.

- The second example comes from some work I did on inverse source problems for the diffusion equation. It is given here.

Please reference this software in any publications that result from its use. A sample bibtex entry is below

```
@misc{weatherwaxPDETWOG,
```

author = "J L. Weatherwax",

title = "Software for solving PDE's with Octave",

text = "PDETWOG: An Octave Gateway Routine to pdetwo.f",

year = "2006",

url = "http://web.mit.edu/wax/www/Software/Code/PDETWO/Doc/pdetwo.html"

}

I should mention that I am very interested in having people use this software and as such would be very willing to help get people started using it. As always, please send any comments to the address below.

- Version 1.1 fixed a few minor bugs.
- Version 1.0 is the first release of pdetwo.

More information about dynamically linked functions for octave can be found in the: "Dal Segno al Coda" found here.

```
gunzip PDETWO.x.y.tar.gz
```

tar -xvf filename.tar

Where

`filename`

is the name of the version of code downloaded.
Next, change into the newly created directory```
cd PDETWO.x.y
```

In that directory, one should see subdirectories containing the various octave files used to specify the different PDE's. The first numerical PDE example from the paper above is in the subdirectory is named "EG1". To run the code corresponding to this PDE definition. We must first insure that octave can find these files and not any others with the same name. As such there should be a file called

`.octaverc`

in this top most
directory. Open this file in an editor and change the line to
read (if it is not already)```
LOADPATH = ['Code_Examples//EG1//', LOADPATH];
```

Now start octave in this top most directory, with an invocation like

```
octave &
```

The

`LOADPATH`

command will set the path so that when
octave is started in the given directory it will find the required
`pdetwo_Script.m`

in the EG1 directory and no other. This setting
will then set the octave path to include the needed files for the first example
discribed above. Then at the octave prompt type```
pdetwo_Script
```

and the given PDE will be solved numerically for you with a few plots produced.

- Autoconfiguring this package for the various UNIX's
- Make the passage of additional
*arguments*that maybe required by user defined functions easy/possible. - Include more examples of solved PDE's using this code on the web.
- More complete and better documentation.
**If you are interested in working on any of these tasks please contact me ... I'd love your help!!!**

John Weatherwax Last modified: Wed Jul 12 21:07:33 EDT 2006