![](https://secure.gravatar.com/avatar/829d51c1cf18f5a16d8f17736bb5a968.jpg?s=120&d=mm&r=g)
Dear all,
I am a new user of sfepy that was attracted to this FE code because of the homogenization engine.
I am trying to solve a microproblem using the homogenization engine of sfepy. In my case the microsopic variable is not a vector -like $u^1_i$- but a tensor $\omega^1_{ij}$.
As I understand sfepy provides the CorrDimDim class for storing the resulting microfield for the differnt unitary loads (pis). This class works fine if the unknown is a vector, but in my case it is a second order tensor how can I implement a Corr2Dim2Dim class or even more general CorrNDimMDim class for storing the values of more general fields?
Thank you in advance for your help,
![](https://secure.gravatar.com/avatar/573ed3088eea742af8bcfeac90bc882d.jpg?s=120&d=mm&r=g)
Hi Alexandros,
(sorry for late reply, the message got buried...)
On 18/10/2024 11:21, Alexandros STATHAS via SfePy wrote:
Dear all,
I am a new user of sfepy that was attracted to this FE code because of the homogenization engine.
I am trying to solve a microproblem using the homogenization engine of sfepy. In my case the microsopic variable is not a vector -like $u^1_i$- but a tensor $\omega^1_{ij}$.
As I understand sfepy provides the CorrDimDim class for storing the resulting microfield for the differnt unitary loads (pis). This class works fine if the unknown is a vector, but in my case it is a second order tensor how can I implement a Corr2Dim2Dim class or even more general CorrNDimMDim class for storing the values of more general fields?
Maybe you do not need to implement a new class - what about using the generic CorrNN, and map your two dimensions to a single dimension? (something like I = dim * i + j).
Otherwise have a look at CorrNN (and CoefMN) in sfepy/homogenization/coefs_base.py - there is no user-facing documentation of the internals besides the code.
Cheers, r.
participants (2)
-
Alexandros STATHAS
-
Robert Cimrman