MixSim 2.0: Improved "Custom by ACIS file" impeller object


The "Custom by ACIS file" impeller object in MixSim has some limitations:
- NO preview graphics
- Meshing may create millions of cells when the geometry contains a very small edge
- Meshing may fail when there is a long shaft tip completely inside the impeller ("MRF") zone.
A resolution to this should be provided before the next MixSim release.
A new, improved version of the "Custom by ACIS file" impeller object for MixSim 2.0 has been developped.

The MixSim object definition (.mxo) file for this is provided, in two parts, in the two subsequent "Resolution" elements of this Clarify Solution entry. Please concatenate them and put them into a file "Impeller-Geom-CustomII.mxo". (The double letter behind "Custom" is two capital "i's", NOT a double "ell"!)

This file should be placed in the directory ".../Fluent.Inc/mixsim2.0/Mixsim-Object-Library/". If you do not have the necessary write permission, you can also have the file in an arbitrary directory where you collect non-standard MixSim object defintion (.mxo) files. In that case, you must tell MixSim where to find these files using the "Edit---Set-User-Object-Directory" panel. You must do this BEFORE you create a new model or load an existing one. Note that this setting can/will be saved and loaded together with all object type-specific "default" values.

The new MixSim object definition file may also be available for download at the following URL: <a target=_blank href="ftp://ftp.fluent.de/outgoing/jos/Impeller-Geom-CustomII.mxo">ftp://ftp.fluent.de/outgoing/jos/Impeller-Geom-CustomII.mxo</a>ftp://ftp.fluent.de/outgoing/jos/Impeller-Geom-CustomII.mxo

If you cannot download/create the file, or if you experience problems in using it, please contact your local technical customer support representative.
_______________________________

WARNING: This file and all the functionality it provides does NOT belong to the MixSim 2.0 product as it has been developped and tested under Fluent Inc.'s ISO certified business rules. It is provided withOUT ANY warranty or commitment. Your feed-back is, however, greatly appreciated and will help us improve the quality of MixSim.
# This is a comment.
#
# NOTE: The MeshGrowthRate (Mesh Growth Factor)
# Parameter is optional. If it is not here,
# It will be inherited from the shaft.
# (Search for "Using Mesh Growth Rate"
# in GambitGrid.cpp for details.)
#
# This MixSim impeller object is an extended version of MixSim's
# standard "Custom" impeller object. It allows for the import
# and proper handling of an ACIS CAD file that contains one or
# more ACIS volumes and/or *faces* that form the impeller blade.
# NOTE: Any *volume* must intersect either with the hub or with
# another volume that intersects with a hub or satisfies
# this condition by the application of simply recursion.
#
# NOTE: An attempt has been made to make this conformant with Gambit 2.1.2.
# A preliminary test showed promising results, but...
# --- more thorough testing is highly recommended!
#

MixSim Object File - Version 1.0
Name: "Custom II by ACIS file"
Class: "Generic Impellers"
SubClass: "CustomII"

AnalysisType: "MRF|Sliding-Mesh"

[Subclass List]
[End Subclass List]

[Dependent Class List]
[End Dependent Class List]

[Parameter List]
[Parameter]
Type: Real
Name: Diameter
Label: Diameter
Length: 10
Value: 0.4
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: AxialLocation
Label: Axial Location
Length: 10
Value: 0.6
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Selection
Name: PumpingDirection
Label: Pumping Direction
Length: 20
Value: To Shaft Tip
Hidden Parameter?: No
[Values]
To Shaft Engine
To Shaft Tip
[End Values]
[End Parameter]

[Parameter]
Type: Real
Name: AngularOffset
Label: Angular Offset
Length: 10
Value: 0
Decimal Places: 4
Units Quantity: angle
Units: deg
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Checkbox
Name: ZeroThickness?
Label: Zero Thickness Blade?
Value: No
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Real
Name: NominalDiameter
Label: Nom. Diam. (in file)
Length: 10
Value: 1.0
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: NominalAboveHeight
Label: Nom. (in file) plus (+) Z dim.
Length: 10
Value: 0.1 * [NominalDiameter]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: NominalBelowDepth
Label: Nom. (in file) minus (-) Z dim.
Length: 10
Value: 0.02 * [NominalDiameter]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Text
Name: FileName
Label: File
Length: 32
Value: Cwing.sat
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Text
Name: StandardObjectLibrary
Label: Standard Object Library
Length: 255
Value: *ms-object-library-path*
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Text
Name: UserObjectLibrary
Label: User Object Library
Length: 255
Value: *ms-user-object-library-path*
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Int
Name: NumberOfBlades
Label: Number of Blades
Length: 4
Value: 3
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Checkbox
Name: UseHub?
Label: Use Hub?
Value: Yes
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: HubDiameter
Label: Hub Diameter
Length: 10
Value: 0.15 * [Diameter]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: HubHeight
Label: Hub Height
Length: 10
Value: 0.12 * [Diameter]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: HubAxialOffset
Label: Hub Axial Offset
Length: 10
Value: 0.0
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Selection
Name: MeshStrategy
Label: Mesh Strategy
Length: 12
Value: FromEdges
Hidden Parameter?: No
[Values]
Simple
FromFaces
FromEdges
[End Values]
[End Parameter]

[Parameter]
Type: Real
Name: InitialMeshSize
Label: Initial Mesh Size
Length: 10
Value: [Diameter]/15
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: ShortEdgeFactor
Label: Internal Shortest Edge Multiplier
Length: 10
Value: [UserShortEdgeFactor]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: none
Units: none
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Real
Name: UserShortEdgeFactor
Label: Shortest Edge Multiplier
Length: 10
Value: [..|ShortEdgeFactor]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: none
Units: none
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: MeshGrowthRate
Label: Mesh Growth Factor
Length: 10
Value: [..|MeshGrowthRate]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: none
Units: none
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: MaxSmallestMeshSize
Label: Max. Smallest Mesh Size
Length: 10
Value: [InitialMeshSize]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: MINSmallestMeshSize
Label: MIN. Smallest Mesh Size
Length: 10
Value: 0.1 * [InitialMeshSize]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Checkbox
Name: MrgImpSrf
Label: Merge Obtuse Angles?
Value: No
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: MergeAngle
Label: Merge Angle
Length: 10
Value: 175
Is This An Equation: No
Decimal Places: 4
Units Quantity: angle
Units: deg
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Checkbox
Name: UseCurvFun
Label: Add Curvature Size Func.
Value: Yes
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: ImpSrfMshNrmAng
Label: Curv. S/F Normal Angle
Length: 10
Value: (1.6 * asin([..|InitialMeshSize]/[..|Diameter]))
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: angle
Units: deg
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Checkbox
Name: SizFunToShftSurf?
Label: Attach Size Func. to Outer Shaft Surface?
Value: Yes
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Button
Name: ZoneDimensions
Label: Reference Zone Dimensions
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Checkbox
Name: UseZoneDim?
Label: Fix Zone Dimensions?
Value: No
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: RotZoneDia
Label: RotZoneDia
Length: 10
Value: 1.05 * [Diameter]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: RotZoneHeight
Label: RotZoneHeight
Length: 10
Value: 1.15 * ([NominalAboveHeight] + (([NominalBelowDepth] - [NominalAboveHeight]) + (([NominalBelowDepth] - [NominalAboveHeight])^2)^0.5) / 2) / [NominalDiameter] * [Diameter] * 2
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Checkbox
Name: ForceEffectOnTankMesh?
Label: Force Effect On Tank Mesh?--may hang!
Value: No
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: HexZoneHeight
Label: HexZoneHeight
Length: 10
Value: [HubHeight]*7777777
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Real
Name: BladeHeight
Label: BladeHeight
Length: 10
Value: 7777777 * [HubHeight]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Text
Name: ZoneName
Label: N/A
Length: 30
Value: UsedinFLUcaSEtup
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Int
Name: AxialLocationFlag
Label: N/A
Value: [..|AxialLocationFlag]
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Real
Name: NegHeight
Label: Neg. Imp. Surf. Dist.
Length: 10
Value: (0-[NominalBelowDepth]/[NominalDiameter]*[Diameter])
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: PosHeight
Label: Pos. Imp. Surf. Dist.
Length: 10
Value: [NominalAboveHeight]/[NominalDiameter]*[Diameter]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: No
[End Parameter]

[Parameter]
Type: Real
Name: FindShaftBelowZoneBy
Label: Where to Find Nearest OuterShaft Face
Length: 10
Value: 0.3 * [..|Diameter]
Is This An Equation: Yes
Decimal Places: 4
Units Quantity: length
Units: m
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Text
Name: GeometryName
Label: N/A
Length: 30
Value: GeoNamYetUnAssigned
Hidden Parameter?: Yes
[End Parameter]

[Parameter]
Type: Checkbox
Name: SuppFrstIntsChck
Label: Omit First Intersection Check
Value: Yes
Hidden Parameter?: No
[End Parameter]
[End Parameter List]

[Display Graphics List]

(let* ((pointer this-object-pointer))

(ms-tree-set-object-parameter-value pointer "StandardObjectLibrary"
(slashify-all-backslashes *ms-object-library-path*))

(ms-tree-set-object-parameter-value pointer "UserObjectLibrary"
(slashify-all-backslashes *ms-user-object-library-path*))

(hs-open-segment (strip-directory "{FileName}"))

(hs-open-segment "./geometry")

(do ((i 1 (+ i 1)))
((> i [NumberOfBlades]) i)
(begin
(ms-debug-format "nni, 3, 1: ~a, ~a, ~a.nn" i
(* (/ pi 180) (/ 360 4 [NumberOfBlades]) (- (* 4 i) 3))
(* (/ pi 180) (/ 360 4 [NumberOfBlades]) (- (* 4 i) 1)))

(hs-open-segment (string-append "./blade" (number->string i) "seg"))
(hs-open-segment (string-append "./cyan"))

(ms-generate-closed-cyl-shell
'(0 0 0) (/ [Diameter] 2) (/ [..|Diameter] 2)
(- [PosHeight] [NegHeight]) (int (/ 40 [NumberOfBlades]))
(* (/ pi 180) (/ 360 4 [NumberOfBlades]) (- (* 4 i) 3))
(* (/ pi 180) (/ 360 4 [NumberOfBlades]) (- (* 4 i) 2)))
(hs-set-color "face = (diffuse = cyan, transmission = black)")
(hs-close-segment)

(hs-open-segment (string-append "./magenta"))
(ms-generate-closed-cyl-shell
'(0 0 0) (/ [Diameter] 2) (/ [..|Diameter] 2)
(- [PosHeight] [NegHeight]) (int (/ 40 [NumberOfBlades]))
(* (/ pi 180) (/ 360 4 [NumberOfBlades]) (- (* 4 i) 1))
(* (/ pi 180) (/ 360 4 [NumberOfBlades]) (- (* 4 i) 0)))
(hs-set-color "face = (diffuse = magenta, transmission = black)")
(hs-close-segment)

(hs-translate-object 0 0 (+ (/ (- [PosHeight] [NegHeight]) 2)
[NegHeight]))
(hs-close-segment)))

(if (string=? "{UseHub?}" "Yes")
(begin
(hs-open-segment "./hub")
(ms-draw-closed-primitive '(0 0 [HubAxialOffset])
(/ [HubDiameter] 2) (/ [HubDiameter] 2) [HubHeight] 20)
(hs-rotate-object 0 0 90)
(hs-set-color "face = (diffuse = light green, transmission = black)")
(hs-close-segment)))

(if (not (strstr? "{PumpingDirection}" "To Shaft Tip"))
(hs-rotate-object 180 0 0))

(ms-locate-ang-pos pointer)

(hs-close-segment)

(if (not (nt?))
(begin
(hs-open-segment "./label")
(hs-set-text-font "size=.03wru")
(hs-set-text-alignment "<v")
(if (not (nt?)) (hs-insert-text (/ [Diameter] 2) 0 0
(strip-directory "{FileName}")))
(hs-close-segment)))

(hs-close-segment))

[End Display Graphics List]





Show Form
No comments yet. Be the first to add a comment!