Mixism 2.0: Using helical coil: hangs when creating geometry and mesh
A simple configuration with a tank (curved bottom and top), a single, central, vertical top shaft with a simple PBT on it, and a helical coil around it (with plenty of space between the impeller blade tips and the coil). When trying to create the grid, MixSim hangs. Further investigation shows: It's Gambit's "intersecting(...)" function call which hangs indefinitely, quickly allocating all memory that is available on the machine, but without coming to any progress. The approach to resolve this is to eliminate all intersection checks (which are done just in order to detect and report user errors) in connection with helical coils. (This MAY even allow for helical coils to intersect with baffles, but don't take this for sure.) To apply this "patch", find the file .../Fluent.Inc/mixsim2.0/Mixsim-Object-Library/Geom-Helical-Coil.mxo and edit it: At the end of the file, you should find a line "[End Grid Command List]". Before this line, insert the following block (without the "snip" and "snap" lines): ------------ snip ------------- 138 // Intersection checks with helical coils fail often -- 138 // "eliminate" them by having Gambit use a dummy volume: 138 volume modify "{GeometryName}" label "{GeometryName}hideaway" 138 volume create "{GeometryName}" brick width 0.2 138 // Move it to a unique location: 138 volume move "{GeometryName}" offset 0 0 (0 - LASTID(t_vo)) 142 // Now that all intersection checks have been done, 142 // remove the dummy volume and assign the right 142 // name to the original volume again: 142 volume delete "{GeometryName}" lowertopology 142 volume modify "{GeometryName}hideaway" label "{GeometryName}" ------------ snap ------------ The second "Resolution" entry of the this Solution (no. 816) gives the complete contents of the patched MixSim object file ".../Fluent.Inc/mixsim2.0/Mixsim-Object-Library/Geom-Helical-Coil.mxo". NOTE: If you don't have write permission in the installation area, you can have a local copy of the patched file (file name may still be the same). Tell MixSim to use it by setting the "User Object Library Directory" to the directory where the patched file resides. Do this in your MixSim session *before* your load or create a new model. If you save the "defaults" (using File---Save-Defaults), MixSim will remember this settings. (Saved defaults can contain default parameter values for individual objects when newly added to any object. In order to see for which object types default values are currently in memory, see Edit---Remove-Defaults...)# This is a comment. MixSim Object File - Version 1.0 Name: "Helical Coil" Class: "Coil" SubClass: "HelicalCoil" 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: .4 Decimal Places: 4 Units Quantity: length Units: m Hidden Parameter?: No [End Parameter] [Parameter] Type: Real Name: TopElevation Label: Top Elevation Length: 10 Value: .8 Decimal Places: 4 Units Quantity: length Units: m Hidden Parameter?: No [End Parameter] [Parameter] Type: Real Name: BottomElevation Label: Bottom Elevation Length: 10 Value: .3 Decimal Places: 4 Units Quantity: length Units: m Hidden Parameter?: No [End Parameter] [Parameter] Type: Real Name: TubeDiameter Label: Tube Diameter Length: 10 Value: .02 Decimal Places: 4 Units Quantity: length Units: m Hidden Parameter?: No [End Parameter] [Parameter] Type: Real Name: Pitch Label: Pitch Length: 10 Value: 2.0 Decimal Places: 4 Units Quantity: length-inverse Units: 1/m Hidden Parameter?: No [End Parameter] [Parameter] Type: Text Name: GeometryName Label: N/A Length: 30 Value: helical_coil Hidden Parameter?: Yes [End Parameter] [Parameter] Type: Text Name: BaseGeometryName Label: N/A Length: 30 Value: helical_coil Hidden Parameter?: Yes [End Parameter] [Parameter] Type: Real Name: InitialMeshSize Label: Initial Mesh Size Length: 10 Value: [TubeDiameter]/3 Is This An Equation: Yes Decimal Places: 4 Units Quantity: length Units: m Hidden Parameter?: Yes [End Parameter] [End Parameter List] [Display Graphics List] [End Display Graphics List] [Grid Command List] %% (display "Generating helical coil %% '{GeometryName}' from Grid Command List.") // Generating helical coil "{GeometryName}" from Grid Command List: $rad1 = ( [TubeDiameter] / 2.0 ) $rad2 = ( [Diameter] / 2.0 ) $ht = ( [TopElevation] - [BottomElevation] ) $pitch = ( 1.0 / [Pitch] ) $angle = (360.0 * ($ht / $pitch)) face create radius $rad1 zxplane circle $last_id = LASTID(t_fa) face move ("face." + ntos(LASTID(t_fa))) offset $rad2 0 0 vertex create coordinates 0 0 0 vertex create coordinates $rad2 0 0 edge create straight ("vertex." + ntos(LASTID(t_ve))) ("vertex." + ntos((LASTID(t_ve))-1)) face create rotate ("edge." + ntos(LASTID(t_ed))) vector 0 0 $ht origin 0 0 0 twist $angle $last_fa = LASTID(t_fa) // Rotate Face on appropriate Edge volume create rotate ("face." + ntos($last_id)) onedge (LOC2ENT(t_ed, ($rad2 * cos($angle/2.0)), ($rad2 * sin($angle/2.0)), ($ht/2.0))) draft 0 extended // Delete face face delete ("face." + ntos($last_fa)) lowertopology volume move ("volume." + ntos(LASTID(t_vo))) offset 0 0 [BottomElevation] volume modify ("volume." + ntos(LASTID(t_vo))) label "{GeometryName}" 138 // Intersection checks with helical coils fail often -- 138 // "eliminate" them by having Gambit use a dummy volume: 138 volume modify "{GeometryName}" label "{GeometryName}hideaway" 138 volume create "{GeometryName}" brick width 0.2 138 // Move it to a unique location: 138 volume move "{GeometryName}" offset 0 0 (0 - LASTID(t_vo)) 142 // Now that all intersection checks have been done, 142 // remove the dummy volume and assign the right 142 // name to the original volume again: 142 volume delete "{GeometryName}" lowertopology 142 volume modify "{GeometryName}hideaway" label "{GeometryName}" [End Grid Command List] |
||
![]()
|