Quantcast
Channel: MATLAB Central Newsreader Recent Posts
Viewing all articles
Browse latest Browse all 19628

Re: pde toolbox

$
0
0
Hi Bill,

There is a follow up question to the one listed below. I am using the following method to solve my elliptic problem:

I create a geometry 'g'.
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);

I get the following error from assempde
------------------------------------------
??? Error using ==> plus
Matrix dimensions must agree.

Error in ==> assempde at 245
KK=K+M+Q;
------------------------------------------
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

Viewing all articles
Browse latest Browse all 19628

Trending Articles