Error 557 : DRESP2 3 is not referenced from within a structural eigenvalue SUBCASE

FabioC
FabioC Altair Community Member
edited October 2020 in Community Q&A

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

  • PrasannaK
    PrasannaK
    Altair Employee
    edited November 2019

    Hi, 

    Can you share the input file so that error in the input deck can be addressed.

  • FabioC
    FabioC Altair Community Member
    edited November 2019

    Hi @PrasannaK,

    Thanks for answering.

     

    I have attached the *.fem file. Also a constraint on the volume fraction is added in this model.

     

    Regards

    Unable to find an attachment - read this blog

  • PrasannaK
    PrasannaK
    Altair Employee
    edited November 2019

    Hi FabioC,

    Thank you. I am working on it. I'll get back to you soon.

  • Robert Lawson
    Robert Lawson Altair Community Member
    edited November 2019

    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) =        3

    BEGIN 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+20                                 

    DCONADD       12       1       2
     

     

    - Robert

     

  • Rahul Rajan_21763
    Rahul Rajan_21763 New Altair Community Member
    edited November 2019

    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.

  • FabioC
    FabioC Altair Community Member
    edited November 2019

    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     

  • durukanbdilek
    durukanbdilek Altair Community Member
    edited March 2020

    @Rahul R,

     Can mathematical expressions defined by dequations be used as objective or constraint?
  • durukanbdilek
    durukanbdilek Altair Community Member
    edited April 2020

    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