getfem-users
[Top][All Lists]
Advanced

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

Re: [Getfem-users] Transient analysis-dirichlet conditions


From: Sébastien Janas
Subject: Re: [Getfem-users] Transient analysis-dirichlet conditions
Date: Wed, 4 Jun 2008 22:31:04 +0200


Le 04-juin-08 à 16:01, Yves Renard a écrit :

On Wednesday 04 June 2008 10:30, Sébastien Janas wrote:
Hi all,

I want to solve the transient linear equation of diffusion.

It seems that there is no function pre-build in getfem for the
transient problems. So I assemble the mass matrix (MM) and stiffness
matrix (SM) "manually", and then construct the linear system A*X=B
using the backward euler

A = (MM + delta t * SM)
B = MM * X(t-1)

Then I have to impose dirichlet conditions on the surface. I import my mesh from gmsh, where the surface are tagged with a number (in my case
200). How can I modify my linear system to take into accompt the
dirichlet conditions? All the functions I found in the documentation
are in the case where you use model bricks or standard assembly
procedures...

If I can have the list of node numbers tagged by 200 I would use the
penalty method. But I am not able to obtain these list.

I am using the python interface of getfem.

Thanks for your help,

Best regards,

Janas Sébastien


This is true that there is no general strategy proposed for transient
problems, especially with the matlab or python interfaces. This is however not easy to build such a general strategy since the situation can vary a lot
for differente time integration schemes.


However, You can have the list of nodes on a boundary with the command

gf_mesh_fem_get(MF, 'dof on region', [bnum]);


but you have first to tag the boundary with the command

gf_mesh_set(M, 'region', int bnum, imat CVFLST);

(see the Matlab examples).

Yves.


Is there any systematic procedure to impose the dirichlet conditions on my system A*X=B ?

I have tried with the penalty method, but the sparse matrix format included in getfem set it very difficult (we can't make B[i] += A[i,i] * BIG * val because A[i,i] give an 1x1 array and not a scalar...)




--

Yves Renard (address@hidden) tel : (33) 04.72.43.87.08 Pole de Mathematiques, INSA de Lyon fax : (33) 04.72.43.85.29
 20, rue Albert Einstein
 69621 Villeurbanne Cedex, FRANCE
 http://math.univ-lyon1.fr/~renard

---------





reply via email to

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