Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The eigenfrequency optimisation is added as an experimental new function in this release. The option can be activated and set-up with the Advanced User Settings as for a separate event and therefore additionally to a static load casecases.

The eigenfrequencies for each iteration of the optimisation process are calculated by MSC Nastran. Therefore, MSC Nastran has to be installed on the same machine and a valid license is required.

The

...

path to the nastran executable has to be set manually in the application settings:

Image Added

Please use nast20233(.exe) (or the matching executable for your installed nastran version) for frequency analysis.

If you want to run the optimisation also via the command line you need the set up the following environment variable

EMENDATE_SERVICE_NASTRAN

C:\Program Files\MSC.Software\MSC_Nastran\2023.2\bin\nast20232.exe

Initializing the frequency

...

event.EventFA.strategy=conditionBasedFrequencyAnalysis

event.EventFA.frequencyTarget=170

event.EventFA.safetyFactor=1

...

optimisation:

In a first step a frequency Event has to be created. A frequency Event should only consists of displacement constraints without any loads or moments.

...

The frequency constraint can directly set in the GD Scenario:

...

The Frequency Constraint (in Hz) is the target for the first occurring eigenfrequency of the part.

As an optional input the range and the number of frequencies which are taken into account for the optimisation can be modified . By default the first 10 eigenmodes are considered to an upper frequency limit of 3 times the frequency target.

event.EventFA.frequencyMax=4500
event.EventFA.frequencyCount=10

Advanced User Settings to copy Boundary Conditions from an already existing Event:

Since the eigenfrequency optimisation isn’t integrated into the GUI yet, Boundary Conditions (Fixations) can be copied from a static event. Therefore, the following command needs to be added:

event.EventFA.condition.\.include = event.Event_1.condition

Event_1 is the static Event from which the BCs will be copied.

...

Advanced User Settings to create a Point Mass:

pointMass.pointMass1.geometryName=ModelLoadEvent_Force_-_Moment_1
pointMass.pointMass1.x=0.87468
pointMass.pointMass1.y=0.625685
pointMass.pointMass1.z=0.33058
pointMass.pointMass1.type=RBE3
pointMass.pointMass1.mass=1.54

Point Masses can also be considered in a frequency event. A Point Mass can only be attached to surfaces where a Force is already applied to. The geometry name has to be linked correctly.

Furthermore, the coordinate point of the Point Mass, the mass itself and the connection type (RBE2, RBE3) to the surface need to be entered.

with the Advanced User Settings.

Known Limitations

Symmetry
Info

Symmetry and a Frequency Event cannot be set up together. Some of the Eigenfrequency modes will be asymmetric.

Frequency

...

Constraint
Info

If the Frequency Target Constraint is higher than the first calculated Eigenfrequency of the whole Design Space in the first Iteration, this can lead to the case that no material will be reduced. This can be resolved by reducing the Frequency Target Constraint or by entering the following command to the Advanced User Settings:

schedule.iterations.~.operator.optloop_loop_analysis_EventFAEvent-2_extractLocalFailures.useMetricGoalFactor=1

Point Masses
Info

It has been found that comparable heavy point masses can cause that the optimisation does not achieve the Frequency TargetConstraint. To address this the impact value can be set up to a value greater than 1. This can be done with the following Advanced User Settings command:

event.EventFAEvent_2.impact=1.5

Info

RBE2 can be used as a connection type, but the RBE2 connection won’t be considered in a static load case. This can occur if a Point Mass is added in combination with acceleration. In this case, the static load of the point mass will be considered with a RBE3 connection.

You might also be interested in this tutorial: