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] |
||
![]()
|