(nonlinear) PDE problem domain internal boundary defined using mathematical expression

4 views (last 30 days)
Hello,
I am trying to solve a nonlinear (elliptic) PDE over a rectangular problem domain divided into three subdomains where the subdomains are separated by (internal) boundaries that need to be defined using a mathematical expression.
Am I right in assuming that the PDE Toolbox GUI is not meant to handle expression-defined inner boundaries? If yes, would you be able to guide me as to how to proceed (e.g. demos of a similar type)?
Many thanks,

Answers (1)

Bill Greene
Bill Greene on 26 Jul 2013
Hi,
There are two issues you have to consider in constructing your model:
  1. Defining the geometry that includes the subdomain boundaries.
  2. Defining the coefficients that presumably vary from subdomain to subdomain.
The second issue can be dealt with in the pdetool GUI by entering the coefficient as a string expression that includes the variables x and y or by entering the name of a MATLAB function where the coefficients are calculated. However, I don't know how to define the geometry using mathematical expressions in the GUI. So I recommend you create your entire model and calculate the solution by calling the PDE Toolbox functions from a MATLAB script. All of the examples shown on the following documentation page take this approach:
Documentation for defining your own geometry can be found here: http://www.mathworks.com/help/pde/ug/pdegeom.html
Documentation for writing a function to define your coefficients can be found here: http://www.mathworks.com/help/pde/ug/scalar-coefficients-in-function-form.html
The following example shows a case where the coefficients vary by subdomain (but are linear): http://www.mathworks.com/help/pde/examples/deflection-of-a-piezoelectric-actuator.html
Extending this example to a case where the coefficients are also functions of the solution, u, should be straightforward.
Bill

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!