Backward Compatibility with Version 6.3 and Earlier
New Rotating Frame Feature
In the Solid Rotor and Solid Rotor, Fixed Frame interfaces, the Rotor Axis and Change Rotor Speed nodes have been deprecated. When opening a model created in an earlier version of COMSOL Multiphysics, all Rotor Axis nodes are automatically replaced by corresponding Rotating Frame nodes.
If the model contains any Change Rotor Speed nodes with matching domain selections, the settings will automatically be updated in the corresponding Rotating Frame node. Any unmatched Change Rotor Speed nodes must be updated manually.
For those using the COMSOL API for use with Java, manual migration of old models is required. This can be done by replacing old code such as:
model.component("comp1").physics("rotsld").prop(RotorProperties").set("freqr","1[Hz]");
model.component("comp1").physics("rotsld").prop("SpinSoftening").set("SpinSoftening",false);
with
model.component("comp1").physics("rotsld").feature("rotf1")
.set("freqr","1[Hz]");
model.component("comp1").physics("rotsld").feature("rotf1")
.set("includeSpinSoftening",false);
In addition, code for setting up the axis of rotation in a Rotor Axis node with an edge or point selection such as:
model.component("comp1").physics("rotsld").feature("raxi1")
.set("specifiedBy","Edge");
model.component("comp1").physics("rotsld").feature("raxi1")
.feature("axis1").selection().set(1);
and
model.component("comp1").physics("rotsld").feature("raxi1")
.set("specifiedBy","Supports");
model.component("comp1").physics("rotsld").feature("raxi1")
.set("Location","SelectedPoints");
model.component("comp1").physics("rotsld").feature("raxi1")
.feature("fsup1").selection().set(1,2);
model.component("comp1").physics("rotsld").feature("rotf1")
.feature("ssup1").selection().set(3,4);
must be replaced with
model.component("comp1").physics("rotsld").feature("rotf1")
.set("axisOfRotation","edgeSelection");
model.component("comp1").physics("rotsld").feature("rotf1")
.selection("axisEdgeSelection").set(1);
and
model.component("comp1").physics("rotsld").feature("rotf1")
.set("axisOfRotation","pointSelection");
model.component("comp1").physics("rotsld").feature("rotf1")
.selection("axisPointSelection1").set(1,2);
model.component("comp1").physics("rotsld").feature("rotf1")
.selection("axisPointSelection2").set(3,4);
If you do not want to use the new and improved Rotating Frame node, the previously default Rotor Axis node must be added manually. You can do this by adding the following lines of code:
model.component("comp1").physics("rotsld")
.create("raxi1","RotorAxis",3);
model.component("comp1").physics("rotsld").feature("raxi1")
.selection().all();
Updated Local Coordinate System
For consistency reasons, the local z direction is used as the axis of rotation in the Solid Rotor and Solid Rotor, Fixed Frame interfaces. In most cases, the migration is handled automatically.
However, if a model contains features with manually typed in expressions that rely on the previous local coordinate system, manual migration of the variables is required. One example is a Journal Bearing node with the Bearing model selected as Total force and moment. If the first entry in the Total force user input was manually defined as 1[N/m]*rotsld.jrb1.du2 + 2[N/m]*rotsld.jrb1.du3, the same entry must be updated to 1[N/m]*rotsld.jrb1.du1 + 2[N/m]*rotsld.jrb1.du2.
Also, if you are using the Misalignment node (subnode to, for example, the Journal Bearing node), along with COMSOL API for use with Java, manual migration of old models is required. This can be done by replacing old code such as:
model.component("comp1").physics("rotsld").feature("jrb1")
.feature("mlgn1").set("u0y", "1[um]");
model.component("comp1").physics("rotsld").feature("jrb1")
.feature("mlgn1").set("u0z", "2[um]");
model.component("comp1").physics("rotsld").feature("jrb1")
.feature("mlgn1").set("th0y", "1[mrad]");
model.component("comp1").physics("rotsld").feature("jrb1")
.feature("mlgn1").set("th0z", "2[mrad]");
with
model.component("comp1").physics("rotsld").feature("jrb1")
.feature("mlgn1").set("u0x", "1[um]");
model.component("comp1").physics("rotsld").feature("jrb1")
.feature("mlgn1").set("u0y", "2[um]");
model.component("comp1").physics("rotsld").feature("jrb1")
.feature("mlgn1").set("th0x", "1[mrad]");
model.component("comp1").physics("rotsld").feature("jrb1")
.feature("mlgn1").set("th0y", "2[mrad]");
Whirl Result Template
If you were using the default plot Whirl, manual migration is needed. You can either delete the existing Whirl plot (for example Whirl (rotsld)) and add the new Whirl result template, or follow these steps:
1
Expand the Datasets node under Results.
2
Select the Cut Line 3D dataset (labeled Axis).
3
From the Line entry method list, select Point and direction.
4
In the X text field under Position, type rotsld.rotf1.rbdx.
5
In the Y text field under Position, type rotsld.rotf1.rbdy.
6
In the Z text field under Position, type rotsld.rotf1.rbdz.
7
In the X text field under Direction, type rotsld.rotf1.e3x.
8
In the Y text field under Direction, type rotsld.rotf1.e3y.
9
In the Z text field under Direction, type rotsld.rotf1.e3z.