getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] Badly Scaled Bilaplacian


From: OLADAYO ELUYEFA (RIT Student)
Subject: Re: [Getfem-users] Badly Scaled Bilaplacian
Date: Tue, 17 Mar 2015 21:25:37 -0400

Never mind. I realized that I was working in the wrong mesh and switching those around.

Thanks a lot though



Oladayo Eluyefa,

Rochester Institute of Technology '15,
B.S., Computational Mathematics,
M.S., Applied and Computational Mathematics.

(585)-287-1955

CONFIDENTIALITY NOTE: The information transmitted, including attachments, is intended only for the person(s) or entity to which it is addressed and may contain confidential and/or privileged material. Any review, re-transmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and destroy any copies of this information.


Please consider the environment before printing this email. 


On Tue, Mar 17, 2015 at 3:24 PM, OLADAYO ELUYEFA (RIT Student) <address@hidden> wrote:
Thank you. However, everytime, I try to change the finite element method I get this error

Incompatibility between fem FEM_ARGYRIS and mesh element
GT_LINEAR_PRODUCT(GT_PK(1,1),GT_PK(1,1))

or an error about interpolating on a non lagrangian fem.

also, I forgot to include this part of the code 

Fvec = gf_mesh_fem_get(mf,'eval', {f});
F = gf_asm('volumic source', mim, mf, mfd, Fvec);

Dc = zeros(1,dof);

[H, R] = gf_asm('dirichlet', 1, mim, mf, mf, ones(1,dof), Dc);
[Q, Ud] = gf_spmat_get(H, 'dirichlet_nullspace', R);




Oladayo Eluyefa,

Rochester Institute of Technology '15,
B.S., Computational Mathematics,
M.S., Applied and Computational Mathematics.


CONFIDENTIALITY NOTE: The information transmitted, including attachments, is intended only for the person(s) or entity to which it is addressed and may contain confidential and/or privileged material. Any review, re-transmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and destroy any copies of this information.


Please consider the environment before printing this email. 


On Tue, Mar 17, 2015 at 2:18 PM, Yves Renard <address@hidden> wrote:
Dear Oladayo Eluyefa,

Your stiffness matrix is ill-conditionned because you use C0 finite elements instead of hermite elements. For this problem you do have to use hermite element such as argyris one (FEM_ARGYRIS) but for triangles or FVS element (FEM_QUADC1_COMPOSITE) on quadrilaterals (but with a specific integration method). Additionally, of course, the stiffness matrix will be singular unless a Dirichlet condition is prescribed.

Note also that the Kirchhoff-love term is better conditionned that the bi-laplacian term and equivalent but with different boundary conditions.

Yves.

----- Original Message -----
From: "OLADAYO ELUYEFA (RIT Student)" <address@hidden>
To: address@hidden
Sent: Tuesday, March 17, 2015 6:17:22 PM
Subject: [Getfem-users] Badly Scaled Bilaplacian

I am working on a 4th order 2D Inverse Problem using the matlab OO interface in getfem++ . As a result, I calculate the bilaplacian, but I keep getting a badly scaled matrix with a close to 0 condition number. Below is the code that produces this. Is there a way to correct this.

Thank you

Code:

%% Note equation is -(au'')''=f
N = 20;
h = 1/(N+1);


m = gf_mesh('cartesian', 0:h:1, 0:h:1);
mf = gf_mesh_fem(m,1);
mfd = gf_mesh_fem(m,1);
[xs, ys] = meshgrid(0:1*h:1, 0:1*h:1);


gf_mesh_fem_set(mf, 'fem', gf_fem('FEM_QK(2,4)'));
gf_mesh_fem_set(mfd, 'fem', gf_fem('FEM_QK(2,4)'));

mim = gf_mesh_im(m, gf_integ('IM_GAUSS_PARALLELEPIPED(2,10)'));

% Boundary conditions:

border = gf_mesh_get(m, 'outer_faces');
gf_mesh_set(m, 'boundary', 1, border);

% Degrees of freedom

dof = gf_mesh_fem_get(mf, 'nbdof');
dofa = gf_mesh_fem_get(mfd, 'nbdof');

u = '256.*(x.^2).*(y.^2).*((1-x).^2).*(1-y).^2';
Us = gf_mesh_fem_get(mfd, 'eval', {u});

a = '1+0.25.*sin(pi.*x).*sin(pi.*y)';
avec = gf_mesh_fem_get(mfd, 'eval', {a});
a0 = gf_mesh_fem_get(mfd, 'eval', {1.5})';

K = @(a) gf_asm('bilaplacian', mim, mf, mfd, a);
K1 = gf_asm('laplacian', mim, mfd, mfd, ones(dofa,1));

L = @(u) gf_asm('volumic',...
['u=data(#2);', ...
't=comp(Hess(#2).Hess(#2).Base(#1))(:,i,i,:,i,i,:);',...
'M(#2,#1)+=t(j,:,:).u(j)'],...
mim, ...
mfd, ...
mf, ...
u);

M = gf_asm('mass matrix', mim, mf);
Ma = gf_asm('mass matrix', mim, mfd);



Oladayo Eluyefa,

Rochester Institute of Technology '15,
B.S., Computational Mathematics,
M.S., Applied and Computational Mathematics.

( address@hidden , address@hidden )
(585)-287-1955



CONFIDENTIALITY NOTE : The information transmitted, including attachments, is intended only for the person(s) or entity to which it is addressed and may contain confidential and/or privileged material. Any review, re-transmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and destroy any copies of this information.




Please consider the environment before printing this email.

_______________________________________________
Getfem-users mailing list
address@hidden
https://mail.gna.org/listinfo/getfem-users



reply via email to

[Prev in Thread] Current Thread [Next in Thread]