The Automated (FEA) Constraint approach uses strain energy distribution to automatically determine the Zone(s) and corresponding stiffness components in which to apply stiffness in order to satisfy the constraint. Using a buckling constraint as an example...
A constraint is defined by selecting the problem type, prescribing a limit, and providing a list of Design Cases this limit applies to.
As HyperFEA iterations proceed, HyperX will import results from the buckling solution for selected design cases. For a given eigenmode below the prescribed limit, shown on the left in the image below, HyperX will use the element forces to calculate the strain energy in each element. It will use that strain energy as a guide - along with other information, such as current stiffness, improvement over last iteration, etc. - for where to apply Zone-level Stiffness Requirements.
This algorithm is particularly sophisticated in that it "knows" to apply stiffness to all Zones participating in a given eigenmode, not just the most critical. So, in the case above, HyperX automatically applied stiffness to the skins surrounding the web that is buckling, not just the web itself. As a result, this approach tends to lead to more mass-efficient solutions.
Displacement Constraints work by comparing the actual grid displacement to a user-defined target. At each iteration, the deflection of the Sized Structure is compared to the target. If this target is violated (high or low), the required stiffness values of the afflicted Zones are adjusted for the next iteration.
Important
The grid that is chosen for a Deflection Constraint must not have a displacement boundary condition defined in the selected FEA subcase.
Prescribing a displacement or rotation constraint requires identifying the grid(s) which are not to exceed the defined limit.
Although only a single FEM grid can be specified for Displacement Constraints, the intent is often to limit the movement of an entire section of a FEM, such as the rib at the tip of a wing. However, the Automated Constraints apply a “literal” interpretation of the nodal Displacement Constraint and will stiffen the Structure wherever it is most efficient to do so. This can potentially result undesirable local stiffening of the Structure. In the case of a wing tip rib, selecting a grid in the middle of the rib for a Displacement Constraint could result in the rib itself stiffening in addition to the root of the wing.
There are two recommend routes to avoid this issue:
-
Add an RBE (Nastran) or MPC (Abaqus) to the FEM with the dependent grids attached to the entire section where displacement is to be constrained (an entire rib for example). The FEM will need to be reimported to give access to the grids on this new RBE. Then on the Automated Constraint in HyperX, select the independent/master grid as the location to limit displacement.
-
If the option above is not possible, it is best to select a grid that has natural geometric stiffening from the FEM, such as a grid at the intersection of ribs and spars.
The prescribed displacement/rotation limit is further defined by selecting a Threshold Surface (Plane, Cylinder, or Sphere) that the specified grid cannot exceed. If the grid crosses this defined surface, stiffness parameters are added to afflicted Zones to inhibit this behavior on the next iteration(s). Each Threshold Surface type is outlined below for reference.
Plane
To define a Plane Threshold Surface, the user must select (1) a Grid, (2) a Vector, and (3) a Limit.
-
Grid - Location of desired Displacement/Rotation Constraint; serves as the origin for the plane definition.
-
Vector - Describes the normal of the threshold plane and the direction for plane offset; must be given in global coordinates.
-
Limit - Defines the magnitude and sign of the offset - i.e. the distance the plane is shifted from the location of the grid in the direction of the vector
Cylinder
The Cylinder Threshold surface option is also defined by (1) a Grid, (2) a Vector, and (3) a Limit.
-
Grid - Location of desired Displacement/Rotation Constraint.
-
Vector - Defines the direction of the cylinder centerline.
-
Limit - Defines the radius of the cylinder.
Tip
Should the grid only translate in the direction of the vector (i.e. the centerline of the cylinder) for the specified Design Load Case, the grid will never cross the Threshold Surface. Therefore, no stiffness targets will be generated.
Sphere
For a Sphere Threshold Surface, the user need only define a Grid and a Limit.
-
Grid - Location of desired Displacement/Rotation Constraint.
-
Limit - Defines the radius of the sphere.
Tip
Should the grid's translation magnitude be greater than the radius of the Sphere, Stiffness Constraints will be generated such that the grid will be contained within the Sphere.
Advanced Settings
Automated Constraints have several settings that can be used to adjust the behavior of the process that updates Zone stiffness constraints in each iteration. This form is launched by clicking the “Advanced” button on the Stiffness Optimization Constraints form.
The settings on this form allow adjustments to the behavior of the Stiffness Factor described above. See Advanced Settings Strategy in Best Practices for approaches to adjust these settings to maximize performance of the Automated Constraints.
The plot below depicts the possible range of Stiffness Factors according to the settings on the form. The Stiffness Factors that are selected by the algorithm will fall in the white region of the plot.
The y-axis shows notional Stiffness Factor, which is used to adjust the stiffness constraints on the Zone Settings form.
-
A Stiffness Factor of 1.0 indicates no change to the current Zone stiffness constraint.
-
A Stiffness Factor > 1.0 indicates an increase to the Zone stiffness constraint in the next iteration, and < 1.0 indicates a decrease.
The x-axis shows the Target Factor, which is the target displacement/eigenvalue/frequency divided by the current value.
Note
Convergence Settings do not apply to displacement constraints.
Min/Max Stiffness Factors
For deflection constraints, the Stiffness Factors can go all the way up to the black dotted line.
Localization Aggression
HyperX simultaneously considers numerous other local criteria (material strength, analytical local stability, crippling, etc) while supporting discrete, bounded design spaces and user chosen bounds to Stiffness Factors. Accounting for all of these effects at once can cause slowness in meeting Global FEA Constraint targets. The stiffness optimization algorithm is able to detect when progress has stalled out or slowed down. Typically, this happens when the optimum location to add stiffness nears the maximum dimensions defined on the Design Property. In this scenario, the algorithm will start trying to add more stiffness in less optimal areas. The slider bar controls how aggressive this behavior is, with 0 being least aggressive and 100 being most aggressive.A higher value typically allows for a quicker target approach but can cause less performant designs due to over-fulfillment of the minimum requirement.
Frequency Constraints
A Frequency Constraint is defined by providing a minimum global natural frequency for a particular FEA frequency subcase/load step. Stiffness targets are generated such that any requested natural frequency in the defined cases is greater than the specified minimum. The severity of the mode is computed per Zone to bias stiffness factors towards Zones that are participating in the mode shape.
The frequency constraint algorithm is identical to the one used for buckling.
Although HyperX has several analysis methods for panel buckling, there are some scenarios where it is appropriate to use HyperFEA with Buckling Constraints to dictate the stiffness of the Structure. These scenarios include:
-
Global Buckling Modes - HyperX buckling analysis methods are intended for panels with well-defined boundary conditions (simple, fixed, or free), without any additional structure attached on the interior of the panel. For buckling modes that span multiple panels (separated by ribs/spars/frames/etc), it is appropriate to use FEA Buckling Constraints to determine how to stiffen the panel and substructure appropriately to meet the eigenvalue target.
-
Non-Rectangular Zone Shapes - HyperX methods assume a rectangular Zone shape, which may not be accurate for highly irregular Zones.
-
Significant Load Gradient Within Zones - HyperX methods assume a uniform load distribution (or linearly varying, with SS8), and are not comparable to FEA eigenvalues when significant load irregularity is present. However, this can sometimes be resolved by splitting up Zones according to load concentrations.
A Buckling Constraint is defined by providing a minimum global buckling eigenvalue for a particular FEM buckling subcase/load step. Stiffness targets are generated such that any requested buckling eigenvalue in the defined cases is greater than the specified minimum. The severity of the mode is computed per Zone to bias stiffness factors towards Zones that are participating in the mode shape.
Note
Buckling Constraints are supported for all FEA solver formats. The Project must include the run deck with the buckling solution. Modal grid displacements must be exported to the relevant FEA results file. See FEA Results Layouts.
Note
The solution achieved by the HyperFEA Buckling Constraints is only as accurate as the FEM used to determine the FEA eigenvalues.
For example, ribs in aircraft wings often have “mouseholes” where stiffeners on the skin pass through the rib. These features are often not modeled in global loads FEMs, which can cause an artificially stiff boundary condition for buckling of the skin. It is up to the user to account for these artifacts by adjusting the target eigenvalue, or through other methods of their choice.
Automatic Buckling Constraints necessitate only a minimum buckling eigenvalue and corresponding Design Load Case. In this way, HyperX will automatically determine the Zone and stiffness terms for Stiffness Constraint application. An example of an automatic Buckling Constraint is shown below.
Tip
Be sure to also request Element Forces for each buckling case in the output solution.
For each buckling design case, HyperX will use the element forces to calculate the strain energy in each element corresponding to each eigenmode below the required limit. A stiffness factor (St) is calculated for every component in the stiffness matrix using a strain energy minimization approach.
\(StF_i^{j\left(k\right)} = \frac{EV_{targ}^{j\left(k\right)}}{EV^{j\left(k\right)}} \cdot Adj^{j\left(k\right)} \cdot \frac{\frac{1}{2}N_i\epsilon_iA_z}{\max \left(\frac{1}{2}N_i\epsilon_iA_z\right)}\)
Where:
-
Target Factor \frac{EV_{targ}^{j\left(k\right)}}{EV^{j\left(k\right)}} is the stride length based on “distance” from the target FEA Constraint.
-
Adjustment \Adj^{j\left(k\right)} is additional factor that is determined algorithmically to compensate for localization, design space discreteness and bounds, etc.
-
Sensitivity \frac{\frac{1}{2}N_i\epsilon_iA_z}{\max \left(\frac{1}{2}N_i\epsilon_iA_z\right)}\) is the normalized stored strain energy contribution of this stiffness component. Calculated from load (N), strain (ϵ), and Area (A)
Note
The sensitivity is derived from combining Castigliano’s Theorem and the well-known concept of strain energy minimization deploying an adjoint method while the stride length is chosen in the standard fashion.
This stiffness factor St is multiplied by the existing stiffness in that component to generate a new required stiffness, which is enforced during Sizing. Using A11 as an example:
\A^{j(K))}_{11,req}= \StA^{j(k)}_{11} \cdot A^{j(k)}_{11,sized}
The factors that scale the stiffness terms (Stiffness Factors) can be bound by a maximum and minimum setting.
Advanced Settings for Modal Constraints
Automated Constraints have several settings that can be used to adjust the behavior of the process that updates Zone stiffness constraints in each iteration. This form is launched by clicking the “Advanced” button on the Stiffness Optimization Constraints form.
The settings on this form allow adjustments to the behavior of the Stiffness Factor described above. See Advanced Settings Strategy in Best Practices for approaches to adjust these settings to maximize performance of the Automated Constraints.
The plot below depicts the possible range of Stiffness Factors according to the settings on the form. The Stiffness Factors that are selected by the algorithm will fall in the white region of the plot.
The y-axis shows notional Stiffness Factor, which is used to adjust the stiffness constraints on the Zone Settings form.
-
A Stiffness Factor of 1.0 indicates no change to the current Zone stiffness constraint.
-
A Stiffness Factor > 1.0 indicates an increase to the Zone stiffness constraint in the next iteration, and < 1.0 indicates a decrease.
The x-axis shows the Target Factor, which is the target displacement/eigenvalue/frequency divided by the current value.
Convergence Settings
When design changes significantly alter the buckling load path, initially critical Zones may no longer experience the same internal load, meaning structural performance would be diminished. This motivates the introduction of the min and max factor offsets which allow the algorithm more room to improve structural performance at the expense of convergence stability.
The Min and Max Factor Offset default values are zero. In this scenario, the algorithm can only increase stiffness when it is below the target (Target Factor > 1.0) and increase stiffness when it is above the target (Target Factor< 1.0). This approach aids with stable convergence.
However, it is possible to gain performance (reduce weight) with non-zero Min and Max Factor Offset. This allows the algorithm to reduce stiffness constraints in areas where it is no longer needed. For example, the load path in the structure may shift during HyperFEA iterations and an area that needed to be stiff in early iterations no longer needs high stiffness
Min/Max Stiffness Factors
Modal Constraint problems inherently suffer from iterative effects. After a certain local mode shape is treated, the location of of the next mode can be very different. Then, only the second location gets scaled up while the algorithm attempts to reduce the stiffness of the previously critical area in order to save mass.
To address this phenomena, the factors that scale the stiffness terms (Stiffness Factors) can be bound by a maximum and minimum setting. This effect is dealt with by restricting the lower bound of the Stiffness Factors for Modal Constraints to be 1.0 (i.e. local target stiffnesses cannot be reduced) as long as the target has not been reached. Similarly, maximum Stiffness Factors can never exceed 1.0 (i.e. local target stiffnesses cannot be increased) when the target is exceeded.
Localized Aggression
HyperX simultaneously considers numerous other local criteria (material strength, analytical local stability, crippling, etc) while supporting discrete, bounded design spaces and user chosen bounds to Stiffness Factors. Accounting for all of these effects at once can cause slowness in meeting Global FEA Constraint targets. The stiffness optimization algorithm is able to detect when progress has stalled out or slowed down. Typically, this happens when the optimum location to add stiffness nears the maximum dimensions defined on the Design Property. In this scenario, the algorithm will start trying to add more stiffness in less optimal areas. The slider bar controls how aggressive this behavior is, with 0 being least aggressive and 100 being most aggressive.A higher value typically allows for a quicker target approach but can cause less performant designs due to over-fulfillment of the minimum requirement.
The advanced settings for Automated Constraints have default values which work well for most problems. However, it is possible to gain additional performance (lower weight) by fine-tuning these settings for specific problems. In general, the algorithm performs best with 5-10 iterations. The sections below describe different adjustments that can be made to the algorithm to better solve particular problems.
Converges Below Target
This behavior is typically a symptom of Zones hitting max gauge in areas where the algorithm is trying to add significant stiffness. This can occur when a small number of Zones are much more effective than all the others at meeting the FEA Constraint.
The issue can be resolved by moving the Localization Aggression slider to the right (higher value). This causes the algorithm to be more aggressive in adding stiffness in non-optimum areas. Additionally, if possible, increase the maximum gauge on the Design Property.
Converges Too Slowly
Slow convergence happens when the algorithm takes steps that are too small. This can be addressed by either increasing the Max Stiffness Increase Factor, or by increasing the Localization Aggression setting.
Tip
It is recommended to try these approaches one at a time before trying them together.
Overshoots Target
Overshooting is typically a symptom of the algorithm taking steps that are too large. This can be addressed by either decreasing the Max Stiffness Increase Factor, or by decreasing the Localization Aggression setting.
Tip
It is recommended to try these approaches one at a time before trying them together.
Sometimes the Automated Constraint solution will overshoot the target if the Advanced FEA Criteria Settings are too aggressive. If aggressive settings are necessary for the problem, it can be helpful to set the Convergence Criteria to stop HyperFEA iterations as soon as the Constraints are met. This can be done by creating a top-level “Or” group and adding a Convergence Criterion of "Constraint Type > Met".
Tip
If this approach is used, it is recommended to manually add an extra HyperFEA iteration (with Sizing) with FEA Constraints off to converge the load path and Sizing results.