Localization and Homogenization in Micro-Macro scales.

3 months ago by
I have the same question related to bridging micro-macro scale in computational homogenization that Sanny posted in 2013 and Jonnathan in 2015.
Generally, In the context of mechanical problems I need to obtain the average strain, average stress, and effective moduli. In order to do that, in macroscopic structure at each material point, particularly Gauss points in FEM, I need to pass the macro strain field to the microscopic structure which is an RVE to form boundary conditions for a BVP (Boundary Value Problem) so that the BVP in microscale can be solved by FEM. This procedure leads to FE^2 terminology.

But I do not know how Fenics knows "periodic" boundary condition in microscale and how to use FE^2 in fenics.

I would like to  repost the question of Sanny in 2013 also. Link: https://fenicsproject.org/qa/1377/fe-2-or-computational-homogenization/


I was successful in installing and running examples of FEniCS in Linux.

Now I wanted to test if I can extend some of the examples, let us say, a simple diffusion equation to solve a computational homogenization type problem. Specifically, I am looking at nested FE or FE^2,

I need to solve a microscale problem at every integration point, by transferring macroscopic gradient at the integration point as a boundary condition to the microscale and then to transfer back the tangent stiffness from the microscale to the macroscale.

Can someone give hints on:
a) how to loop through integration points
b) how to extract macroscopic gradients at the integration points
c) how to extract tangent matrix

Or has some of you already implemented FE^2 approach for any PDEs.

It will take me quite a while to figure this out, so I would be grateful if any one can give me a head start.

Thank you,

Thanks & Best Regards,
Community: FEniCS Project

2 Answers

3 months ago by

I am not sure that FEniCS is well suited for FE^2 computations. At least, I don't see a straightforward way to do it but it may still be possible to do it by looping over cells. Concerning the other part of your question related to periodic boundary conditions. I have written a documented example for periodic homogenization in FEniCS here:


Hi Bleyerj,

What do you mean about it may still be possible by looping over cells? Is it still possible if we only deal with python interface?
Anyway, thank you for the second part. I will consider using it for the FE^2 if I can break up the macro one.

Regards, Minh

written 12 weeks ago by Minh Nguyen  
3 months ago by

we made this 7 years ago ( never published cause our phd student stopped his thesis ).

The way you could use to solve your problem is to "hack" the fenics c++ version.
Hence you could introduce your periodic constraint

enjoy your time

Thank you so much. I would consider this solution if there is no other choice
written 3 months ago by Minh Nguyen  
Please login to add an answer/comment or follow this question.

Similar posts:
Search »