Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: pde toolbox
Replies: 13   Last Post: Apr 23, 2013 4:29 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
srao Rao

Posts: 29
Registered: 7/16/10
Re: pde toolbox
Posted: Mar 25, 2013 2:41 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"Sashankh Rao" wrote in message <kiq3me$m50$1@newscl01ah.mathworks.com>...
> "Bill Greene" wrote in message <ki2os3$gna$1@newscl01ah.mathworks.com>...
> > "Sashankh Rao" wrote in message <ki291f$56f$1@newscl01ah.mathworks.com>...
> >

> > > I then mesh it: [p,e,t] = initmesh(g);
> > > Then I create my boundary matrix using [Q,G,H,R] = pdebound(p2,e2);
> > > I then assemble other matrices using [K,M,F] = assema(p,t,c,a,f);
> > > Finally I solve the problem using u = assempde(K,M,F,Q,G,H,R);

> >
> >
> > Ah, I see that the documentation page I pointed you to doesn't
> > show you what to do with the pdebound function once you've created it--
> > sorry.
> >
> > That function is actually called by the PDE Toolbox routines-- not by you.
> > If you don't want to do anything fancy, but simply want a solution, do this:
> >
> > b=@pdebound; % the "pdebound" function can have any name
> > % also define p,e,t,c,a,f
> > u=assempde(b,p,e,t,c,a,f);
> >
> > Regards,
> >
> > Bill

> > > ------------------------------------------
> > > As per the link below the size of the Q matrix in the boundary file is (N^2 ne) which for a one-dimensional system is (1 ne), where ne is the number of edges in the mesh.
> > >
> > > http://www.mathworks.com/help/pde/ug/boundary-conditions-for-scalar-pde.html
> > >
> > > However the size for the K and M matrices is (Np Np) where Np is the number of nodes in the matrix.
> > >
> > > So I see that the K matrix and Q matrix are not of the same dimensions and hence the error. I am not able to figure out how to fix this problem. Any help will be appreciated very much.
> > >
> > > Thank you.
> > >
> > > "Bill Greene" wrote in message <khfgev$sgb$1@newscl01ah.mathworks.com>...

> > > > Hi,
> > > >
> > > > "Sashankh Rao" wrote in message <khdu9o$j3c$1@newscl01ah.mathworks.com>...

> > > > > Using the Matlab pde toolbox I obtain a solution to the Poisson equation for a given geometry using dirichlet boundary conditions. First, I want to determine the gradient at all the boundary nodes. Is this possible using the toolbox? Second, I want to use these gradient values as an input boundary condition for the same boundary to solve a different equation (same geometry). Is this possible to do using the toolbox? Thanks.
> > > >
> > > > Yes, this is definitely possible. I'll try to point you in the right direction.
> > > >
> > > > The function pdegrad can be used to calculate the gradient of the solution at the
> > > > element centroids.
> > > > http://www.mathworks.com/help/pde/ug/pdegrad.html?searchHighlight=pdegrad
> > > > Then the function pdeprtni can be used to interpolate these centroid values back
> > > > to the nodes.
> > > > http://www.mathworks.com/help/pde/ug/pdeprtni.html
> > > >
> > > > Using these gradient values in the boundary conditions will require you to write your
> > > > own boundary condition function, referred to as a "boundary file" in the PDE
> > > > Toolbox documentation.
> > > > http://www.mathworks.com/help/pde/ug/pdebound.html
> > > >
> > > > This documentation page has some examples of how to write such a function.
> > > > http://www.mathworks.com/help/pde/ug/boundary-conditions-for-scalar-pde.html
> > > >
> > > > Bill

>
> Hi Bill,
>
> I have another question related to the above thread.
>
> I am trying to impose the Neumann condition at nodes on the boundary. To do this I need to pass additional information to pdebound as shown below.
>
> function [qmatrix,gmatrix,hmatrix,rmatrix] = pdebound2(p,e,u,time,u2bn,loc)
>
> where u2bn and loc are the additional data. However, I get the following error in trying to do so:
>
> Input argument "u2bn" is undefined.
> Error in ==> pdebound2 at 13
>
> Looks like pdebound will not accept additional data. I am using
>
> b = @pdebound;
>
> to assemble my boundary matrix.
>
> Thanks for taking time to help me. Really appreciate it.
>
> Sashankh


Hi Bill,

I think I figured this out. I declared my additional data as global variables. Thanks.

Sashankh



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.