escipt for inverse problem

Asked by jeff_

Hello,

I'm a doctor in material sciences working in the CNRS (France), I'm looking for a platform which allows me to build finite element code for inverse problems as described here in P.8 : http://hal.archives-ouvertes.fr/docs/00/32/21/94/PDF/jemt3-ccsd.pdf

The idea is to be able to solve displacement for additional “auxiliary” fields that depends on material properties such as anisotropic fourth-order elasticity coordinates, or damage laws, plasticity laws, or even external forces. In fact the idea is to identify data that the direct FEM model is able to deal with.
The main interest of your platform, is that I can build the auxiliary fields and use scipy to treat the optimization problem.

So I have several questions before I try to implement such method :

* Can I project experimental displacement fields on a given unstructured mesh ?
* Is this possible to define large strain ?
* Can I couple equation with Lagrange multiplier to deal with incompressible materials like rubber ?
* Can I easily extract sub regions of the mesh for the optimization process ?
* Is this possible to use lazy evaluation to find the best relaxation parameters for Newton optimization algorithm ?

Question information

Language:
English Edit question
Status:
Answered
For:
esys-escript Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Lutz Gross (l-gross) said :
#1

We have played around with escript and scipy for optimization but for some simple test cases. It would be interesting to see how things work for more complex problems. In fact we are working on tools to support optimisation/inversion (e.g. including symbolic differentiation) with a focus on geoscience applications.

Your questions:
* Can I project experimental displacement fields on a given unstructured mesh ?
I assume you want to interpolate gridded data to an unstructured grid, see http://esys.esscc.uq.edu.au/esys13/3.2/epydoc/esys.escript.escriptcpp.Data-class.html#interpolateTable.

* Is this possible to define large strain ?
As long as you can express this as a sequence of PDE solves (and mesh updates) there is - in principle - no problem. People have done these with escript.

* Can I couple equation with Lagrange multiplier to deal with incompressible materials like rubber ?
This is tricky business. You have two options:

   (a) use the iterative penalty method, eg. see (1.7) in http://www.google.com/url?sa=t&source=web&cd=9&ved=0CGAQFjAI&url=http%3A%2F%2Fgraduate.math.nus.edu.sg%2F~g0202184%2Fwork%2Fsrmcon.pdf&rct=j&q=penalty%20method%20navier%20stokes&ei=uLO4TeixH426vQPLx-miAw&usg=AFQjCNHGtiI5RfGLTEmXNTbkI7E39_PkcQ&cad=rja. this has been successfully applied in escript for a lot of problems but as the stiffness matrix tends to be ill conditions a direct solver needs to be used which in most cases limit the application to 2D. But it is simple to implement.

   (b) use mixed FEM. escript/finley support macro elements (even on unstructured meshes) to approximate pressure. An implementation for a solver is http://esys.esscc.uq.edu.au/esys13/3.2/epydoc/esys.escript.rheologies.IncompressibleIsotropicFlowCartesian-class.htm which may require modifications to run this for your problem.

* Can I easily extract sub regions of the mesh for the optimisation process ?
I need to know exactly what you want to do.

* Is this possible to use lazy evaluation to find the best relaxation parameters for Newton optimization algorithm ?
Can you explain a bit more what the issue is?

Revision history for this message
jeff_ (witzjean) said :
#2

> Lutz Gross proposed the following answer:

> We have played around with escript and scipy for optimization but for

> some simple test cases. It would be interesting to see how things work

> for more complex problems. In fact we are working on tools to support

> optimisation/inversion (eg including symbolic differentiation) with a

> focus on geoscience applications.

Ok so if you are working on such tool, may be we can have some private
discussion to join our forces, I have done my PhD on this subject, so I can
help.

> * Can I project experimental displacement fields on a given unstructured
> mesh ?

> I assume you want to interpolate gridded data to an unstructured grid,
> see
> http://esys.esscc.uq.edu.au/esys13/3.2/epydoc/esys.escript.escriptcpp.Data-class.html#interpolateTable.

Ok, thanks

> * Is this possible to define large strain ?

> As long as you can express this as a sequence of PDE solves (and mesh
> updates) there is - in principle - no problem. People have done these
> with escript.

Fine.

> * Can I couple equation with Lagrange multiplier to deal with
> incompressible materials like rubber ?

> This is tricky business. You have two options:

> (a) use the iterative penalty method, eg. see (1.7) in
> http://www.google.com/url?sa=t&source=web&cd=9&ved=0CGAQFjAI&url=http%3A%2F%2Fgraduate.math.nus.edu.sg%2F~g0202184%2Fwork%2Fsrmcon.pdf&rct=j&q=penalty%20method%20navier%20stokes&ei=uLO4TeixH426vQPLx-miAw&usg=AFQjCNHGtiI5RfGLTEmXNTbkI7E39_PkcQ&cad=rja.
> this has been successfully applied in escript for a lot of problems but
> as the stiffness matrix tends to be ill conditions a direct solver needs
> to be used which in most cases limit the application to 2D. But it is
> simple to implement.

> (b) use mixed FEM. escript/finley support macro elements (even on

> unstructured meshes) to approximate pressure. An implementation for a

> solver is

> .IncompressibleIsotropicFlowCartesian-class.htm"
> target="_blank">http://esys.esscc.uq.edu.au/esys13/3.2/epydoc/esys.escript.rheologies

> .IncompressibleIsotropicFlowCartesian-class.htm which may require

> modifications to run this for your problem.

Thanks, for the be method I already show it, but it deals with flow, I'm
not sure it can be easily adapted for anisotropic hyperelastic damage laws.

> * Can I easily extract sub regions of the mesh for the optimisation
> process ?

> I need to know exactly what you want to do.

When you solve inverse problem using full field measurement you can't have
the whole specimen observed. So you have two options, you can choose to use
a simplified model as plan stress/strain and directly use the experimental
displacement boundaries as dirichlet condition, or you can model your whole
specimen and applying measured forces, and updating the model you want to
fit using the kinematic full field measured region. The last method is of
course the best, but it's more complex to implement, that's why it is
needed to extract a submesh on a given region, where the optimization
problem will be solved

> * Is this possible to use lazy evaluation to find the best relaxation
> parameters for Newton optimization algorithm ?

> Can you explain a bit more what the issue is?

You can have a lot of bias that you want to avoid, for example I have
solved an inverse 3D heat transfer problem in my older lab where I have to
determine the exchange coefficient and the conductivity of the material.
This values doesn't have the same sensitivity, so I have to relax each
parameter with a given value manually tuned. I think it can be much more
efficient to determine this coefficient using a symbolic approach allowoing
by lazy evaluation.

Best Regards

> If this answers your question, please go to the following page to let us

> know that it is solved:

> https://answers.launchpad.net/escript-finley/+question/154398/+confirm?answer_id=0

> If you still need help, you can reply to this email or go to the

> following page to enter your feedback:

> https://answers.launchpad.net/escript-finley/+question/154398

> You received this question notification because you are a direct

> subscriber of the question.

Revision history for this message
Lutz Gross (l-gross) said :
#3

> * Can I easily extract sub regions of the mesh for the optimisation
> process ?
there is no support for sub-meshes as such but you can solve a suitable dummy problem on the region you are not interested in.

> * Is this possible to use lazy evaluation to find the best relaxation
> parameters for Newton optimization algorithm ?
lazy evaluation is not a symbolic tool box but this is what we are currently working on.

Can you help with this problem?

Provide an answer of your own, or ask jeff_ for more information if necessary.

To post a message you must log in.