getfem-users
[Top][All Lists]
Advanced

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

Re: [Getfem-users] Question about non-linear terms


From: Renard Yves
Subject: Re: [Getfem-users] Question about non-linear terms
Date: Sun, 04 Jul 2010 12:20:12 +0200
User-agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.2)


Dear Kostas,


The non-linear term allows to add a term to the generic assembly which is be computed on each Gauss point. The mechanism of the non-linear term is not fully satisfactory, I think, and you are right has not been documented. One of the problem is to furnish some efficient pre-computation not to have an interpolation of the shape function at each gauss point. This is the role of the getfem::fem_interpolation_context objects. One problem in the assembly routine is that there is only one fem_interpolation_context for each term of the generic assembly. The 'compute' method of the nonlinear term is called with the fem_interpolation_context corresponding to the first fem declared in the generic assembly (i.e. #1 for NonLin(#1,#2,#3, ...)). If there is more than one fem declared in the generic assembly for the nonlinear term, then the 'prepare' method of the nonlinear term is called for each additional fem. the second argument of 'prepare' is the index of the fem in the generic assembly. The method 'prepare' is called before 'compute' for each Gauss point and typically can make some pre-computations.

Moreover, generally, you need in the term the value of a certain variable. So, generally, the constructor take the variable and the corresponding mesh-fem as a parameter.

I don't know if my explanations are very clear ...

This is sure that in order to build a nonlinear term, one has to have a clear idea of the internal of Getfem ! For instance, the difference between a scalar fem with is vectorized with the a set_qdim and an intrinsic vectorial element have to be taken into account ...
This is one of my goal to try to simplify the writing of nonlinear terms ...


Regards,

Yves.


Konstantinos Poulios <address@hidden> a écrit :

Hi,

I have noticed that for nonlinear terms in an assembly procedure there
are two places for them to refer to mesh_fem objects. The first one is
the constructor function of the nonlinear term, where references to
mesh_fems can be stored inside the object of the nonlinear term. The
second one is the assembly command where definitions like
NonLin(#1,#2) let the nonlinear term refer to the first and second
mesh_fem which are contained in the assembly procedure. I cannot
understand this mechanism very well. What are the mesh_fem numbers
inside NonLin() used for? Is there any documentation of the NonLin
mechanism?

Regards

Kostas

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