Temperature-Fild » TEMPERATURE-FILD/CORE

Переменные

*scale-smoothing*

Описание: параметр *scale-smoothing* определяет масштаб радиусов сглаживания для некоторых функций как значение поумолчанию.

При значении параметра равном:

  • 0.4 - температурное поле приобретает сильно выраженный прямоугольный характер;
  • 0.6 - температурное поле приобретает заметно выраженный прямоугольный характер;
  • 2.0 - температурное поле приобретает сильно сглаженный характер; количество итераций и время выполнения в функции имя (уточнить сильно растет); возникают артефакты в виде вспучивания поля там, где этого не должно быть;
  • 0.8 - нижняя граница диапазона рекомендуемых значений;
  • 1.0 - (уточнить) верхняя граница диапазона рекомендуемых значений.

*hw-coeff*
Определяет расстояние до обрамляющего контура в относительных координатах. Обрамляющий контур располагается за пределами сектора на расстоянии равном
 L = L_base * *hw-coeff* / n;
, где
     L_base - разность между максимальной и минимальной координатой;
     n      - количество спаев находящееся в этом направлении.

Функции

radial(gp-data &key (f-aver-or-max (function average-not-nil-value)))

Описание: функция radial возврвщает точки радиальной эпюры средних или максимальных температур, вычисляемые по полю температур gp-data.

Описание аргументов gp-data и f-aver-or-max см. функцию overal.

Пример использования:

(radial (make-t-fild-data *t03* *h-r* *x-r* :hights '(1 0 5) :ocr '(-140/100 140/100 5)))
 => ((1.0 117.59351754825514d0) 
     (0.8 116.22825128594086d0)
     (0.6 120.09241495670072d0) 
     (0.4 121.40012404216553d0) 
     (0.2 112.57915963469195d0) 
     (0.0 108.11244761107314d0))

  (let* ((gpdata (make-t-fild-data *t03* *h-r* *x-r*
                                   :hights '(1 0 50)
                                   :ocr    '(-14/10 14/10 50)))
         (r-aver (radial gpdata ))
         (r-max (radial gpdata :f-aver-or-max #'math/stat:max-not-nil-value)))  
    (vgplot:plot (mapcar #'second r-aver)(mapcar #'first r-aver)
                 (mapcar #'second r-max)(mapcar #'first r-max)))

make-t-fild-data(2d-arr-temp r-hights r-ocr &key (d-pts (vector 0.2 0.5)) (delta 0.1) (hights (quote (1 0 100))) (ocr (quote (-7/5 7/5 100))))

Описание: функция make-t-fild-data возвращает список вида, называемый gp-data:

 '(((1.0 -1.4 117.1)(1.0 -0.84 118.9) ... (1.0 1.4 121.0)) 
   ........................................................
   ((0.2 -1.4 110.3)(0.2 -0.84 113.8) ... (0.2 1.4 105.7))
   ((0.0 -1.4 110.2)(0.0 -0.84 112.0) ... (0.0 1.4 101.9)))

на основании массива температур 2d-arr-temp вида:

#2A((117.0 120.5 118.5 112.5 115.0)
    (115.0 125.5 119.5 122.5 112.0)
    (113.0 135.5 129.5 132.5 117.0)
    (112.0 122.5 123.5 122.5 112.0)
    (111.0 115.5 119.5 102.5 102.0))

вектора относительных высот r-hights вида:

 #(0.8647361 0.6811295 0.49260494 0.2991623 0.099162)

вектора относительных окружных координат r-hights вида:

 #(-1.136896 -0.5684480    0.0d0   0.5684480 1.136896)

Переменые:

  • d-pts - вектор базовых длин радиального (первое значение) и окружного (второе значение) направления;
  • delta - точность, до которой подгоняется сумма отклонений в базовых точках от сглаженной функции;
  • hights - список из трех элементов: максимальной и минимальной относительной высоты; количество интервалов по высоте;
  • ocr - список из трех элементов: минимальной и максимальной окружной координаты; количество интервалов в окружном направлении.

overal(gp-data &key (f-aver-or-max (function average-not-nil-value)))

Описание: функция overal возврвщает среднее или максимальное значение температуры, вычисляемое по полю температур gp-data.

При значении ключевого параметра f-aver-or-max:

  • math/stat:average-not-nil-value - вычисляется среднее значение температуры;
  • math/stat:max-not-nil-value - находится максимальнное значение температуры.

Поле температур - параметр gp-data здесь список следующего вида:

 '(((1.0 -1.4 117.1)(1.0 -0.84 118.9) ... (1.0 1.4 121.0)) 
   ........................................................
   ((0.2 -1.4 110.3)(0.2 -0.84 113.8) ... (0.2 1.4 105.7))
   ((0.0 -1.4 110.2)(0.0 -0.84 112.0) ... (0.0 1.4 101.9)))

Каждый элемент расшифровывается следующим образом:

(1.0 -1.4 117.1)
    1.0 - относительная высота;
   -1.4 - относительная окружная координата;
  117.1 - значение температуры.

Пример использования:

(overal (make-t-fild-data *t03* *h-r* *x-r* :hights '(1 0 200) :ocr '(-140/100 140/100 200))
         :f-aver-or-max #'math/stat:average-not-nil-value)  
 => 117.84492671184218d0
 (overal (make-t-fild-data *t03* *h-r* *x-r* :hights '(1 0 200) :ocr '(-140/100 140/100 200))
         :f-aver-or-max #'math/stat:max-not-nil-value)      
 => 136.14404423662543d0

circular(gp-data &key (f-aver-or-max (function average-not-nil-value)))

Описание: функция circular возврвщает точки окружной эпюры средних или максимальных температур, вычисляемые по полю температур gp-data.

Описание аргументов gp-data и f-aver-or-max см. функцию overal.

Пример использования:

(circular (make-t-fild-data *t03* *h-r* *x-r* :hights '(1 0 5) :ocr '(-140/100 140/100 55)) :f-aver-or-max #'math/stat:average-not-nil-value)
 (circular (make-t-fild-data *t03* *h-r* *x-r* :hights '(1 0 5) :ocr '(-140/100 140/100 5)) :f-aver-or-max #'math/stat:max-not-nil-value)

 (let* ((gpdata (make-t-fild-data *t03* *h-r* *x-r*
                                  :hights '(1 0 50)
                                  :ocr    '(-14/10 14/10 50)))
        (c-aver (circular gpdata ))
        (c-max  (circular gpdata :f-aver-or-max #'math/stat:max-not-nil-value)))  
   (vgplot:plot (mapcar #'first c-aver)(mapcar #'second c-aver) 
                (mapcar #'first c-max)(mapcar #'second c-max)))

make-outlined-vector(vec vec-before vec-after)

Описание: функция make-outlined-vector возвращает вектор, у которого:

  • длина больше длины вектора vec на два элемента;
  • нулевым элементом которого, является vec-before;
  • элементами с первого по предпоследний являются элементы вектора vec;
  • последним элементом которого, является vec-after;

Пример использования:

 *h-r* => #(0.8647361 0.6811295 0.49260494 0.2991623 0.099162295)
 *x-r* => #(-1.1368960299671258d0 -0.5684480149835629d0 0.0d0 0.5684480149835627d0 1.1368960299671258d0)
 (make-outlined-vector *h-r* 1.1 -0.1) => #(1.1 0.8647361 0.6811295 0.49260494 0.2991623 0.099162295 -0.1)
 (make-outlined-vector *x-r* -1.6 1.6) => #(-1.6 -1.12 -0.56 0.0 0.56 1.12 1.6)

Методы

d-pts-scale((t-fild <t-fild>) &key (scale *scale-smoothing*))

Описание: d-pts-scale возвращает вектор характерных размеров для сглаживания температурного поля. Как правило его следует выбирать вдвое больше среднего расстояния между спаями термопар.

  • Первое значение, возвращаемого вектора, указывает характерный диаметр сглаживания по оси Y по высоте лопатки.
  • Второе значение, возвращаемого вектора, указывает характерный диаметр сглаживания по оси X по окружной координате.

Пример использования:

(d-pts-scale *dn80*)     => #(0.4 1.1368960299671258d0)
 (d-pts-scale *dn80-6x5*) => #(0.4 0.9474133583059382d0)

h-ol-max-hw-coeff((t-fild <t-fild>) &key (hw-coeff *hw-coeff*))

Описание: h-ol-max-hw-coeff возвращает, большую радиальную координату температурного поля t-fild, вычисленную с учетом коэффициента обрамления :hw-coeff.

Пример использования:

(h-ol-max-hw-coeff *DN80* :hw-coeff 0.0) =>1.0
  (h-ol-max-hw-coeff *DN80* :hw-coeff 1.0) =>1.2

h-ol-min-hw-coeff((t-fild <t-fild>) &key (hw-coeff *hw-coeff*))

Описание: h-ol-min-hw-coeff возвращает, меньшую радиальную координату температурного поля t-fild, вычисленную с учетом коэффициента обрамления :hw-coeff.

Пример использования:

(h-ol-min-hw-coeff *DN80* :hw-coeff 0.0) =>1.0
  (h-ol-min-hw-coeff *DN80* :hw-coeff 1.0) =>1.2

w-ol-min-hw-coeff((t-fild <t-fild>) &key (hw-coeff *hw-coeff*))

Описание: w-ol-min-hw-coeff возвращает, меньшую окружную координату температурного поля t-fild, вычисленную с учетом коэффициента обрамления :hw-coeff.

Пример использования:

(w-ol-min-hw-coeff *DN80* :hw-coeff 0.0)      => -1.4211200374589072d0
 (w-ol-min-hw-coeff *DN80* :hw-coeff 1.0)      => -1.9895680524424701d0

w-ol-max-hw-coeff((t-fild <t-fild>) &key (hw-coeff *hw-coeff*))

Описание: w-ol-max-hw-coeff возвращает, большую окружную координату температурного поля t-fild, вычисленную с учетом коэффициента обрамления :hw-coeff.

Пример использования:

(w-ol-max-hw-coeff *DN80* :hw-coeff 0.0)      => 1.4211200374589072d0
 (w-ol-max-hw-coeff *DN80* :hw-coeff 1.0)      => 1.9895680524424701d0
 (- 1.9895680524424701d0 1.4211200374589072d0) => 0.5684480149835629d0
 (/ (* 1.4211200374589072d0 2) 5)              => 0.5684480149835629d0

ocr-intervals((t-fild <t-fild>) &key (intervals 100))

Описание: метод ocr-intervals возвращает список, содержащий:

  • минимальную относительную окружную координату (ООКmin);
  • максимальную относительную окружную координату (ООКmax);
  • количество интервалов.

Количество интервалов является результатом округления

 intervalsocr=round(intervals*(ООКmax-ООКmin))

При этом длина и высота сектора при разделении на количество интервалов равное intervals по высоте и количество интервалов равное intervalsocr в окружном направлении дает примерно равными по высоте и в окружном направлении размерами.

Пример использования:

(ocr-intervals *dn80* :intervals 100) 
 =>  (-1.4211200374589072d0 1.4211200374589072d0 284)