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: Andriy Andreykiv
Subject: Re: [Getfem-users] Transient analysis-dirichlet conditions
Date: Wed, 4 Jun 2008 22:50:44 +0200

Sebastien,
 
  Why don't  you try to use   

 

getfem::assembling_Dirichlet_condition(K,RHS,mf,region=0,DIRICHLET_VECTOR);

 

As you can check in the documentation, this way you're imposing

A Dirichlet condition on a sysmem K*u=RHS.

The above function modifies your stiffness matrix K and your RHS, without resizing them.

DIRICHLET_VECTOR is the imposed values on a region of your finite element object mf.

Best regards,

                    Andriy

________________________________
 Andriy Andreykiv (PhD, Msc)
 Delft University of Technology
 Department of Precision Engineering
 Group of Fundamentals of Microsystems
 Mekelweg 2
 2628 CD  Delft
 The Netherlands
 
 E-mail  :  address@hidden
 Tel.    :   (31) 15 2786818
 Fax.    :   (31) 15 2789475
 www     :  
http://www-tm.wbmt.tudelft.nl/~andrico
 private:  (31) 6 47376804
----- Original Message -----
From: "Sébastien Janas" <address@hidden>
To: "Yves Renard" <address@hidden>
Cc: <address@hidden>
Sent: Wednesday, June 04, 2008 10:31 PM
Subject: Re: [Getfem-users] Transient analysis-dirichlet conditions


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


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