ノモグラムの古代芸術

私はこの奇妙なグラフを大学の研究室で最初に見ました。古い本からコピーされた何の変哲もない一枚の紙が、回転式蒸発器の隣の壁に貼り付けられましたシートは、明らかに頻繁に使用されていましたが、古代の強力な呪文が含まれているかのように処理されました...その後、他の研究所で、蒸留の不可欠な部分であるかのように、同様の種類のグラフィックに出くわしました。真空。その後、同様の図面がさまざまな技術文献のページで見つかりました。それらはノモグラムと呼ばれていました使い方を学ぶのはとてつもなく簡単でしたが、誰が、どのようにして一度に作ったのかは謎のままでした。







ノモグラムはどのように見え、どのように機能するか



減圧蒸留でよく使われるノモグラムを下図に示します。







, , (), . , , , — , . , . 760 100 , , 40 34 .







-, 204 ? " 760 " 204 , " " 5 , . , , 70 .







. . , . , y=f(x) ?













— . , , . — , — .















(1884—1891) — «». Traité de nomographie. Théorie des abaques. Applications pratiques . . , — The Lost Art of Nomography by Ron Doerfler.







, !







: . , :











dlnpdT=ΔHvapRT2







ΔHvap — , R — .







:











lnpp=ΔHvapR(1T1T)







p 760 , T — . T p .







:











ΔSvap=ΔHvapT10.5R







, :











lnpp=10.5(1TT)







.







pynomo



— - pynomo. :







pip install pynomo
      
      





.







2 :











F1(u1)=F2(u2)×F3(u3)







Fi(ui) — - . .







, (RPM) . :











a=ω2×r







#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
    rpm.py

    Simple nomogram of type 2: F1=F2*F3
"""
import sys
sys.path.insert(0, "..")
from pynomo.nomographer import *

N_params_RCF={
        'u_min':1000.0,
        'u_max':30000.0,
        'function':lambda u:u,
        'title':r'RCF, $\times g$',
        'tick_levels':3,
        'tick_text_levels':1,
        'tick_side': 'left',
        'scale_type':'linear smart',
        'text_format': r"$%2.0f$",
                }

N_params_r = {'u_min': 1.0,
              'u_max': 5.0,
              'function': lambda u:u,
              'tick_levels': 3,
              'tick_text_levels': 1,
              'tick_side': 'left',
              'text_format': r"$%2.0f$",
              'title':r'R, cm',
              'extra_params': [
                {'u_min':  5.0,
                 'u_max': 10.0,                 
                 'tick_levels': 2,
                 'tick_text_levels': 1,
                 'tick_side': 'right',
                 'text_format': r"$%2.0f$",},
                {'u_min': 10.0,
                 'u_max': 40.0,
                 'scale_type': 'manual line',
                 'manual_axis_data': {10.0: r'10',
                                      12.0: r'12',
                                      14.0: r'14',
                                      16.0: r'16',
                                      20.0: r'20',
                                      24.0: r'24',
                                      30.0: r'30',
                                      40.0: r'40'},
                 },
                ],
            }

N_params_RPM={
        'u_min': 1000.0,
        'u_max':20000.0,
        'function':lambda u:u*u*1.1182e-5,
        'title':r'RPM',
        'tick_levels':3,
        'tick_text_levels':1,
        'scale_type':'linear smart',
        'text_format': r"$%2.0f$",
                }

block_1_params={
             'block_type':'type_2',
             'mirror_y':True,
             'width':10.0,
             'height':10.0,
             'f1_params':N_params_RCF,
             'f2_params':N_params_r,
             'f3_params':N_params_RPM,
             'isopleth_values':[['x',10.0,15200]],
             }

main_params={
              'filename':'RPM.pdf',
              'paper_height':10.0,
              'paper_width':10.0,
              'block_params':[block_1_params],
              'transformations':[('rotate',0.01),('scale paper',)],
              'title_str':r'$a=r\times \omega^2$'
              }
Nomographer(main_params)
      
      





F3(u3)=ω2 :







'function':lambda u:u*u*1.1182e-5,
      
      





RPM.pdf, .













— , ( g) ( ) (RPM).







? .













, ABC CDE — . :











ABED=BCCD=BCLBC







L — BD, . , L.







,











lnpp+10.5=10.5TT







:















, , . Trouton–Hildebrand–Everett:











ΔHvapRT=(4.5+lnT)







Some calculations for organic chemists: boiling point variation, Boltzmann factors and the Eyring equation. Tetrahedron Letters 41 (2000) 9879–9882 , . !







:











lnpp+T(4.5+lnT)×1T(4.5+lnT)=0







10











F1(u)+F2(v)F3(w)+F4(w)=0.







. .







from math import log
from pynomo.nomographer import *
import sys
sys.path.insert(0, "..")

Pressure = {
    'u_min':  1.0,
    'u_max': 760.0,
    'function': lambda u: log(u / 760.0),
    'title_y_shift': 0.55,
    'title': r'Pressure, mmHg',
    'tick_levels': 3,
    'tick_text_levels': 2,
    'scale_type': 'log smart',
}

BP_guess = {
    'u_min':  0.0,
    'u_max': 400.0,
    'function': lambda u: 1/(u + 273.15),
    'title_y_shift': 0.55,
    'title': r'B.P. estimated',
    'tick_levels': 4,
    'tick_text_levels': 2,
    'scale_type': 'linear smart',
}

BP_at_atm = {
    'u_min':  0.0,
    'u_max': 700.0,
    'function_3': lambda u: (u + 273.15)*(4.5 + log(u + 273.15)),
    'function_4': lambda u: -(4.5 + log(u + 273.15)),
    'title_y_shift': 0.55,
    'title': r'B.P. at 760 mmHg',
    'tick_levels': 4,
    'tick_text_levels': 2,
    'scale_type': 'linear smart',
}

block_1_params = {
    'block_type': 'type_10',
    'width': 10.0,
    'height': 10.0,
    'f1_params': Pressure,
    'f2_params': BP_guess,
    'f3_params': BP_at_atm,
    'isopleth_values': [[10, 'x', 204]]
}

main_params = {
    'filename': 'ex_type10_nomo_1.pdf',
    'paper_height': 10.0,
    'paper_width': 10.0,
    'block_params': [block_1_params],
    'transformations': [('rotate', 0.01), ('scale paper',)],
    'title_y': 0.55,
    'title_str': r'Boiling point estimation, $\Delta S_{vap} = R(4.5 + \ln T)$'
}

Nomographer(main_params)
      
      





!















, . , — , . , , . .










.







10% !














All Articles