# How to create iso-surfaces that are a series of conical sections?

 Sometimes it is helpful to create a series of circular iso-surfaces that aresections of a cone, to represent the development of the flow field alongone direction.If you want to create a series of iso-surfaces that are a series of sections of a right circular coneyou will need to know the following:Coordinates of the origin of the coneCoordinates of another point on the axis of the coneCone-half angleSTEPS to follow:1) Save attached scheme file as a text file with name: cone-custom-field-function.scm2) Read instructions at the top of the scheme file and make modifications to the file accordingly3) Read it into your fluent session4) From Surface->Iso-surface->Quadric create a series of spheres with the origin at the desired origin and with different radii5) We will now use the custom-field-function entitled "cone" to iso-clip these spherical surfaces and to obtain the series of conical sections From Surface->Iso-clip select one shperical surface, Use the customfield function "cone" for clipping. Keep minimum value of the function = cosine of the desired cone half-angle Keep maximum value = 16) Repeat step 5 for all other spherical surfaces7) Instead of a series of shperical surfaces, this procedure can also be used with a series of planar surfaces to get a series of planar conical sections=========Beginning of scheme function=====cut below here============;;; Scheme function created by Sandeep Sovani, June17th 2004, sds@fluent.com;;;;;; This scheme function is used to create a custom-field-function;;; for the equation of a right circular cone;;;;;; The axis of the cone is defined by providing coordinates of;;; the point that represents the origin of the axis and coordinates;;; of another point on the axis.;;;;;; Once this axis is defined, this custom-field-function can;;; be used to create either a conical iso-surface or to identify;;; a conical region;;;;;; To create a conical surface simply create an iso-surface of;;; this custom-field-function with value = cosine of the desired;;; cone-half-angle;;;;;; To use this function to identify a region inside the cone,;;; use the range of values:;;; from the cosine of the desired cone-half-angle to 1;;;;;; USAGE:;;; 1) modify this file by entering desired cone-axis-origin;;; coordinates, and coordinates of another point on the;;; axis of the cone;;; Change the number 0 at three places in the following;;; line to the desired value of x coordinate for the;;; origin;;; ((name origin-x) (display "0") (syntax-tree 0) (code 0));;; E.g. if the desired x coordinate is 12.33 change this;;; line in the code below to:;;; ((name origin-x) (display "12.33") (syntax-tree 12.33) (code 12.33));;;;;; Repeat the same procedure for 5 more lines in the code;;; below, to specify origin-y, origin-z, axis-x, axis-y, axis-z;;; 2) Save this schemefile and read it into Fluent via;;; File->Read->Scheme;;; Six new custom field functions will appear under;;; Define->Custom_Field_Functions->Manage;;; origin-x;;; origin-y;;; origin-z;;; axis-x;;; axis-y;;; axis-z;;; cone;;; 3) Use the custom-field-function entitled "cone";;; for post processing(custom-field-function/define '(((name origin-x) (display "0") (syntax-tree 0) (code 0)) ((name origin-y) (display "0") (syntax-tree 0) (code 0)) ((name origin-z) (display "0") (syntax-tree 0) (code 0)) ((name axis-x) (display "1") (syntax-tree 1) (code 1)) ((name axis-y) (display "0") (syntax-tree 0) (code 0)) ((name axis-z) (display "0") (syntax-tree 0) (code 0)) ((name cone) (display "((x - origin-x) * (axis-x - origin-x) + (y - origin-y) * (axis-y - origin-y) + (z - origin-z) * (axis-z - origin-z)) / (sqrt ((x - origin-x) ^ 2 + (y - origin-y) ^ 2 + (z - origin-z) ^ 2) * sqrt ((axis-x - origin-x) ^ 2 + (axis-y - origin-y) ^ 2 + (axis-z - origin-z) ^ 2))") (syntax-tree ("/" ("+" ("+" ("*" ("-" "x-coordinate" "origin-x") ("-" "axis-x" "origin-x")) ("*" ("-" "y-coordinate" "origin-y") ("-" "axis-y" "origin-y"))) ("*" ("-" "z-coordinate" "origin-z") ("-" "axis-z" "origin-z"))) ("*" ("sqrt" ("+" ("+" ("**" ("-" "x-coordinate" "origin-x") 2) ("**" ("-" "y-coordinate" "origin-y") 2)) ("**" ("-" "z-coordinate" "origin-z") 2))) ("sqrt" ("+" ("+" ("**" ("-" "axis-x" "origin-x") 2) ("**" ("-" "axis-y" "origin-y") 2)) ("**" ("-" "axis-z" "origin-z") 2)))))) (code (field-/ (field-+ (field-+ (field-* (field-- (field-load "x-coordinate") (cx-field-eval "origin-x")) (field-- (cx-field-eval "axis-x") (cx-field-eval "origin-x"))) (field-* (field-- (field-load "y-coordinate") (cx-field-eval "origin-y")) (field-- (cx-field-eval "axis-y") (cx-field-eval "origin-y")))) (field-* (field-- (field-load "z-coordinate") (cx-field-eval "origin-z")) (field-- (cx-field-eval "axis-z") (cx-field-eval "origin-z")))) (field-* (field-sqrt (field-+ (field-+ (field-** (field-- (field-load "x-coordinate") (cx-field-eval "origin-x")) 2) (field-** (field-- (field-load "y-coordinate") (cx-field-eval "origin-y")) 2)) (field-** (field-- (field-load "z-coordinate") (cx-field-eval "origin-z")) 2))) (field-sqrt (field-+ (field-+ (field-** (field-- (cx-field-eval "axis-x") (cx-field-eval "origin-x")) 2) (field-** (field-- (cx-field-eval "axis-y") (cx-field-eval "origin-y")) 2)) (field-** (field-- (cx-field-eval "axis-z") (cx-field-eval "origin-z")) 2))))))) ))

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