getfem-users
[Top][All Lists]
Advanced

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

Re: [Getfem-users] demo_crack.py Dirichlet condition


From: Yves Renard
Subject: Re: [Getfem-users] demo_crack.py Dirichlet condition
Date: Thu, 16 Jul 2015 16:28:47 +0200 (CEST)

Dear Aaron,

You are right, there were a problem with mfls_u.adapt(). I just committed a fix 
on the file
interface/src/gf_mesh_fem_set.cc
You can download it if you use the svn version.

Yves.

----- Original Message -----
From: "Aaron Jameson Oaks" <address@hidden>
To: "yves renard" <address@hidden>
Sent: Wednesday, July 15, 2015 6:38:08 PM
Subject: RE: [Getfem-users] demo_crack.py Dirichlet condition

Hi Yves,

Thank you for the response. I'm still working on understanding that condition, 
but I also wanted to ask about updating the levelset once the solution is 
complete. If I've understood the documentation correctly, after everything is 
evaluated and exported for the given levelset (y=0, x<=0), I would call 
ls.set_values(p,s) to update the levelset?:

ls.set_values('y','x-0.25')   # extend crack to x=0.25

After changing the levelset, how much of the system needs to be 'adapted' to 
solve with the updated levelset? I read [1] that the meshlevelset should be 
updated with mls.adapt() and the integrator should be updated with mim.adapt(). 
It also said the meshfemlevelset should be updated with mfls_u.adapt(), but 
python said "MeshFem instance has no attribute 'adapt'". If I attempt to 
md.solve() again after the first two commands the python kernel crashes without 
giving an error message.

Thank you for your time.

Aaron

[1] http://download.gna.org/getfem/html/homepage/userdoc/xfem.html
________________________________________
From: Yves Renard address@hidden
Sent: Tuesday, July 14, 2015 2:33 PM
To: Oaks, Aaron Jameson
Subject: Re: [Getfem-users] demo_crack.py Dirichlet condition

Dear Aaron Oaks,

Yes, that's right. Moreover the Dirichlet condition is prescribed on the whole 
boundary of the domain.

Yves

----- Original Message -----
From: "Aaron Jameson Oaks" <address@hidden>
To: "yves renard" <address@hidden>
Sent: Tuesday, July 14, 2015 5:01:03 PM
Subject: RE: [Getfem-users] demo_crack.py Dirichlet condition

Hi Yves,

Thank you for the quick response. That helped clarify the penalization 
technique some but the specific condition to be applied is still unclear to me. 
Could you describe the problem physical condition that this setup represents? 
Like in the coupled tutorial online the deformation problem to be solved was 
given by:
-div(\sigma(u)) = 0   in   \Omega
\sigma(u) n = 0   on   top/bottom face
\sigma(u) n = F   on   right face
u = 0   on   left face

so for demo_crack it would be:
-div(\sigma(u)) = 0   in   \Omega
u = ??   on   \Gamma (boundary)

I guess related is what is the particular linear combination that is assembled? 
If I understand the setup correctly, u is a 2d vector field (unknown), 
dirichlet_data (dd) is a length 8 array (of coefficients?) and mf_ue is a space 
defined as the span of 4 crack functions F_{0,1,2,3}. So does the penalized 
condition become something like?:
\int_{\Gamma} (u_x - (dd(1)*F_0(x,y) + dd(3)*F1(x,y) + dd(5)*F2(x,y) + 
dd(7)*F3(x,y) )  ) * gamma * Test_u_x
\int_{\Gamma} (u_y - (dd(2)*F_0(x,y) + dd(4)*F1(x,y) + dd(6)*F2(x,y) + 
dd(8)*F3(x,y) )  ) * gamma * Test_u_y

Thank you again for your time.

Aaron

________________________________________
From: Yves Renard address@hidden
Sent: Tuesday, July 14, 2015 3:28 AM
To: Oaks, Aaron Jameson
Cc: getfem-users
Subject: Re: [Getfem-users] demo_crack.py Dirichlet condition

Dear Aaron Oaks,

In that example, the Dirichlet data is defined on mf_ue which is in fact not a 
finite element space, it is defined to span a certain number of global 
functions. So that the Dirichlet Data is a particular linear combination of 
these global functions.

Of course, it is not possible to prescribe it exactly on the unknow which is 
define on an enriched finite element space. So, here, the Dirichlet condition 
is prescribed with a penalization technique. This means that a term
\int_{\Gamma} (u - Dirichlet_data) * gamma * Test_u
is added to the formulation, with gamma a penalization parameter (1e12 here).

Another possibility would be to prescribe the Dirichlet condition with a 
Lagrange multiplier or with Nitsche's method.

Best regards,

Yves.



----- Original Message -----
From: "Oaks, Aaron Jameson" <address@hidden>
To: "getfem-users" <address@hidden>
Sent: Monday, July 13, 2015 9:01:20 PM
Subject: [Getfem-users] demo_crack.py Dirichlet condition

Greetings,

I am a PhD student at University of Illinois and I'm starting in on a project 
studying crack propagation. I'm just starting out with GetFEM++ and FEM in 
general, so I apologize if this question is remedial. I went through the 
thermo-elastic and electrical coupling tutorial on the website, and that went 
well, but going through the demo_crack.py example I'm having trouble seeing how 
the Dirichlet BC is assigned. In the coupled tutorial I understood how it 
worked using either a constant value or values interpolated on the same MeshFem 
for each boundary node, but with all the different MeshFems in different bases 
defined to accommodate the crack I seem to be at a loss. Could I get a 
mathematical description of the Dirichlet condition to be assigned, and an 
explanation of how the example code goes about assigning that condition? Thank 
you very much for your time.

Aaron Oaks

_______________________________________________
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]