Some question about sensitivity analysis by c3d20 element

Hello,
I have used a c3d20 element to test the function of sensitivity analysis in Calculix.The problem is that when I applyed symmetrical load in this element,the result is not symmetrical ,which is counter-intuitive.The response function is K-S stress,which can estimate the maxnium stress of a structure and design variable is surface nodes coordinate(x,y,z).The contour expose the gradient respect to each node’s coordinate along the surface normal direction.I would be pleased if you could help.

fafe37ecec4e432f3cdf833b80dc5ac

image

Happy Chinese New Year!

Could you post your file?

hello this is my input file


*NODE, NSET=Nall
         1,  0.5            ,  0.0            ,  0.5            
         2,  -0.5           ,  0.0            ,  0.5            
         3,  -0.5           ,  -1.0           ,  0.5            
         4,  0.5            ,  -1.0           ,  0.5            
         5,  0.5            ,  0.0            ,  -0.5           
         6,  -0.5           ,  0.0            ,  -0.5           
         7,  -0.5           ,  -1.0           ,  -0.5           
         8,  0.5            ,  -1.0           ,  -0.5           
         9,  0.0            ,  0.0            ,  0.5            
        10,  0.5            ,  -0.5           ,  0.5            
        11,  0.5            ,  0.0            ,  0.0            
        12,  -0.5           ,  -0.5           ,  0.5            
        13,  -0.5           ,  0.0            ,  0.0            
        14,  0.0            ,  -1.0           ,  0.5            
        15,  -0.5           ,  -1.0           ,  0.0            
        16,  0.5            ,  -1.0           ,  0.0            
        17,  0.0            ,  0.0            ,  -0.5           
        18,  0.5            ,  -0.5           ,  -0.5           
        19,  -0.5           ,  -0.5           ,  -0.5           
        20,  0.0            ,  -1.0           ,  -0.5           
*ELEMENT, TYPE=C3D20, ELSET=Eall
         1,         1,         4,         3,         2,         5,         8,         7,         6,
        10,        14,        12,         9,        18,        20,        19,
        17,        11,        16,        15,        13
*BOUNDARY
2,1,3,
3,1,3,
6,1,3,
7,1,3,
12,1,3,
13,1,3,
15,1,3,
19,1,3,
*****

*NSET,NSET=DESIGNNODES,GENERATE
1,20,1      
*DESIGNVARIABLES,TYPE=COORDINATE
DESIGNNODES


** MATERIAL PROPERTIES
**
*MATERIAL, NAME=TI
*ELASTIC, TYPE=ISOTROPIC
1.09e11, 0.303
*DENSITY
4440

*****
*SOLID SECTION,MATERIAL=TI,ELSET=Eall


*STEP
*STATIC
*CLOAD
1,1,10.0           
4,1,10.0           
5,1,10.0           
8,1,10.0             
*NODE FILE
U
*EL FILE
S
*NODE PRINT, NSET=Nall
U
*EL PRINT, ELSET=Eall
S
*END STEP
*STEP
*SENSITIVITY
*DESIGN RESPONSE,NAME=STRESS_RESP
STRESS,DESIGNNODES,12.,825e5
***DESIGN RESPONSE, NAME=MASS_RESP
**MASS,Eall
*FILTER,TYPE=LINEAR,EDGE PRESERVATION=YES,DIRECTION WEIGHTING=YES
1
*NODE FILE
SEN
*END STEP
*STEP
*FEASIBLE DIRECTION
*OBJECTIVE,TARGET=MIN
STRESS_RESP
***CONSTRAINT
**MASS_RESP,LE,1.,
*NODE FILE
SEN
*END STEP




1 Like

It seems you’re not quite familiar with basic element behavior. You are loading the C3D20 as a linear element but C3D20 is a parabolic element capable of holding a parabolic stress distribution along the element edge and for that reason a linear load distribution requires a parabolic load.

For C3D20 corner nodes should hold -F/12 and middle nodes F/3 as described in section 6.11 loading

3 Likes

Thanks!I will try it.

I have solved this problem, just reset the variable dispmin to smaller number(1e-12) in objectivemain_se.c.