Sensitivity calculation with sfepy
![](https://secure.gravatar.com/avatar/2860f59d1e69ccc40824af495cfe62d0.jpg?s=120&d=mm&r=g)
Hi
My objective is to survey different methods of sensitivity calculation w.r.t. geometry changes (shape and topology optimization) and after looking into many open source FE-codes I believe that Sfepy might be the right choice for me - I love Python, but I am not sure I really grasp the whole structure of Sfepy. I am a structural mechanics guy so I'm starting out with the easiest for me - a simple beam with a traction load.
I am going to ask a lot of questions in the near future. I hope the questions are not too stupid...
- Structure of Sfepy
1.1. Debugging in Eclipse I found it very helpfull to debug in eclipse. I found it pretty easy to set up (on Ubuntu 10.04 at least).
1.2. Setting up the system matrix I am used to classic structural FE-codes where the typical setup (simplified) is: forall elements: ... setup element matrix insert in system matrix ...
Now, in sfepy I cant really figure out where this element loop is, probably not really there. Of course I assume the 'assembling matrix graph...' is pretty much what I am looking for, but I dont really get it. Any explanation or reference would help me.
- More loadcases (different tractions)
I want to use adjoint sensitivity calculation where I need to solve the system once more with a different load (or even a couple of times). What is the easiest way to add loads? In first implementation performance is not really important, but the beautiful solution is of course to keep the inverted system matrix and simply solve for a new right hand side.
Thanks
Best regards
Peter
![](https://secure.gravatar.com/avatar/7d9c28641037f87b01165c3aecbae995.jpg?s=120&d=mm&r=g)
Hi Peter
I use sensitivity calculation in Sfepy for acoustic problems. The theory is based on two-scale homogenization, so I need to solve two sensitivities at different scales, macro and micro. See attached files. It involves also the tests that compares results with finite differences.
Regards Vladimir
On 03/12/2011 02:35 PM, Peter M. Clausen wrote:
Hi
My objective is to survey different methods of sensitivity calculation w.r.t. geometry changes (shape and topology optimization) and after looking into many open source FE-codes I believe that Sfepy might be the right choice for me - I love Python, but I am not sure I really grasp the whole structure of Sfepy. I am a structural mechanics guy so I'm starting out with the easiest for me - a simple beam with a traction load.
I am going to ask a lot of questions in the near future. I hope the questions are not too stupid...
- Structure of Sfepy
1.1. Debugging in Eclipse I found it very helpfull to debug in eclipse. I found it pretty easy to set up (on Ubuntu 10.04 at least).
1.2. Setting up the system matrix I am used to classic structural FE-codes where the typical setup (simplified) is: forall elements: ... setup element matrix insert in system matrix ...
Now, in sfepy I cant really figure out where this element loop is, probably not really there. Of course I assume the 'assembling matrix graph...' is pretty much what I am looking for, but I dont really get it. Any explanation or reference would help me.
- More loadcases (different tractions)
I want to use adjoint sensitivity calculation where I need to solve the system once more with a different load (or even a couple of times). What is the easiest way to add loads? In first implementation performance is not really important, but the beautiful solution is of course to keep the inverted system matrix and simply solve for a new right hand side.
Thanks
Best regards
Peter
participants (2)
-
Peter M. Clausen
-
Vladimír Lukeš