Error 557 : DRESP2 3 is not referenced from within a structural eigenvalue SUBCASE
Hello,
I am trying to run a single-objective topology optimsation (min compliance) with a user-defined constraint, which is a combination of compliance and eigenfrequency.
I did as follow:
1. Created two loadsteps. Linear static and normal modes.
2. Created two responses (DRESP1): compliance and first eigenfrequency, each one associated to the corresponding loadstep.
3. Defined a DEQUATION for the user-defined constriant.
4. Created a new response (type = function) pointing to the dequation and edited the associated responses before creating it.
5. Created a DCONSTRAINT for the response at point 4.
6 Created an objective for compliance.
When I launch the optimisation I receive the error message below.
*** ERROR # 557 ***
DRESP2 3 is not referenced from within a structural eigenvalue SUBCASE.
This type of response must be specified from within a structural eigenvalue
SUBCASE.
This error occurs in DESSUB 3.
I have found a couple of similar posts on the forum but still unable to fix it. Could anyone provide some hints to solve this error please?
Thank you
Answers
-
Hi,
Can you share the input file so that error in the input deck can be addressed.
0 -
Hi @PrasannaK,
Thanks for answering.
I have attached the *.fem file. Also a constraint on the volume fraction is added in this model.
Regards
0 -
Hi FabioC,
Thank you. I am working on it. I'll get back to you soon.
0 -
FabioC -
You need to pass those DRESP1 responses to the DEQATN as DRESP1L rather than standard DRESP1. The L indicates you are passing the response for a specific load case. For example, the frequency response doesn't make sense for the static load case, and the compliance response doesn't make sense for the modal subcase. So you want to pass the compliance from subcase 1 and the frequency from subcase 2.
Your two constraints are both now global constraints, so those now need to be called out by a DESGLB above the subcases, instead of a DESSUB within the subcase. Because there's a VOLFRAC constraint and the constraint on the DRESP2, I created a DCONADD 12 to add 1 and 2.
Looks like you will now want to put in a real constraint value for the DCONSTR 2.
Here's everything I put above the grid cards. This seemed to work.
SCREEN OUT
DESGLB 12
$HMNAME LOADSTEP 1'static' 1
SUBCASE 1
LABEL static
SPC = 1
LOAD = 2
$HMNAME OBJECTIVES 1objective
DESOBJ(MIN)=1$HMNAME LOADSTEP 2'Modal' 3
SUBCASE 2
LABEL Modal
ANALYSIS MODES
SPC = 1
METHOD(STRUCTURE) = 3BEGIN BULK
$$
$$ Stacking Information for Ply-Based Composite Definition
$$$HMNAME DESVARS 1topology
DTPL 1 PSOLID 2
+ MEMBSIZ 100.0
$$
$$ OPTIRESPONSES Data
$$
DRESP1 1 compl COMP
DRESP1 2 VolFrac VOLFRAC PSOLID 2
DRESP1 3 firstfreFREQ 1
DRESP2 4 NormalCo 1
+ DRESP1L 1 1
+ DRESP1L 3 2
$
$HMNAME DEQUATIONS 1Nconstraints
DEQATN 1 f1(c,w) = c/w
$
$$ OPTICONSTRAINTS Data
$
$HMNAME OPTICONSTRAINTS 1volume_frac
DCONSTR 1 2 0.3
$
$HMNAME OPTICONSTRAINTS 2NORMALS
DCONSTR 2 4-1.0+20DCONADD 12 1 2
- Robert
0 -
DEQUATION needs to be referenced to DRESP2. Here is an example.
$
DRESP1 1 R1 STRESS ELEM SVM3 1
DRESP1 2 R2 STRESS PSHELL SVM4 1
DRESP2 3 MA 1
+ DRESP1L 4 0
+ DRESP1L 2 2
DRESP1 4 vol VOLUME
DEQATN 1 f(a,b)=a+b
$Please check your OS solver deck. Hope it helps.
0 -
Hello,
Thank you all for your help. I changed the way I passed the two DRESP1 from DEQUATION using RESPONSE_BY_LOADSTEP (DRESP1L). This fixed the error.
@Robert Lawson thanks for the thorough explanation.
Regards
Fabio
0 -
Can mathematical expressions defined by dequations be used as objective or constraint?
0 -
Altair Forum User said:
DEQUATION needs to be referenced to DRESP2. Here is an example.
$
DRESP1 1 R1 STRESS ELEM SVM3 1
DRESP1 2 R2 STRESS PSHELL SVM4 1
DRESP2 3 MA 1
+ DRESP1L 4 0
+ DRESP1L 2 2
DRESP1 4 vol VOLUME
DEQATN 1 f(a,b)=a+b
$Please check your OS solver deck. Hope it helps.
I dont understand from this code
please write clearly
I write equation then I dont know what I do
0