getfem-users
[Top][All Lists]

## Re: [Getfem-users] Build a transport equation with the generic procedure

 From: sébastien janas Subject: Re: [Getfem-users] Build a transport equation with the generic procedure Date: Sat, 17 Apr 2010 11:05:45 +0200

```I don't find the file "getfem/getfem_convect.h" in the getfem 4.0.0
sources, where is defined the convect function ?

To your knowledge, is it possible to implement PG or SUPG method with
getfem functions ?

Best regards,

Sébastien

PS : Yves, sorry for the double message, I forgot to reply to all

Le vendredi 16 avril 2010 à 22:43 +0200, Renard Yves a écrit :
>
> Dear Sebastien,
>
> The finite element method is instable for the resolution of convection
> problems. At least without treatment. There is several possible
> treatments (Petrov-Galerkin, SUPG, additional diffusion term ...). Or
> you can use another method. A caracteristic Galerkin method is
> implemented in Getfem, see the command
> E = gf_compute(mesh_fem MF, vec U, 'convect', mesh_fem mf_v, vec V,
> scalar dt, int nt[, string option])
>
> But this is a very dissipative method.
>
>
> I think your term should be
>
>   D = gf.asm_volumic('a=data(mdim(#1),#2); M(#1,#1)+=
>
> with mf_d a scalar fem.
>
>
> Yves.
>
>
> sébastien janas <address@hidden> a écrit :
>
> > Hi,
> >
> > I try to solve a transport equation with getfem.
> >
> > I have problem to deal with the term
> >
> > div (  RHO * Y * U )
> >
> > where
> >
> > - div is the divergence
> > - RHO is the density
> > - Y is a moisture content
> > - U is the velocity
> >
> > I try to build the matrix
> >
> > (PSI_x^i * RHO * U_x * PSI^j ) +
> > (PSI_y^i * RHO * U_y * PSI^j ) +
> > (PSI_z^i * RHO * U_z * PSI^j )
> >
> > where - PSI_a^b are the derivative of the base functions at nodes b in
> > respect to ditection a
> >
> >       - PSI^b are the base functions at nodes b
> >
> >       - U_a are the a components of velocity
> >
> > In my program, I have the product RHO*U in a (nb_dof x 3) array, and I
> > construct my matrix like this
> >
> > D = gf.asm_volumic('a=data(#2); M(#1,#1)+=
> >
> > where mf_u is
> >
> > mf_u  = gf.MeshFem(m,1)
> > mf_u.set_fem(gf.Fem("FEM_PK(3,1)"))
> >
> > and mf_d
> >
> > mf_d  = gf.MeshFem(m,3)
> > md_d.set_fem(gf.Fem("FEM_PK(3,1)"
> >
> > My questions are these
> >
> > -> Is it the correct way to solve a transport equation ?
> > -> Is anybody have an exemple of such equation ?
> > -> With the exemple above, I get the following error that I don't
> > understand, is there somebody who can explain it to me ?
> >
> >  "wrong number of indexes for the 2th argument of the reduction
> > comp(Grad(#1).Base(#1).Base(#1))(:,i,:,k).a(i,k) (ranges=[0..12])"
> >
> > Thanks a lot for your help,
> >
> > Best regards,
> >
> > Sébastien Janas
> >
> >
> > _______________________________________________
> > Getfem-users mailing list
> > https://mail.gna.org/listinfo/getfem-users
> >
>
>
>
>

```

reply via email to