Advice needed while (re)creating compound nomogram

Forum for PyNomo discussion.
apthorpe
Posts: 1
Joined: Thu Jul 21, 2011 5:22 am

Advice needed while (re)creating compound nomogram

Postby apthorpe » Thu Aug 04, 2011 6:37 am

Hi,

I've been retypesetting a 1955 book on radiation shielding and I'm trying to recreate the nomograms with pynomo. An excerpt of the original text and nomograms as well as the results of my work with pynomo are located at http://apthorpe.cynistar.net/docs/nuke/

The file nomogram_excerpt.pdf (2MB) contains the function I'm working from (#23) as well as the original nomogram (Fig. 4-3). The equation is G = (1 - exp(-L * t_a) + f * (1 - exp(-L * t_b)) * exp(-L * t_a) where I've changed variables to G = (1 - exp(a)) + f * (1 - exp(b)) * exp(a). I further split this into two parts corresponding to the parts of the compound nomogram: P = (1 - exp(b)) * f and (G - 1) = exp(a) * (P - 1).

It's clear that the original Fig. 4.3 is a compound nomogram composed of two Type-2 (N- or Z-shape) nomograms. I started by trying to reproduce one piece of the compound nomogram, the function P = (1 - exp(b)) * f. I could verify the results (fig_4-3_nomogram.pdf) of the code (fig_4-3_nomogram.py). So far so good.

It wasn't clear how to proceed to the second half, generating a Type-2 nomogram for (G - 1) = exp(a) * (P - 1) where P is the result previously generated. At this point I'm not worrying about creating a compound nomogram; I just want to create the second half of Eq. 23 with G as the result of specifying P and a. I had less success this time, and I suspect I'm abstracting or transforming my equation improperly. The results at the point I gave up are shown in fig_4-3a_nomogram.pdf and the code is listed at fig_4-3a_nomogram.py.

I feel as if I'm guessing at what should be in the lambda() closures in the second script even though it's clear that if G' = G - 1 and P' = P - 1, then (G - 1) = exp(a) * (P - 1) becomes G' = exp(a) * P' which is pretty clearly a Type 2 nomogram with closures u, exp(u), and u respectively.

Is there a better or clearer way of decomposing or transforming the original equation?

I think I'm pretty close to a solution but I'm missing something very simple or obvious. Any help would be greatly appreciated.

As an aside, you may be wondering why I'm trying to retypeset an obscure and obsolete technical document such as the Reactor Shielding Design Manual, also known as TID-7004 or the Rockwell Shielding Manual. This is a personal project, to preserve a piece of technical history which was produced during a period of great transition in computation. Two different early digital computers are referenced in the text, one at the US National Bureau of Standards (the SEAC) and one at the Naval Research Laboratory (the NAREC) as well as a commercial analog computer from Electronic Associates, Inc. So far, I've typeset most of the text, figures and equations in LaTeX with a lot of tabular material still remaining.
Leif
Posts: 55
Joined: Mon Dec 31, 2007 3:03 pm
Location: Finland
Contact:

Re: Advice needed while (re)creating compound nomogram

Postby Leif » Sun Aug 21, 2011 7:14 pm

I would try little modified code below for fig_4-3a_nomogram.py. Changed lambdas and order in block definition. Hope it works but I did not check.

br,

\leif

Code: Select all

# (G - 1) = (P - 1) exp(-lambda_tc)
N_params_p2={
        'u_min':0.0,
        'u_max':1.0,
        'function':lambda P:P-1.0,  #!!!!!!
        'title':r'$P$',
        'tick_levels':3,
        'tick_text_levels':1,
                }

N_params_ltc={
        'u_min':0.0,
        'u_max':0.2,
        'function':lambda u:exp(-u),
        'title':r'$\lambda t_c$',
        'tick_levels':3,
        'tick_text_levels':2,
        'scale_type':'linear smart',
                }

N_params_g={
        'u_min':0.0,
        'u_max':1.0,
        'function':lambda G:G-1, #!!!!!!
        'title':r'$G$',
        'tick_levels':3,
        'tick_text_levels':1,
                }
block_2_params={
             'block_type':'type_2',
             'width':10.0,
             'height':10.0,
             'f1_params':N_params_g,  #!!!!!! (swapped)
             'f2_params':N_params_p1,#!!!!!!
             'f3_params':N_params_ltc,
             'isopleth_values':[[0.31,'x',0.06],[0.28,'x',0.0825]],
             }

Return to “PyNomo”

Who is online

Users browsing this forum: No registered users and 1 guest