|
From: | OLADAYO ELUYEFA (RIT Student) |
Subject: | Re: [Getfem-users] Badly Scaled Bilaplacian |
Date: | Tue, 17 Mar 2015 21:25:37 -0400 |
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.
Thank you. However, everytime, I try to change the finite element method I get this errorIncompatibility between fem FEM_ARGYRIS and mesh elementGT_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 codeFvec = 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
[Prev in Thread] | Current Thread | [Next in Thread] |