ERROR # 1812

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

Multiple responses are assigned to the DESOBJ objective function.
  A MINMAX/MAXMIN objective function definition with DOBJREF should
  be used instead.
  Number of responses = 226981

Answers

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited July 2020

    what are you trying to do?

    It would be helpful if you describe what is your aim.

     

    By the error message you probably selected a stress(???) response and made it as objetive, which would give this kind of error.

     

    Objetive in OptiStruct should point to a SINGLE value, which is not your case, as you would have 226981 values as response (Vector Response).

    so in order to get this to work, as suggested by your error message, you should change this to a 'minmax' problem.

    I this case, you need to create a DOBJREF, assigning first your response (Stress??) and giving it a reference value. If it is stress, you can either use 1.0 or the yield stress as reference. DOBJREF will only divide your response by this reference.

     

    Using minmax as objective and refering to the DOBJREF, OS will extract the maximum stress(???) value from all your elements, and try to minimize this value specifically, instead of looking all the values.

    In the next iteration, it will look again for the highest value...and so on...

     

     

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    @Adriano A. Koga,

    what are you trying to do?

    It would be helpful if you describe what is your aim.

     

    By the error message you probably selected a stress(???) response and made it as objetive, which would give this kind of error.

     

    Objetive in OptiStruct should point to a SINGLE value, which is not your case, as you would have 226981 values as response (Vector Response).

    so in order to get this to work, as suggested by your error message, you should change this to a 'minmax' problem.

    I this case, you need to create a DOBJREF, assigning first your response (Stress??) and giving it a reference value. If it is stress, you can either use 1.0 or the yield stress as reference. DOBJREF will only divide your response by this reference.

     

    Using minmax as objective and refering to the DOBJREF, OS will extract the maximum stress(???) value from all your elements, and try to minimize this value specifically, instead of looking all the values.

    In the next iteration, it will look again for the highest value...and so on...

     

     

    Thank you so much for your kind response. Sorry for not posting the full message, as i am trying to minimise the deformation and at the same time stress as well. What would be the correct method to do so?

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited July 2020

    i believe that by deformation you mean displacement.

     

    So you want to have a combination of minimum stress and displacement.

    That's exactly what DOBJREF does, combininng different response vectors into 1 single value.

     

    As stresses and displacements are different kind of responses, also you would have different order of magnitude...let's say stresses in MPa around  ~100's and displacements in 'mm' around ~10's.

    So if you just consider their absolute values, stress will always have a higher weighting numerically speaking, by simply being higher than displacements.

     

    By using DOBJREF, you select your responses and assign them a Reference Value.

    DOBJREF will take your original absolute value and divide by the Reference Value, thus getting a normalized value.

    If you provide as reference 100 for example, for the stress, and one element gets 340MPa, your normalized value will be 3.4.

    For disp, if you provide 1.0 as reference and your displacement is 2.5mm, the normalized value will be 2.5.

     

    In the end, by using MINMAX (your objective References), OS will look after ALL the normalized values (stress, dsiplacements,...) and try to minimize the maximum of them, meaning that if the worst case is stress, it will try to reduce stress. If the worst case now is displacement, it will go after displacement, and so on.

     

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    i believe that by deformation you mean displacement.

     

    So you want to have a combination of minimum stress and displacement.

    That's exactly what DOBJREF does, combininng different response vectors into 1 single value.

     

    As stresses and displacements are different kind of responses, also you would have different order of magnitude...let's say stresses in MPa around  ~100's and displacements in 'mm' around ~10's.

    So if you just consider their absolute values, stress will always have a higher weighting numerically speaking, by simply being higher than displacements.

     

    By using DOBJREF, you select your responses and assign them a Reference Value.

    DOBJREF will take your original absolute value and divide by the Reference Value, thus getting a normalized value.

    If you provide as reference 100 for example, for the stress, and one element gets 340MPa, your normalized value will be 3.4.

    For disp, if you provide 1.0 as reference and your displacement is 2.5mm, the normalized value will be 2.5.

     

    In the end, by using MINMAX (your objective References), OS will look after ALL the normalized values (stress, dsiplacements,...) and try to minimize the maximum of them, meaning that if the worst case is stress, it will try to reduce stress. If the worst case now is displacement, it will go after displacement, and so on.

     

    Thank you so much for your reply. I have one doubt as you explained above that either it will minimize the displacement or stress depending upon the cases, but in constraints i am keeping static displacement which is lower bound 15mm and upper bound 18mm, so will it consider this value after i use MINMAX?

    Thanks in advance.

    SFM

     

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited July 2020

    correct. MINMAX will take the higher normalized value at the current iteration and try to minimize it, no matter if it is a displacement or stress.

     

    usually you do not apply the same response as both objective and constraints. When you set an objective you want the optimizer to do its best in order to minimize or maximize it. So usually you wouldn't need to constraint these values. If you are imposing a target for them, only constraints should take care of it.

     

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    correct. MINMAX will take the higher normalized value at the current iteration and try to minimize it, no matter if it is a displacement or stress.

     

    usually you do not apply the same response as both objective and constraints. When you set an objective you want the optimizer to do its best in order to minimize or maximize it. So usually you wouldn't need to constraint these values. If you are imposing a target for them, only constraints should take care of it.

     

    As i have just used one more response as amass and kept this as a objective. After i run the free size optimization i got this at the end 'OPTIMIZATION HAS CONVERGED. INFEASIBLE DESIGN (AT LEAST ONE CONSTRAINT VIOLATED).' Most violated constraint was static displacement, now i am not getting how to solve this. 

    This is what i am getting,

    ITERATION  28
      Three consecutive iterations have very small changes in both
      the objective function value and maximum constraint violation.
        convergence ratio =  2.9618E-04 <   5.0000E-03
         violation change =     0.053 % <      0.200 %
         (No feasible design can be obtained.)

    Objective Function (Minimize MASS ) =  1.34228E-01   % change =        -0.03
    Maximum Constraint Violation %      =  0.85862E+02
    Design Volume Fraction              =  3.19042E-01   Mass     =  5.71354E+00

     Subcase   Compliance     Epsilon
          38  2.114053E+06 -1.148442E-04

    1. Should i increase the laminate thickness? previuosly i kept as a 2 to 12mm in design variable.

    Thanks in advance.

    SFM

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited July 2020

    you have 85% of violation. This is a lot.

    You should review what nodes are causing this violation, and also investigate what thicknesses you have, specially those which are in the upper bound value.

    You might need to increase it.

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    you have 85% of violation. This is a lot.

    You should review what nodes are causing this violation, and also investigate what thicknesses you have, specially those which are in the upper bound value.

    You might need to increase it.

    Hallo,

    Thank you for your reply, but my target is to maintain the displacement not more than 18mm. In this scenario how should i have to behave with the model, what are the other possibilities to maintain this displacement?

    Best Regards

    SFM 

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited July 2020

    again, you should take a look at your .out file and investigate what are the thickness distribution in your model, and specially where it is at the maximum value. This should give you a hint on what is the limiting region in your design.

     

    You might need to increase your thickness bounds.

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    again, you should take a look at your .out file and investigate what are the thickness distribution in your model, and specially where it is at the maximum value. This should give you a hint on what is the limiting region in your design.

     

    You might need to increase your thickness bounds.

    Thank you for your reply, i have tried with the higher upper bound in static displacement and it runs successfully but after free size optimization i ran the size optimization and i was facing this error,

    1. indicates that the design property differs from the analysis property at
      the first iteration
    @ indicates that the design property is frozen because it is only affected
      by inactive design variables.

    2. *** ERROR # 153 ***
     Exactly zero pivoting encountered during Numerical Factorization;
     the model may have rigid body mode.
      Solver error no. =   -503 
            spc set id = 301 
                 index =      1 
     Possible reasons are:
     1) insufficiently constrained model,
     2) having rigid body mechanisms within the model,
     3) extremely ill-conditioned rigid element sets,
     4) extremely thin shells (as used for skinning) that have MID2/MID3,
     5) gap elements with extremely high stiffness (KA, especially KT or MU).
     6) extremely high Poisson's ratio in hyperelasticity material definition.
     Check the model and rerun the problem.
     (MECHCHECK may be used to find the rigid body modes.  To do so,
      change the input to be an eigenvalue analysis and add MECHCHECK.)
     (WARNING: results obtained with MECHCHECK cannot be used because
              the model is changed internally.) This error was detected in subroutine bcsmtxfct.
     
     This error occurs in module 'lstatdrv'.

    3. I had cross verify my model with eigen and MECHCHECK card but couldnt find any error and also the displacement  is 16mm. As i used the same model in the previous trial and didnt get any error like this before, could you please help me out this error.

    Thanks in advance

    SFM

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited July 2020

    did you check the thickness values over your design? 

    In order to achieve the constraints defined in your optimization problem, the solver may be reducing too much the thickness in some parts in order to increase the most critical areas. 

    I would review the result files of the failed run and try to figure it out what is happening..where thicknesses are too high, where they're too low. From that info you might understand better where is the bottleneck of your problem.

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    did you check the thickness values over your design? 

    In order to achieve the constraints defined in your optimization problem, the solver may be reducing too much the thickness in some parts in order to increase the most critical areas. 

    I would review the result files of the failed run and try to figure it out what is happening..where thicknesses are too high, where they're too low. From that info you might understand better where is the bottleneck of your problem.

    That would be nice if you review my result.  It would be better if i get your email id so that i can share my model to you directly. 

    Unable to find an attachment - read this blog

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited July 2020

    Have you reviewd the .out file??

    Iteration 0 already shows an issue with Total Laminate Thickness.

    It seems like you have defined a maximum laminate thickness that is below what you current have.

    And also, depending on what responses you have it would be nice to use a non-zero lower bound for thickness to avoid singularities.

     

                        COMPOSITE MANUFACTURING CONSTRAINTS
    ----------------------------------------------------------------------------
     User-ID       Constraint Information         Status      Max    Avg    Pct  
               Type      Bound   Group   Elem                Viol.  Viol.  Viol. 
    ----------------------------------------------------------------------------
           3  LAMTHK     UPPER           ALL      Violated   83.1   34.6   44.8
    ----------------------------------------------------------------------------

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    Have you reviewd the .out file??

    Iteration 0 already shows an issue with Total Laminate Thickness.

    It seems like you have defined a maximum laminate thickness that is below what you current have.

    And also, depending on what responses you have it would be nice to use a non-zero lower bound for thickness to avoid singularities.

     

                        COMPOSITE MANUFACTURING CONSTRAINTS
    ----------------------------------------------------------------------------
     User-ID       Constraint Information         Status      Max    Avg    Pct  
               Type      Bound   Group   Elem                Viol.  Viol.  Viol. 
    ----------------------------------------------------------------------------
           3  LAMTHK     UPPER           ALL      Violated   83.1   34.6   44.8
    ----------------------------------------------------------------------------

    Hallo Sir,

    Ok, i will check the laminate thickness and define the suitable laminate thickness. After that i will letyou know about the progress.

    Thanks,

    SFM

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    As i have changed the laminate thickeness by checking my actual thickness, free size optimization is run successfully but during the size optimization i am getting this error,

    ERROR # 703 ***
     number of design variables = 193
            number of constraints = 669
        error code from optimizer = 900
     The optimizer failed to find a solution of the optimization 
     problem at the current iteration.

    Also i ahve gone through the .output file but i didnt get anything there. For your reference i have attached the .out file. Please have alook.

    Could you please let me know what is this error?

    Thanks in advance

    SFM 

    Unable to find an attachment - read this blog

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited July 2020

    Not sure. Maybe it might be something related to this warning.

    Like mentioned before, try not using 0.0 as lower bound for thickness.

     

     *** WARNING # 6364
     Laminate thickness could reach zero in some zones of STACK 3 which
     is invalid. It is recommended to create a minimum laminate thickness
     constraint on the DCOMP card, or to specify non-zero lower bounds on
     the corresponding DESVAR cards.

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    Not sure. Maybe it might be something related to this warning.

    Like mentioned before, try not using 0.0 as lower bound for thickness.

     

     *** WARNING # 6364
     Laminate thickness could reach zero in some zones of STACK 3 which
     is invalid. It is recommended to create a minimum laminate thickness
     constraint on the DCOMP card, or to specify non-zero lower bounds on
     the corresponding DESVAR cards.

    Ok sir i will change to some non zero value and again i wll run, then let you know. Thank you so much for your help.

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    Ok sir i will change to some non zero value and again i wll run, then let you know. Thank you so much for your help.

    Hello Sir,

    As i have tried by changing the non zero value but i got the same error, please let me know if you find solution for this. Herewith i am attaching the .out file for your reference. Can i  share my model?

    Thanks,

    SFM

    Unable to find an attachment - read this blog

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    Hello Sir,

    As i have tried by changing the non zero value but i got the same error, please let me know if you find solution for this. Herewith i am attaching the .out file for your reference. Can i  share my model?

    Thanks,

    SFM

    Hallo Sir,

    I find the solution for that and i ran all the three optimization process. I got the result as well which gave less number of displacement.

    1.But the problem i am facing rignt now that i am getting unsymmetric result on the model. Also, after the size optimization i am not getting option in the result to check the ply thickness. 

    2. After free size optimization we get number of bundle plies and when we check ecah plies that gives different shape,as my model is symmetric i should have to get the same shape in both the side but in my case i am not getting.

    3. After size optimization that unshaped plies should get the shape i think so, but i am not getting. 

    Please help me out if you have any idea regarding this issue,  i would be very grateful to you.

    Best Regards,

    SFM

    Unable to find an attachment - read this blog

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited July 2020

    in order to guarantee a symmetric shape distribution, i would suggest you to start your free-size optimization and adding symmetry (pattern grouping).

    Once the free-size is executed, it will give you symmetric plies for the size optimization.

    <?xml version="1.0" encoding="UTF-8"?>image.thumb.png.9ac7f901a7994060bd2094ee3e0177d2.png

  • Faisal
    Faisal Altair Community Member
    edited July 2020

    Hello Sir,

    As i have tried with this option i got a better result compare to the last time but still its not symmetric. I am getting this issue after i ran size optimization,

    'indicates that the design property differs from the analysis property at
      the first iteration
    @ indicates that the design property is frozen because it is only affected
      by inactive design variables'.

    Also i have one more doubt after free size optimization when we open a .fem file for the size optoimization we see a number of design variable generated as fstosz, fstos.1, ansd so on....., do i need to change any value in the upper bound in this beacuse already the upper bound value is greater than initial value. 

    Please have a look on my concern. For your reference i have attach the .out file.

    Regards,

    SFM

    Unable to find an attachment - read this blog