FLUENT 6 - Report - Discrete Phase - Histogram: Would like to write histogram to a file, or at least print data
Most histograms can be printed as text (numbers) to the FLUENT console. This is not the case for histograms generated via Report - Discrete Phase - Histogram, which is a distinct limitation in the usability of this feature.
Workaround: File RepDPMHstPrt.scm: ;; ;; (c) Fluent Deutschland GmbH, 2001, Jochen Schuetze ;; ;; Load this into FLUENT 5 or FLUENT 6 using the command... ;; ;; (load "RepDPMHstPrt.scm") ;; ;; After that, any Histogram generated using ;; Report---Discrete-Phase---Histogram is listed ;; in the console window instead of plotted. ;; ;; By enabling the generation of a transcript file, ;; you can easily capture the output in a file. ;; You may certainly try to vary the appearance of ;; the output by varying the scheme source below... ;; (define *cx-histogram-location* "events") (define (plot-sample-histograms vmin vmax nbin sample field dopercent) (let* ((delta (/ (- vmax vmin) nbin)) (names (list sample field)) (lbin (%sample-bins vmin vmax nbin names)) (total (apply + lbin)) (percent (lambda (num) (if dopercent (* 100.0 (/ num total)) num)))) ;; Addition by JOS (3 lines): (format "~%~a ~a below ~a (~a %)" (car lbin) *cx-histogram-location* vmin (percent (car lbin))) (let loop ((n 0) ;;jos (x '()) ;;jos (y '()) (l (cdr lbin))) (if (= n nbin) ;; Addition by JOS (4 lines): (format "~%~a ~a above ~a (~a %)~%" (car l) *cx-histogram-location* vmax (percent (car l))) (begin ;; Addition by JOS (3 lines): (format "~% ~a ~a between ~a and ~a (~a %)" (car l) *cx-histogram-location* (+ vmin (* n delta)) ;;jos (cx-with-open-varenv ;;jos "/histogram" ;;jos (cxsetvar 'xy/scale/label/x field) ;;jos (cxsetvar 'xy/units/x '("" 1)) ;;jos (if dopercent ;;jos (cxsetvar 'xy/scale/label/y '%) ;;jos (cxsetvar 'xy/scale/label/y 'N)) ;;jos (cxsetvar 'xy/units/y '("" 1)) ;;jos (start-title-plot (string-append "Histogram of " (symbol->string field))) ;;jos (err-protect ;;jos (cx-xy-plot-data x y)) ;;jos (cx-end-frame))) ;;jos (let ((xp (list (+ vmin (* (+ n 1) delta)) ;;jos (+ vmin (* (+ n 1) delta)) ;;jos (+ vmin (* n delta)) ;;jos (+ vmin (* n delta)))) ;;jos (yp (list 0 (percent (car l)) (percent (car l)) 0))) ;; Addition by JOS (1 line): (percent (car l))) (loop (+ n 1) ;;jos (append xp x) ;;jos (append yp y) (cdr l))))))) |
||
![]()
|