Node-Shape sensitivities by Model Reduction

61 views
Skip to first unread message

Peter M. Clausen

unread,
May 3, 2012, 9:10:06 AM5/3/12
to mor4...@googlegroups.com
Hello 

My name is Peter M. Clausen, and I have just added myself to your interesting group. I work at FE-DESIGN (www.fe-design.com) and I'm actively involved in developing commercial optimization tools. My main interest is non-parametric shape optimization, that is using the FE-nodes directly as design variable. We are currently looking at 2nd generation shape optimization using sensitivities and I am trying to figure out an efficient way to calculate nodal stress sensitivities in e.g. Ansys (or Abaqus, Nastran, ...). What we can do right now, in a prototype code, is to calculate the sensitivities based on approximated strain displacement, material and stiffness matrices using adjoint method, something like [1]:

s = C B u   {1}

ds        dB          dK
---  = C ---- u  - q ----- u      {2}
da        da           da

K q = C B  {3}

where s: stress, C: material, B: strain displacement matrix, u: displacement,  a: design variable, q: adjoint variable, K:stiffness matrix. The latter {3} equation is the the adjoint equation which is solved in Ansys.

The method works in principal, but when we have many loadcases, many design nodes, which is a typical setup the sensitivity calculation become tedious. We have also added constraint lumping/aggregation for many stresses, fx p-norm [2]

s_a = sum ( s_e ^p ) ^(1/p)    {4} , where s_a: aggregated stress, s_e: elemental stress, p: norm exponent

It works as well, but is seems very problem dependant.

Now, do any of you reduction model experts have any other ideas about:
- previous publications within model reduction and shape sensitivities (the paper from Han 2011, JMST_2011_jshan.pdf, got my attention to this group)
- ideas how to use model reduction in the shape sensitivity case. Either to the sensitivity equations {1-3} or maybe more robust alternatives to {4}

My main interest priority is first linear statics, then non-linear statics and then dynamics. On forehand, thanks for your time and for any replies or comments you may have.

Best regards

Peter M. Clausen

[1] K.U. Bletzinger et al, Approximation of derivatives in semi-analytical structural optimization, Computers & Structures
Volume 86, Issues 13–14, July 2008, Pages 1404–1416
[2] J. R. R. A. Martins and N. M. K. Poon. On Structural Optimization Using Constraint Aggregation, EngOpt, June. 2005.


Ej

unread,
Jul 30, 2012, 2:04:31 PM7/30/12
to mor4...@googlegroups.com
Hello,

What method do you use to approximate the strain-displacment matrix [B] in ANSYS.

Thanks in advance.

Peter M. Clausen

unread,
Aug 4, 2012, 6:59:50 AM8/4/12
to mor4...@googlegroups.com
Hi Erich

Well, I have not found a way to get the [B]-matrix out of ansys. Our first trivial approach (for tetrahedrons) was to simply program an element separately and take the B-matrix from there. It seems to work OK for tets, but I suspect massive problems with more complex elements like Hex and Shells with all sorts of "evil" tricks (Enhanced Strain Methods, Anti-Locking Stuff, Redused/Modified Integration Schemes etc ).

So I'm also quite curious for other methods for getting Ansys' internal B-matrix....  :-)

/Peter

2012/7/30 Ej <wehrle...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "mor4ansys" group.
To view this discussion on the web visit https://groups.google.com/d/msg/mor4ansys/-/yM4NIr7vynYJ.

To post to this group, send email to mor4...@googlegroups.com.
To unsubscribe from this group, send email to mor4ansys+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/mor4ansys?hl=en.

Evgenii Rudnyi

unread,
Aug 4, 2012, 3:04:55 PM8/4/12
to mor4...@googlegroups.com
On 04.08.2012 12:59 Peter M. Clausen said the following:
> Hi Erich
>
> Well, I have not found a way to get the [B]-matrix out of ansys. Our first
> trivial approach (for tetrahedrons) was to simply program an element
> separately and take the B-matrix from there. It seems to work OK for tets,
> but I suspect massive problems with more complex elements like Hex and
> Shells with all sorts of "evil" tricks (Enhanced Strain Methods,
> Anti-Locking Stuff, Redused/Modified Integration Schemes etc ).
>
> So I'm also quite curious for other methods for getting Ansys' internal
> B-matrix.... :-)

As I have already mentioned, the simplest way would be to employ ANSYS
as postprocessor: to feed displacements into ANSYS and get stresses
directly from ANSYS.

Evgenii

Peter M. Clausen

unread,
Aug 4, 2012, 4:16:34 PM8/4/12
to mor4...@googlegroups.com
2012/8/4 Evgenii Rudnyi <use...@rudnyi.ru>
true, but that only helps getting the stresses.  My (and Erics, I guess) real interest is the Strain Displacement matrix [B], which I do not know how to get, even from some postprocessing step. Any ideas are appreciated. 

/Peter

 


--
You received this message because you are subscribed to the Google Groups "mor4ansys" group.
To post to this group, send email to mor4...@googlegroups.com.
To unsubscribe from this group, send email to mor4ansys+unsubscribe@googlegroups.com.

Evgenii Rudnyi

unread,
Aug 4, 2012, 4:43:38 PM8/4/12
to mor4...@googlegroups.com
On 04.08.2012 22:16 Peter M. Clausen said the following:
> 2012/8/4 Evgenii Rudnyi <use...@rudnyi.ru>
>
>> On 04.08.2012 12:59 Peter M. Clausen said the following:
>>
>> Hi Erich
>>>
>>> Well, I have not found a way to get the [B]-matrix out of ansys. Our first
>>> trivial approach (for tetrahedrons) was to simply program an element
>>> separately and take the B-matrix from there. It seems to work OK for tets,
>>> but I suspect massive problems with more complex elements like Hex and
>>> Shells with all sorts of "evil" tricks (Enhanced Strain Methods,
>>> Anti-Locking Stuff, Redused/Modified Integration Schemes etc ).
>>>
>>> So I'm also quite curious for other methods for getting Ansys' internal
>>> B-matrix.... :-)
>>>
>>
>> As I have already mentioned, the simplest way would be to employ ANSYS as
>> postprocessor: to feed displacements into ANSYS and get stresses directly
>> from ANSYS.
>>
>> Evgenii
>
>
> true, but that only helps getting the stresses. My (and Erics, I guess)
> real interest is the Strain Displacement matrix [B], which I do not know
> how to get, even from some postprocessing step. Any ideas are appreciated.
>
> /Peter

Why do you need it? I thought that you wanted after all to get the stresses.

Evgenii

Peter M. Clausen

unread,
Aug 4, 2012, 5:30:18 PM8/4/12
to mor4...@googlegroups.com


2012/8/4 Evgenii Rudnyi <use...@rudnyi.ru>
On 04.08.2012 22:16 Peter M. Clausen said the following:
2012/8/4 Evgenii Rudnyi <use...@rudnyi.ru>

On 04.08.2012 12:59 Peter M. Clausen said the following:

true, but that only helps getting the stresses.  My (and Erics, I guess)
real interest is the Strain Displacement matrix [B], which I do not know
how to get, even from some postprocessing step. Any ideas are appreciated.

/Peter
Why do you need it? I thought that you wanted after all to get the stresses.


see my first mail in tread - I really want to do sensitivity analysis, like (where ds/da is the final result, the stress s I can of course read directly):

s = C B u   {1}

ds        dB          dK
---  = C ---- u  - q ----- u      {2}
da        da           da

K q = C B  {3}

so you see I'm missing [B] and [dB/da], which I assume I can approximate with a finite difference like we do with the stiffness matrices, see Paper from Bletzinger et al. 

/Peter

 
Evgenii
Reply all
Reply to author
Forward
0 new messages