El antiguo arte de la nomografía

Vi por primera vez este extraño gráfico en un laboratorio universitario. Un pedazo de papel indescriptible, fotocopiado de un libro viejo, fue pegado en la pared junto al evaporador rotatorio . La hoja, obviamente, se usaba a menudo, pero se cuidaba, como si contuviera algún antiguo hechizo poderoso ... Posteriormente, me encontré con gráficos similares en otros laboratorios, como si fueran parte integral de la destilación con aspiradora. Luego, se encontraron dibujos similares en las páginas de diversas publicaciones técnicas. Fueron llamados nomogramas . Resultó ridículamente fácil aprender a usarlos, pero quién y cómo los hizo al mismo tiempo siguió siendo un misterio.







Qué aspecto tienen los nomogramas y cómo funcionan



En la siguiente figura se muestra un nomograma que se utiliza a menudo en la destilación al vacío.







, , (), . , , , — , . , . 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