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: measured boundary conditions with pde toolbox
Replies: 17   Last Post: Apr 8, 2014 6:00 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Bill Greene

Posts: 29
Registered: 2/27/12
Re: measured boundary conditions with pde toolbox
Posted: Apr 2, 2014 3:33 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"Dmitry" wrote in message <lhhm8o$j16$1@newscl01ah.mathworks.com>...
> "Doug" wrote in message <h5psrj$8g9$1@fred.mathworks.com>...
> > OK, I've answered my own question, and the answer is a boundary M-file.
> >
> > Though wbound makes a boundary M-file that is based on a simple formula, in exactly the same format as a boundary condition matrix, it's possible to write your own boundary M-file *any way you like*. As long as it takes (p,e,u,time) as inputs and returns [q,g,h,r] as outputs, it works fine with assempde. You just pass the filename of the boundary M-file as the first argument to assempde. So I've written a boundary M-file that takes the necessary inputs (p,e,u,time) but ignores them, instead constructing [q,g,h,r] from my measurements. And it works. Reading the help file for pdebound over and over was the key!

>
> Hi Doug,
> Could you provide an example of this kind of usage please?
> As I understood, you just loaded the variable in the boundary M-file like this:

> > load('var.mat','var');
> and used it for construction of [q,g,h,r]. Am I right?
>
> I've done the same (for hyperbolic solver), but I can't check if it works because for some (another) reason the solver gives me the error:

> >Error using pdeexpd (line 57)
> >Number of variables mismatch between u and bl.
> >Error in assemb (line 101)
> > [q,g,h,r]=pdeexpd(p,e,u,time,bl);
> >Error in pdeODEInfo/getMats (line 164)
> > [Q,G,H,R]=assemb(self.b,self.p,self.e,u,time);
> >Error in pdeODEInfo/checkFuncDepen (line 60)
> > [MM0,K0,M0,F0,Q0,G0,H0,R0] = self.getMats(u0, t0);
> >Error in pdeHyperbolicInfo (line 15)
> > obj=obj.checkFuncDepen(u0, tlist);
> >Error in hyperbolic (line 41)
> > pdehyp=pdeHyperbolicInfo(u0,ut0,tlist,b,p,e,t,c,a,f,d);
> >Error in main (line 49)
> >u = hyperbolic(u0,ut0,tlist,b,p,e,t,c,a,f,d);

>
> In my case I have only dependence on time in boundary M-file, but the solver assumes that output of it depends on the solution u too
> (it goes wrong way at pdeODEInfo/checkFuncDepen stage).
> Don't know what to do...


There appears to be something wrong with your pdebound function or
with how you are passing the handle to it into hyperbolic.

Did you follow the example here if you have a single pde:

http://www.mathworks.com/help/pde/ug/boundary-conditions-for-scalar-pde.html

or here if you have a system of pde:

http://www.mathworks.com/help/pde/ug/boundary-conditions-for-pde-systems.html

Is the value of "b" that you are passing into hyperbolic something like this?

b = @myPdeBoundFunction; % myPdeBoundFunction is whatever you named your function

Bill



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.