Dear all,

--001a11c134c21a245304f67eab0c--
From ire.ingrosso@domain.hid Tue Apr 08 10:35:46 2014
Received: from Debian-exim by gna.org with spam-scanned (Exim 4.80)
(envelope-from I am solving a linear elastic=
ity problem but the material behavior is not=A0isotropic. It needs some cal=
culations in the element stiffness assembly. I would like to know a general=
way to do this in getfem. Should I use the so called nonlinear term in get=
fem? Could you briefly tell me how to use this? Thanks.

Regards,

Wen

I am using getfem to solve a stokes problem =
in a domain with a hole, set by a level set function.

Till now, I=
am setting the level set function as in=A0contrib/xfem_contact/xfem_stokes.cc,=A0that is defining a=
n analytical function that returns the distance of a geometrical point from=
the border set by the level set function (eg: 2D circle of radius=3DRadius=
and centre=3D(0.5,0.5) ):

double ls_value (=
const base_node &P)

{

=A0 =A0double =
R=3DRadius;

=A0 =A0return (P[0]-0.5)*(P[0]+0=
.5)+(P[1]-0.5)*(P[1]-0.5)-R*R;

}

and then calling this function=
for every dof of the level set mesh FEM and assigning the value to the vec=
tor ls.values():

const getfem::mes=
h_fem &lsmf =3D ls.get_mesh_fem();

for (size_type i=3D0; i<lsmf.nb_dof();++i)

) id 1WXW6G-0004UD-U2
for getfem-users@domain.hid; Tue, 08 Apr 2014 15:30:11 +0200
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on mail.gna.org
X-Spam-Level:
X-Spam-Status: No, score=-2.2 required=3.3 tests=BAYES_00,RP_MATCHES_RCVD
autolearn=unavailable version=3.3.2
Received: from smtp.insa-lyon.fr ([134.214.182.244])
by gna.org with esmtp (Exim 4.80)
(envelope-from ) id 1WXW6G-0004Sg-NN
for getfem-users@domain.hid; Tue, 08 Apr 2014 15:30:04 +0200
Received: from localhost (localhost [127.0.0.1])
by smtp.insa-lyon.fr (smtp.insa-lyon.fr) with ESMTP id B89BE3FFF1;
Tue, 8 Apr 2014 15:29:22 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at insa-lyon.fr
Received: from smtp.insa-lyon.fr ([IPv6:::ffff:127.0.0.1])
by localhost (smtp.insa-lyon.fr [::ffff:127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id voBT8FtFSY+p; Tue, 8 Apr 2014 15:29:18 +0200 (CEST)
Received: from icj1.univ-lyon1.fr (icj1.univ-lyon1.fr [134.214.156.14])
by smtp.insa-lyon.fr (smtp.insa-lyon.fr) with ESMTP id 0A40F40038;
Tue, 8 Apr 2014 15:29:16 +0200 (CEST)
Message-ID: <5343F9AC.3080902@domain.hid>
Date: Tue, 08 Apr 2014 15:29:16 +0200
From: Yves Renard
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: Marco Pischedda
References:
In-Reply-To:
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Cc: getfem-users@domain.hid
Subject: Re: [Getfem-users] High level generic assembly procedures
X-BeenThere: getfem-users@domain.hid
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "List for users of Getfem++,
Gmm++ and Getfem-interfaces."
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 08 Apr 2014 13:30:12 -0000
Dear Marco,
No, "Grad_u.Test_p +p.Grad_Test_u+p.Test_u + p(0)u(0)-p(L)u(L)" is not
valid. The expression of an assembly string is to be evaluated at each
Gauss point of the concerned region. An expression such as "p(0)" will
be understand to be the component 0 of p which is not valid because the
first component is 1.
If you want to add some expression on a boundary (an extremity of the
intervall [0, L] here) then it is possible but not in the same assembly
string. In your example you have to add the assembly string "p.u" at the
boundary x=0 and "-p.u" at the boundary x=L.
However, if you need to prescribe a Dirichlet boundary condition, the
best would be to use a corresponding model brick (if you use the model
system).
Yves.
Le 07/04/2014 15:43, Marco Pischedda a écrit :
> Hi,
>
> how can I impose the boundary condition with high level generic
> assembly? For example I want to assemble "Grad_u.Test_p +
> p.Grad_Test_u+p.Test_u" and then imposing the value of p on the
> boundaries of the 1d domain, i.e x=0 and x=L. It is possible
> to write "Grad_u.Test_p +p.Grad_Test_u+p.Test_u + p(0)u(0)-p(L)u(L)",
> i.e can I insert the boundaries conditions in the assembling string?
>
> Thanks in advance
>
> Marco
>
>
> 2014-04-03 9:52 GMT+02:00 Marco Pischedda :
>> Dear Yves,
>>
>> thank you for bug correction, now it works.
>>
>>> Concerning your question on Grad_u for a vector field, it is usually an
>>> order two tensor (a matrix) except in 1D.
>> Ok that's good.
>>
>> I will let you know if there are other problems.
>>
>> Thank you
>>
>> Marco
>>
>> 2014-04-03 9:25 GMT+02:00 Yves Renard :
>>>
>>> Dear Marco,
>>>
>>> Concerning your question on Grad_u for a vector field, it is usually an
>>> order two tensor (a matrix) except in 1D.
>>> I tried to to the best to make the most operations "dimension
>>> indepedent" so there is some permitivity in the langage (components of
>>> size 1 are sometimes ignored).
>>> Remember also that you can have the expression of any term with the
>>> commant Print. For instance "Print( Grad_u).Test_p" will print the
>>> gradient of u on each Gauss point. It does a lot of print, but at least,
>>> you can see the format of the term.
>>>
>>> Yves.
>>>
>>>
>>> Le 02/04/2014 17:21, Marco Pischedda a écrit :
>>>> Hi,
>>>>
>>>> I have other questions:
>>>>
>>>> - I tried to assemble separately the following terms:
>>>> "Grad_u.Test_p" , "p.Grad_Test_u", "p.Test_u" and the code works correctly.
>>>> Then I want to assemble the sum of this terms, i.e: "Grad_u.Test_p +
>>>> p.Grad_Test_u+p.Test_u"
>>>> but I receive the following error:
>>>>
>>>> Addition or substraction of incompatible expressions or of different sizes
>>>> terminate called after throwing an instance of 'gmm::gmm_error'
>>>> what(): Error in getfem_generic_assembly.cc, line 3591 :
>>>> Error in assembly string
>>>> Aborted
>>>>
>>>> - I'm working in 1d problem with vectors as unknowns. Grad_u is
>>>> therefore a vector or is a tensor? When I do Grad_u.Test_p the
>>>> result is a scalar or a vector? Test_p is a vector or a scalar?
>>>>
>>>> Thanks in Advance
>>>>
>>>> Marco
>>>>
>>>>
>>>>
>>>> 2014-04-01 17:51 GMT+02:00 Marco Pischedda :
>>>>> Ok thank you,
>>>>>
>>>>> I tried it and it works. I will let you know if there are other problems.
>>>>>
>>>>> Thanks
>>>>>
>>>>> Marco
>>>>>
>>>>> 2014-04-01 17:16 GMT+02:00 Yves Renard :
>>>>>> Dear Marco,
>>>>>>
>>>>>> All seems to me correct in your implementation. This is probably just
>>>>>> the test line 2074 of getfem_generic_assembly.cc
>>>>>> which is not correct for one-dimensionnal problems.
>>>>>>
>>>>>> I think the test should be
>>>>>>
>>>>>> GA_DEBUG_ASSERT((qdim == 1 && t.sizes()[0] == N) ||
>>>>>> (t.sizes()[1] == N && t.sizes()[0] == qdim) ||
>>>>>> (N == 1 && t.sizes()[0] == qdim),
>>>>>> "dimensions mismatch");
>>>>>>
>>>>>> May be you can try this. I will validate it if it works.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Yves.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Le 01/04/2014 16:56, Marco Pischedda a écrit :
>>>>>>> Dear Yves,
>>>>>>>
>>>>>>> thank you for your fast answer.
>>>>>>>
>>>>>>> I have another question:
>>>>>>>
>>>>>>> - I have a monodimensional problem but the unknowns are vectorial. I
>>>>>>> set the vectorial
>>>>>>> dimension of the unknows with mf_u.set_qdim(3) and with mf_p.set_qdim(3).
>>>>>>> When I define the expression " Grad_u.Test_p " i receive the following error:
>>>>>>>
>>>>>>> terminate called after throwing an instance of 'gmm::gmm_error'
>>>>>>> what(): Error in
>>>>>>> ../../getfem-svn/getfem/src/getfem_generic_assembly.cc, line 2074 :
>>>>>>> dimensions mismatch
>>>>>>>
>>>>>>> Grad_u should be a 2nd order tensor, while Test_p should be a vector.
>>>>>>> I suppose the
>>>>>>> problem is that Grad_u is interpreted as a vector while Test_p is
>>>>>>> interpreted as a scalar.
>>>>>>> How can I use the high level generic assembly procedures on vectorial problems
>>>>>>> defined on a monodimensional computational domain?
>>>>>>>
>>>>>>> Thanks in advance
>>>>>>>
>>>>>>> Marco
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2014-04-01 8:42 GMT+02:00 Yves Renard :
>>>>>>>> Dear Marco,
>>>>>>>>
>>>>>>>> Yes, your code is correct and it should work correctly.
>>>>>>>> Note that you can also use the high level generic assembly with the
>>>>>>>> model object using a generic assembly brick.
>>>>>>>> Note also that high level assembly is only available in the svn
>>>>>>>> repository version of Getfem
>>>>>>>> (and a very recent version, at least r4570 because a bug have been
>>>>>>>> corrected on coupled problems recently).
>>>>>>>>
>>>>>>>> Yves.
>>>>>>>>
>>>>>>>>
>>>>>>>> Le 31/03/2014 14:00, Marco Pischedda a écrit :
>>>>>>>>> Dear all,
>>>>>>>>>
>>>>>>>>> I want to use the high level generic assembly procedures in order to
>>>>>>>>> use the automatic differentation for calculating the Jacobian of a
>>>>>>>>> non-linear problem.
>>>>>>>>>
>>>>>>>>> For example I want to calculate the Jacobian of two vectorial
>>>>>>>>> equations in the unknowns "u" and "p". The first vectorial equation is
>>>>>>>>> (u+p).Test_u while the second is (u+p).Test_p.
>>>>>>>>>
>>>>>>>>> It is correct the following code?
>>>>>>>>>
>>>>>>>>> gmm::sub_interval Iu(0, ndofs_u);
>>>>>>>>> gmm::sub_interval Ip(ndofs_u,ndofs_p);
>>>>>>>>> workspace.add_fem_variable("u", mf_u, Iu, U);
>>>>>>>>> workspace.add_fem_variable("p", mf_p, Ip, P);
>>>>>>>>> workspace.add_expression("(u+p).Test_u + (u+p).Test_p",mim);
>>>>>>>>> getfem::model_real_sparse_matrix Jac(ndofs_u+ndofs_p, ndofs_u+ndofs_p);
>>>>>>>>> workspace.set_assembled_matrix(Jac);
>>>>>>>>> workspace.assembly(2);
>>>>>>>>>
>>>>>>>>> In the matrix Jac I have the Jacobian of the system?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks in advance
>>>>>>>>>
>>>>>>>>> Marco
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Getfem-users mailing list
>>>>>>>>> Getfem-users@domain.hid
>>>>>>>>> https://mail.gna.org/listinfo/getfem-users
>>>>>>>> --
>>>>>>>>
>>>>>>>> Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.87.08
>>>>>>>> Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29
>>>>>>>> 20, rue Albert Einstein
>>>>>>>> 69621 Villeurbanne Cedex, FRANCE
>>>>>>>> http://math.univ-lyon1.fr/~renard
>>>>>>>>
>>>>>>>> ---------
>>>>>>>>
>>>>>> --
>>>>>>
>>>>>> Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.87.08
>>>>>> Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29
>>>>>> 20, rue Albert Einstein
>>>>>> 69621 Villeurbanne Cedex, FRANCE
>>>>>> http://math.univ-lyon1.fr/~renard
>>>>>>
>>>>>> ---------
>>>>>>
>>>
>>> --
>>>
>>> Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.87.08
>>> Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29
>>> 20, rue Albert Einstein
>>> 69621 Villeurbanne Cedex, FRANCE
>>> http://math.univ-lyon1.fr/~renard
>>>
>>> ---------
>>>
--
Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.87.08
Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29
20, rue Albert Einstein
69621 Villeurbanne Cedex, FRANCE
http://math.univ-lyon1.fr/~renard
---------
From Yves.Renard@domain.hid Tue Apr 08 15:59:16 2014
Received: from Debian-exim by gna.org with spam-scanned (Exim 4.80)
(envelope-from ) id 1WXWYP-0008O5-KP
for getfem-users@domain.hid; Tue, 08 Apr 2014 15:59:16 +0200
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on mail.gna.org
X-Spam-Level:
X-Spam-Status: No, score=-2.2 required=3.3 tests=BAYES_00,HTML_MESSAGE,
RP_MATCHES_RCVD autolearn=unavailable version=3.3.2
Received: from smtp.insa-lyon.fr ([134.214.182.244])
by gna.org with esmtp (Exim 4.80)
(envelope-from ) id 1WXWYP-0008NU-DZ
for getfem-users@domain.hid; Tue, 08 Apr 2014 15:59:09 +0200
Received: from localhost (localhost [127.0.0.1])
by smtp.insa-lyon.fr (smtp.insa-lyon.fr) with ESMTP id B9A4B40069;
Tue, 8 Apr 2014 15:58:27 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at insa-lyon.fr
Received: from smtp.insa-lyon.fr ([IPv6:::ffff:127.0.0.1])
by localhost (smtp.insa-lyon.fr [::ffff:127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id ro+LR7bShPaX; Tue, 8 Apr 2014 15:58:23 +0200 (CEST)
Received: from icj1.univ-lyon1.fr (icj1.univ-lyon1.fr [134.214.156.14])
by smtp.insa-lyon.fr (smtp.insa-lyon.fr) with ESMTP id CEA9440038;
Tue, 8 Apr 2014 15:58:21 +0200 (CEST)
Message-ID: <5344007D.5040506@domain.hid>
Date: Tue, 08 Apr 2014 15:58:21 +0200
From: Yves Renard
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: Wen Jiang ,
"getfem-users@domain.hid"
References:
In-Reply-To:
Content-Type: multipart/alternative;
boundary="------------040507000705080300070105"
Subject: Re: [Getfem-users] linear elasticity assembly
X-BeenThere: getfem-users@domain.hid
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "List for users of Getfem++,
Gmm++ and Getfem-interfaces."
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 08 Apr 2014 13:59:17 -0000
This is a multi-part message in MIME format.
--------------040507000705080300070105
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Dear Wen,
The most easier now is to use the high-level assembly but this require
to download the svn version of Getfem.
If you can express your computation of the elasticity tensor with
standard operations, this would be quite easy (you can see some examples
of expression in the test program
interface/tests/matlab/demo_nonlinear_elasticity.m). Otherwise, you may
have to write the nonlinear operator that make this computation and at
least its first derivative. (The nonlinear terms of the old generic
assembly are quite difficutl to define, I do not recommend to use them
now that the high-level assembly is working satisfactorily).
Regards,
Yves.
Le 08/04/2014 04:23, Wen Jiang a écrit :
> Dear all,
>
> I am solving a linear elasticity problem but the material behavior is
> not isotropic. It needs some calculations in the element stiffness
> assembly. I would like to know a general way to do this in getfem.
> Should I use the so called nonlinear term in getfem? Could you briefly
> tell me how to use this? Thanks.
>
> Regards,
> Wen
>
>
> _______________________________________________
> Getfem-users mailing list
> Getfem-users@domain.hid
> https://mail.gna.org/listinfo/getfem-users
--
Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.87.08
Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29
20, rue Albert Einstein
69621 Villeurbanne Cedex, FRANCE
http://math.univ-lyon1.fr/~renard
---------
--------------040507000705080300070105
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

) id 1WXXCR-0008Hq-OA
for getfem-users@domain.hid; Tue, 08 Apr 2014 16:40:38 +0200
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on mail.gna.org
X-Spam-Level:
X-Spam-Status: No, score=-2.2 required=3.3 tests=BAYES_00,HTML_MESSAGE,
RP_MATCHES_RCVD autolearn=unavailable version=3.3.2
Received: from smtp.insa-lyon.fr ([134.214.182.244])
by gna.org with esmtp (Exim 4.80)
(envelope-from ) id 1WXXCR-0007CS-ID
for getfem-users@domain.hid; Tue, 08 Apr 2014 16:40:31 +0200
Received: from localhost (localhost [127.0.0.1])
by smtp.insa-lyon.fr (smtp.insa-lyon.fr) with ESMTP id 98E5D40053;
Tue, 8 Apr 2014 16:39:49 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at insa-lyon.fr
Received: from smtp.insa-lyon.fr ([IPv6:::ffff:127.0.0.1])
by localhost (smtp.insa-lyon.fr [::ffff:127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id wYHIUDbiHCeZ; Tue, 8 Apr 2014 16:39:45 +0200 (CEST)
Received: from icj1.univ-lyon1.fr (icj1.univ-lyon1.fr [134.214.156.14])
by smtp.insa-lyon.fr (smtp.insa-lyon.fr) with ESMTP id 1069540038;
Tue, 8 Apr 2014 16:39:43 +0200 (CEST)
Message-ID: <53440A2F.2050606@domain.hid>
Date: Tue, 08 Apr 2014 16:39:43 +0200
From: Yves Renard
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: "ing.ire" , getfem-users@domain.hid
References:
In-Reply-To:
Content-Type: multipart/alternative;
boundary="------------050403070106060801000306"
Subject: Re: [Getfem-users] level set function
X-BeenThere: getfem-users@domain.hid
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "List for users of Getfem++,
Gmm++ and Getfem-interfaces."
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 08 Apr 2014 14:40:39 -0000
This is a multi-part message in MIME format.
--------------050403070106060801000306
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Dear Irene,
The level-set function should be approximatively a signed distance to
the hole boundary. So that you cannot just set the value of level set to
1 or 0.
If your function is not close to a signed distance. The standard way is
to use a reinitilization of the level-set using a Hamilton-Jacobi
equation to make it evolves toward a signed distance and preserving the
0 level-set. An exemple of such a reinitialization can be found in the
example interface/tests/matlab/demo_structural_optimization.m
Regards,
Yves
Le 08/04/2014 10:34, ing.ire a écrit :
> Dear all,
> I am using getfem to solve a stokes problem in a domain with a hole,
> set by a level set function.
> Till now, I am setting the level set function as
> in contrib/xfem_contact/xfem_stokes.cc, that is defining an analytical
> function that returns the distance of a geometrical point from the
> border set by the level set function (eg: 2D circle of radius=Radius
> and centre=(0.5,0.5) ):
>
> double ls_value (const base_node &P)
> {
> double R=Radius;
> return (P[0]-0.5)*(P[0]+0.5)+(P[1]-0.5)*(P[1]-0.5)-R*R;
> }
>
> and then calling this function for every dof of the level set mesh FEM
> and assigning the value to the vector ls.values():
>
> const getfem::mesh_fem &lsmf = ls.get_mesh_fem();
> for (size_type i=0; i ls.values()[i] = ls_value(lsmf.point_of_dof(i));
>
>
> Is it possible to add the level set function by directly setting its
> value (0 or 1) in each dof of the level set mesh FEM?
> I can write a function that returns 0 or 1 if the geometrical point P
> that takes as an argument belongs to one region or the other, but then
> how can I set the object getfem::level_set ls in getfem?
>
>
> Thanks in advance.
> Irene.
>
>
> _______________________________________________
> Getfem-users mailing list
> Getfem-users@domain.hid
> https://mail.gna.org/listinfo/getfem-users
--
Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.87.08
Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29
20, rue Albert Einstein
69621 Villeurbanne Cedex, FRANCE
http://math.univ-lyon1.fr/~renard
---------
--------------050403070106060801000306
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

) id 1WYSWD-0000w2-Ml
for getfem-users@domain.hid; Fri, 11 Apr 2014 05:52:55 +0200
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on mail.gna.org
X-Spam-Level:
X-Spam-Status: No, score=-2.3 required=3.3 tests=BAYES_00,
FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,
T_DKIM_INVALID autolearn=unavailable version=3.3.2
Received: from mail-qa0-f52.google.com ([209.85.216.52])
by gna.org with esmtp (Exim 4.80)
(envelope-from ) id 1WYSWD-0000vn-EB
for getfem-users@domain.hid; Fri, 11 Apr 2014 05:52:45 +0200
Received: by mail-qa0-f52.google.com with SMTP id s7so2784255qap.39
for ; Thu, 10 Apr 2014 20:52:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
h=mime-version:date:message-id:subject:from:to:content-type;
bh=OCbEILKiTUpVQpCDKFh/9PWT7yqDpymzXy+EmxVc05U=;
b=D3lpMTEA0PjLvZjhMXlj/SogJfop3bK21KbmZvBPBEbvKm6ohslvNVRzSU9H05OV/8
iuRQanijuENnzRb2/wrCxAwsgoRYLhnck2hbN2ZgP14pNY4Np3BiZ6a2TEHn88eIxv+d
AYb86DiFRTOfsbrFFk/EUy2Dl6eT2+KdNSznXLFR5Yk3unq3cnsMJyMYDrnAAqT/GKqW
9uJOQCGiomM8Zy0tvhEBEX8BoTiqrYry2Mk4C83C0OSUe5h2koPzBTeVwHBq1yCxmPUj
bPHgnoLoN+pBeIp6pX2BAZJcoGRDtxrz6Rs0/WdwooH4XxZH1e/tQwiUWSQiw/m6IYC9
gnGQ==
MIME-Version: 1.0
X-Received: by 10.140.43.69 with SMTP id d63mr23919280qga.45.1397188323147;
Thu, 10 Apr 2014 20:52:03 -0700 (PDT)
Received: by 10.140.104.178 with HTTP; Thu, 10 Apr 2014 20:52:03 -0700 (PDT)
Date: Thu, 10 Apr 2014 23:52:03 -0400
Message-ID:
From: Wen Jiang
To: "getfem-users@domain.hid"
Content-Type: multipart/alternative; boundary=001a113a6d70af86d204f6bc4168
Subject: [Getfem-users] new non linear operator in high-level assembly
X-BeenThere: getfem-users@domain.hid
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "List for users of Getfem++,
Gmm++ and Getfem-interfaces."
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Fri, 11 Apr 2014 03:52:55 -0000
--001a113a6d70af86d204f6bc4168
Content-Type: text/plain; charset=UTF-8
Dear all,
Could anyone tell me how to define new nonlinear operators in high-level
assembly?
what does this function do?
bool result_size(const arg_list &args, bgeot::multi_index &sizes)
and what do those two parameters in this function mean?
Thanks.
Regards,
Wen
--001a113a6d70af86d204f6bc4168
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

=A0 =A0 ls.values()[i] =3D ls_value(l=
smf.point_of_dof(i));

Is it =
possible to add the level set function by directly setting its value (0 or =
1) in each dof of the level set mesh FEM?

I can write a function that returns 0 or 1 if the geometrical po=
int P that takes as an argument belongs to one region or the other, but the=
n how can I set the object getfem::level_set=
ls in getfem?

Thanks in advance.

Irene.

--20cf303dd228b8a5a204f683dbc8--
From Yves.Renard@domain.hid Tue Apr 08 15:30:11 2014
Received: from Debian-exim by gna.org with spam-scanned (Exim 4.80)
(envelope-from Dear Wen,

The most easier now is to use the high-level assembly but this require to download the svn version of Getfem.

If you can express your computation of the elasticity tensor with standard operations, this would be quite easy (you can see some examples of expression in the test program interface/tests/matlab/demo_nonlinear_elasticity.m). Otherwise, you may have to write the nonlinear operator that make this computation and at least its first derivative. (The nonlinear terms of the old generic assembly are quite difficutl to define, I do not recommend to use them now that the high-level assembly is working satisfactorily).

Regards,

Yves.

Le 08/04/2014 04:23, Wen Jiang a écrit :

The most easier now is to use the high-level assembly but this require to download the svn version of Getfem.

If you can express your computation of the elasticity tensor with standard operations, this would be quite easy (you can see some examples of expression in the test program interface/tests/matlab/demo_nonlinear_elasticity.m). Otherwise, you may have to write the nonlinear operator that make this computation and at least its first derivative. (The nonlinear terms of the old generic assembly are quite difficutl to define, I do not recommend to use them now that the high-level assembly is working satisfactorily).

Regards,

Yves.

Le 08/04/2014 04:23, Wen Jiang a écrit :

Dear all,

I am solving a linear elasticity problem but the material behavior is not isotropic. It needs some calculations in the element stiffness assembly. I would like to know a general way to do this in getfem. Should I use the so called nonlinear term in getfem? Could you briefly tell me how to use this? Thanks.

Regards,Wen

_______________________________________________ Getfem-users mailing list Getfem-users@domain.hid https://mail.gna.org/listinfo/getfem-users

-- Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.87.08 Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29 20, rue Albert Einstein 69621 Villeurbanne Cedex, FRANCE http://math.univ-lyon1.fr/~renard -----------------------040507000705080300070105-- From Yves.Renard@domain.hid Tue Apr 08 16:40:39 2014 Received: from Debian-exim by gna.org with spam-scanned (Exim 4.80) (envelope-from

Dear Irene,

The level-set function should be approximatively a signed distance to the hole boundary. So that you cannot just set the value of level set to 1 or 0.

If your function is not close to a signed distance. The standard way is to use a reinitilization of the level-set using a Hamilton-Jacobi equation to make it evolves toward a signed distance and preserving the 0 level-set. An exemple of such a reinitialization can be found in the example interface/tests/matlab/demo_structural_optimization.m

Regards,

Yves

Le 08/04/2014 10:34, ing.ire a écrit :

The level-set function should be approximatively a signed distance to the hole boundary. So that you cannot just set the value of level set to 1 or 0.

If your function is not close to a signed distance. The standard way is to use a reinitilization of the level-set using a Hamilton-Jacobi equation to make it evolves toward a signed distance and preserving the 0 level-set. An exemple of such a reinitialization can be found in the example interface/tests/matlab/demo_structural_optimization.m

Regards,

Yves

Le 08/04/2014 10:34, ing.ire a écrit :

Dear all,I am using getfem to solve a stokes problem in a domain with a hole, set by a level set function.Till now, I am setting the level set function as in contrib/xfem_contact/xfem_stokes.cc, that is defining an analytical function that returns the distance of a geometrical point from the border set by the level set function (eg: 2D circle of radius=Radius and centre=(0.5,0.5) ):

double ls_value (const base_node &P){double R=Radius;return (P[0]-0.5)*(P[0]+0.5)+(P[1]-0.5)*(P[1]-0.5)-R*R;}

and then calling this function for every dof of the level set mesh FEM and assigning the value to the vector ls.values():

const getfem::mesh_fem &lsmf = ls.get_mesh_fem();for (size_type i=0; i<lsmf.nb_dof();++i)ls.values()[i] = ls_value(lsmf.point_of_dof(i));

Is it possible to add the level set function by directly setting its value (0 or 1) in each dof of the level set mesh FEM?

I can write a function that returns 0 or 1 if the geometrical point P that takes as an argument belongs to one region or the other, but then how can I set the object getfem::level_set ls in getfem?

Thanks in advance.Irene.

_______________________________________________ Getfem-users mailing list Getfem-users@domain.hid https://mail.gna.org/listinfo/getfem-users

-- Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.87.08 Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29 20, rue Albert Einstein 69621 Villeurbanne Cedex, FRANCE http://math.univ-lyon1.fr/~renard -----------------------050403070106060801000306-- From jiangwen84@domain.hid Fri Apr 11 05:52:55 2014 Received: from Debian-exim by gna.org with spam-scanned (Exim 4.80) (envelope-from

Dear all,

--001a113a6d70af86d204f6bc4168--
From marco.pischedda@domain.hid Fri Apr 11 09:29:13 2014
Received: from Debian-exim by gna.org with spam-scanned (Exim 4.80)
(envelope-from ) id 1WYVta-0001Gq-6q
for getfem-users@domain.hid; Fri, 11 Apr 2014 09:29:13 +0200
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on mail.gna.org
X-Spam-Level:
X-Spam-Status: No, score=-2.6 required=3.3 tests=BAYES_00,RCVD_IN_DNSWL_LOW
autolearn=unavailable version=3.3.2
Received: from mail-pb0-f51.google.com ([209.85.160.51])
by gna.org with esmtp (Exim 4.80)
(envelope-from ) id 1WYVtZ-0001FL-NY
for getfem-users@domain.hid; Fri, 11 Apr 2014 09:29:06 +0200
Received: by mail-pb0-f51.google.com with SMTP id uo5so5085593pbc.10
for ; Fri, 11 Apr 2014 00:28:22 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20130820;
h=x-gm-message-state:mime-version:in-reply-to:references:date
:message-id:subject:from:to:cc:content-type
:content-transfer-encoding;
bh=POatfBbyCM84eWUAYDyiKii7EkMoHGJuHlW7R+XTwD0=;
b=kdoYIoKSrNlpK2u6dlwt1LCvctTKN8D7ZUobHDWCOwVEC1i1DRCIMDH+sI+LxkTshK
SmGOg7RMwK8n6vibq8xcgaGMyPX/4Yjh+OJrpa00oWxnK8Wci/5SNvh8yyHtnB+h4mFt
qE9UKp5ZKKPSsLMJFOngUvlx+oNJuPYahfRH7ZydqTee/EeJpGaHRDKtWm/0h27XQbIg
RmYne0ya7KyYnuLyh2OJAoVlgwMRJKWk+zyiHgQfcLWxIPEgxtkB1ZpKqAOsuRhi2BUg
Li+YcZ1ISfw/T6vNkwYWpHYYZEHcTF9m0/XRfj5eqZWT1dNCZcHfJtfIjB+vB2dzOgC5
QgaQ==
X-Gm-Message-State: ALoCoQn5WivyImyzORJSSLlQOikUgvFvHXmIiCsUFnIy22IsqOr4NRlo3hK0iEoaoa7n1zur3Dya
MIME-Version: 1.0
X-Received: by 10.66.148.98 with SMTP id tr2mr25267231pab.33.1397201302730;
Fri, 11 Apr 2014 00:28:22 -0700 (PDT)
Received: by 10.70.47.68 with HTTP; Fri, 11 Apr 2014 00:28:22 -0700 (PDT)
X-Originating-IP: [151.66.134.67]
In-Reply-To: <5343F9AC.3080902@domain.hid>
References:
<5343F9AC.3080902@domain.hid>
Date: Fri, 11 Apr 2014 09:28:22 +0200
Message-ID:
From: Marco Pischedda
To: Yves Renard
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: getfem-users@domain.hid
Subject: Re: [Getfem-users] High level generic assembly procedures
X-BeenThere: getfem-users@domain.hid
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "List for users of Getfem++,
Gmm++ and Getfem-interfaces."
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Fri, 11 Apr 2014 07:29:13 -0000
Dear Yves,
thank you for your answer. I understand how to impose the boundary conditi=
on.
I have another question: in my formulation I'm assembling a term
A(rho)*f.Test_f, where A(rho) is a symmetric matrix defined as
follows:
" [-sqr(rho(2))-sqr(rho(3)), rho(1)*rho(2), rho(1)*rho(3);"
" rho(1)*rho(2), -sqr(rho(1))-sqr(rho(3)), rho(2)*rho(3);"
" rho(1)*rho(3), rho(2)*rho(3) , -sqr(rho(1))-sqr(rho(2))]";
where rho and f are two FemVariables. When I'm assembling this term I
receive this warning message: "WARNING: detected wrong equivalent
nodes".
What does it mean?
Then I have an expression "sin(phi)/phi", how can I insert an "if
condition" (i.e if phi<1e-8) in the expression when "phi" tends to
zero?
Thanks in advance
Marco
2014-04-08 15:29 GMT+02:00 Yves Renard :
>
>
> Dear Marco,
>
> No, "Grad_u.Test_p +p.Grad_Test_u+p.Test_u + p(0)u(0)-p(L)u(L)" is not
> valid. The expression of an assembly string is to be evaluated at each
> Gauss point of the concerned region. An expression such as "p(0)" will
> be understand to be the component 0 of p which is not valid because the
> first component is 1.
> If you want to add some expression on a boundary (an extremity of the
> intervall [0, L] here) then it is possible but not in the same assembly
> string. In your example you have to add the assembly string "p.u" at the
> boundary x=3D0 and "-p.u" at the boundary x=3DL.
>
> However, if you need to prescribe a Dirichlet boundary condition, the
> best would be to use a corresponding model brick (if you use the model
> system).
>
>
> Yves.
>
>
>
>
>
> Le 07/04/2014 15:43, Marco Pischedda a =E9crit :
>> Hi,
>>
>> how can I impose the boundary condition with high level generic
>> assembly? For example I want to assemble "Grad_u.Test_p +
>> p.Grad_Test_u+p.Test_u" and then imposing the value of p on the
>> boundaries of the 1d domain, i.e x=3D0 and x=3DL. It is possible
>> to write "Grad_u.Test_p +p.Grad_Test_u+p.Test_u + p(0)u(0)-p(L)u(L)",
>> i.e can I insert the boundaries conditions in the assembling string?
>>
>> Thanks in advance
>>
>> Marco
>>
>>
>> 2014-04-03 9:52 GMT+02:00 Marco Pischedda :
>>> Dear Yves,
>>>
>>> thank you for bug correction, now it works.
>>>
>>>> Concerning your question on Grad_u for a vector field, it is usually a=
n
>>>> order two tensor (a matrix) except in 1D.
>>> Ok that's good.
>>>
>>> I will let you know if there are other problems.
>>>
>>> Thank you
>>>
>>> Marco
>>>
>>> 2014-04-03 9:25 GMT+02:00 Yves Renard :
>>>>
>>>> Dear Marco,
>>>>
>>>> Concerning your question on Grad_u for a vector field, it is usually a=
n
>>>> order two tensor (a matrix) except in 1D.
>>>> I tried to to the best to make the most operations "dimension
>>>> indepedent" so there is some permitivity in the langage (components of
>>>> size 1 are sometimes ignored).
>>>> Remember also that you can have the expression of any term with the
>>>> commant Print. For instance "Print( Grad_u).Test_p" will print the
>>>> gradient of u on each Gauss point. It does a lot of print, but at leas=
t,
>>>> you can see the format of the term.
>>>>
>>>> Yves.
>>>>
>>>>
>>>> Le 02/04/2014 17:21, Marco Pischedda a =E9crit :
>>>>> Hi,
>>>>>
>>>>> I have other questions:
>>>>>
>>>>> - I tried to assemble separately the following terms:
>>>>> "Grad_u.Test_p" , "p.Grad_Test_u", "p.Test_u" and the code works co=
rrectly.
>>>>> Then I want to assemble the sum of this terms, i.e: "Grad_u.Test_p =
+
>>>>> p.Grad_Test_u+p.Test_u"
>>>>> but I receive the following error:
>>>>>
>>>>> Addition or substraction of incompatible expressions or of differe=
nt sizes
>>>>> terminate called after throwing an instance of 'gmm::gmm_error'
>>>>> what(): Error in getfem_generic_assembly.cc, line 3591 :
>>>>> Error in assembly string
>>>>> Aborted
>>>>>
>>>>> - I'm working in 1d problem with vectors as unknowns. Grad_u is
>>>>> therefore a vector or is a tensor? When I do Grad_u.Test_p the
>>>>> result is a scalar or a vector? Test_p is a vector or a scalar?
>>>>>
>>>>> Thanks in Advance
>>>>>
>>>>> Marco
>>>>>
>>>>>
>>>>>
>>>>> 2014-04-01 17:51 GMT+02:00 Marco Pischedda :
>>>>>> Ok thank you,
>>>>>>
>>>>>> I tried it and it works. I will let you know if there are other prob=
lems.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Marco
>>>>>>
>>>>>> 2014-04-01 17:16 GMT+02:00 Yves Renard :
>>>>>>> Dear Marco,
>>>>>>>
>>>>>>> All seems to me correct in your implementation. This is probably ju=
st
>>>>>>> the test line 2074 of getfem_generic_assembly.cc
>>>>>>> which is not correct for one-dimensionnal problems.
>>>>>>>
>>>>>>> I think the test should be
>>>>>>>
>>>>>>> GA_DEBUG_ASSERT((qdim =3D=3D 1 && t.sizes()[0] =3D=3D N) ||
>>>>>>> (t.sizes()[1] =3D=3D N && t.sizes()[0] =3D=3D=
qdim) ||
>>>>>>> (N =3D=3D 1 && t.sizes()[0] =3D=3D qdim),
>>>>>>> "dimensions mismatch");
>>>>>>>
>>>>>>> May be you can try this. I will validate it if it works.
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Yves.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Le 01/04/2014 16:56, Marco Pischedda a =E9crit :
>>>>>>>> Dear Yves,
>>>>>>>>
>>>>>>>> thank you for your fast answer.
>>>>>>>>
>>>>>>>> I have another question:
>>>>>>>>
>>>>>>>> - I have a monodimensional problem but the unknowns are vectorial.=
I
>>>>>>>> set the vectorial
>>>>>>>> dimension of the unknows with mf_u.set_qdim(3) and with mf_p.set_q=
dim(3).
>>>>>>>> When I define the expression " Grad_u.Test_p " i receive the foll=
owing error:
>>>>>>>>
>>>>>>>> terminate called after throwing an instance of 'gmm::gmm_error'
>>>>>>>> what(): Error in
>>>>>>>> ../../getfem-svn/getfem/src/getfem_generic_assembly.cc, line 2074 =
:
>>>>>>>> dimensions mismatch
>>>>>>>>
>>>>>>>> Grad_u should be a 2nd order tensor, while Test_p should be a vect=
or.
>>>>>>>> I suppose the
>>>>>>>> problem is that Grad_u is interpreted as a vector while Test_p is
>>>>>>>> interpreted as a scalar.
>>>>>>>> How can I use the high level generic assembly procedures on vector=
ial problems
>>>>>>>> defined on a monodimensional computational domain?
>>>>>>>>
>>>>>>>> Thanks in advance
>>>>>>>>
>>>>>>>> Marco
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2014-04-01 8:42 GMT+02:00 Yves Renard :
>>>>>>>>> Dear Marco,
>>>>>>>>>
>>>>>>>>> Yes, your code is correct and it should work correctly.
>>>>>>>>> Note that you can also use the high level generic assembly with t=
he
>>>>>>>>> model object using a generic assembly brick.
>>>>>>>>> Note also that high level assembly is only available in the svn
>>>>>>>>> repository version of Getfem
>>>>>>>>> (and a very recent version, at least r4570 because a bug have bee=
n
>>>>>>>>> corrected on coupled problems recently).
>>>>>>>>>
>>>>>>>>> Yves.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Le 31/03/2014 14:00, Marco Pischedda a =E9crit :
>>>>>>>>>> Dear all,
>>>>>>>>>>
>>>>>>>>>> I want to use the high level generic assembly procedures in orde=
r to
>>>>>>>>>> use the automatic differentation for calculating the Jacobian of=
a
>>>>>>>>>> non-linear problem.
>>>>>>>>>>
>>>>>>>>>> For example I want to calculate the Jacobian of two vectorial
>>>>>>>>>> equations in the unknowns "u" and "p". The first vectorial equat=
ion is
>>>>>>>>>> (u+p).Test_u while the second is (u+p).Test_p.
>>>>>>>>>>
>>>>>>>>>> It is correct the following code?
>>>>>>>>>>
>>>>>>>>>> gmm::sub_interval Iu(0, ndofs_u);
>>>>>>>>>> gmm::sub_interval Ip(ndofs_u,ndofs_p);
>>>>>>>>>> workspace.add_fem_variable("u", mf_u, Iu, U);
>>>>>>>>>> workspace.add_fem_variable("p", mf_p, Ip, P);
>>>>>>>>>> workspace.add_expression("(u+p).Test_u + (u+p).Test_p",mim);
>>>>>>>>>> getfem::model_real_sparse_matrix Jac(ndofs_u+ndofs_p, ndofs_u+n=
dofs_p);
>>>>>>>>>> workspace.set_assembled_matrix(Jac);
>>>>>>>>>> workspace.assembly(2);
>>>>>>>>>>
>>>>>>>>>> In the matrix Jac I have the Jacobian of the system?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks in advance
>>>>>>>>>>
>>>>>>>>>> Marco
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Getfem-users mailing list
>>>>>>>>>> Getfem-users@domain.hid
>>>>>>>>>> https://mail.gna.org/listinfo/getfem-users
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.4=
3.87.08
>>>>>>>>> Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.4=
3.85.29
>>>>>>>>> 20, rue Albert Einstein
>>>>>>>>> 69621 Villeurbanne Cedex, FRANCE
>>>>>>>>> http://math.univ-lyon1.fr/~renard
>>>>>>>>>
>>>>>>>>> ---------
>>>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.=
87.08
>>>>>>> Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.=
85.29
>>>>>>> 20, rue Albert Einstein
>>>>>>> 69621 Villeurbanne Cedex, FRANCE
>>>>>>> http://math.univ-lyon1.fr/~renard
>>>>>>>
>>>>>>> ---------
>>>>>>>
>>>>
>>>> --
>>>>
>>>> Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.87.=
08
>>>> Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.=
29
>>>> 20, rue Albert Einstein
>>>> 69621 Villeurbanne Cedex, FRANCE
>>>> http://math.univ-lyon1.fr/~renard
>>>>
>>>> ---------
>>>>
>
>
> --
>
> Yves Renard (Yves.Renard@domain.hid) tel : (33) 04.72.43.87.08
> Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29
> 20, rue Albert Einstein
> 69621 Villeurbanne Cedex, FRANCE
> http://math.univ-lyon1.fr/~renard
>
> ---------
>
From yves.renard@domain.hid Sun Apr 13 10:45:05 2014
Received: from Debian-exim by gna.org with spam-scanned (Exim 4.80)
(envelope-from ) id 1WZG26-0004zK-J7
for getfem-users@domain.hid; Sun, 13 Apr 2014 10:45:05 +0200
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on mail.gna.org
X-Spam-Level:
X-Spam-Status: No, score=-2.9 required=3.3 tests=BAYES_00,RP_MATCHES_RCVD
autolearn=unavailable version=3.3.2
Received: from smtp.insa-lyon.fr ([134.214.182.244])
by gna.org with esmtp (Exim 4.80)
(envelope-from ) id 1WZG26-0004yo-Cm
for getfem-users@domain.hid; Sun, 13 Apr 2014 10:44:58 +0200
Received: from localhost (localhost [127.0.0.1])
by smtp.insa-lyon.fr (smtp.insa-lyon.fr) with ESMTP id AD7CE4006F;
Sun, 13 Apr 2014 10:44:15 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at insa-lyon.fr
Received: from smtp.insa-lyon.fr ([IPv6:::ffff:127.0.0.1])
by localhost (smtp.insa-lyon.fr [::ffff:127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id VIB1fFQHHJBg; Sun, 13 Apr 2014 10:44:11 +0200 (CEST)
Received: from zstore0.insa-lyon.fr (zstore0.insa-lyon.fr [134.214.182.179])
by smtp.insa-lyon.fr (smtp.insa-lyon.fr) with ESMTP id A8B114006C;
Sun, 13 Apr 2014 10:44:11 +0200 (CEST)
Date: Sun, 13 Apr 2014 10:44:11 +0200 (CEST)
From: Yves Renard
To: Marco Pischedda

Could anyone tell me how to d=
efine new nonlinear operators in high-level assembly?=C2=A0

what does this function =
do?=C2=A0

bool result_size(const=
arg_list &args, bgeot::multi_index &sizes)

and what do those two parameters in this function mean?

Thanks.

Regards,

Wen