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 : [EMAIL PROTECTED]
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" <[EMAIL PROTECTED]>
To: "Yves Renard" <[EMAIL PROTECTED]>
Cc: <[email protected]>
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 ([EMAIL PROTECTED]) 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
[email protected]
https://mail.gna.org/listinfo/getfem-users
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users