Rainbow + ODEcalc + CurvFit Software 4 Engineers & Scientists
Reg. $0.00

Fortran Calculus - Ordinary Differential Equations
Reg. $1,000,000.00


1. FC Advance Order Form


2. Feedback Form
How did installation & execution proceed for user?

Problem-Solving Example #1

A.C. Motor Design
__________

AC Motor Design Example
    Figure 1 is a case study of re-engineering -- a simulation program for A.C. motor design that was reapplied using our Fortran Calculus language/compiler as an optimization program and fully tested in about an hour. The original program had been used for trial and error design calculations by a west coast manufacturer. Restructuring this mature engineering model into a design optimization program, only required introducing a FIND statement that defined a constrained optimization problem with 12 unknown parameters and 7 constraints. A FIND statement invokes a solution technique or solver that consists of automatic differentiation with a numerical algorithm. The solver involved in this case is a nonlinear programming algorithm called THOR. Figure 2 (part of output) is a report automatically generated by the solver, THOR, summarizing the iteration steps. This partial summary shows initial guesses of the parameters and the final results.
    This case study illustrates the economic benefits of AD based software for reapplying existing application software in a higher-productivity mode. The existing engineering simulation model was used "as is". It was automatically elevated to optimization by the hidden differential arithmetic. There was no mathematical analysis or algorithm design required. Because this was a re-engineering of an existing program, no debugging was necessary, and since the optimization solvers are interchangeable, different algorithms could be substituted to verify solution correctness.

    Figure 1. Calculus Code ... A.C. Motor (Optimal) Design

    global all
    problem acmotor 
      dimension cns(7) 
      dynamic botm, bnd 
      call input 
      call design 
      print *, '---------------initial design---------------' 
      call output
    
      find coiltrns, ! number of turns per coil 
    
    &     EPDIAM, ! Separating diameter 
    &     STASLOTW, ! Stator slot opening width 
    &     ROTSLOTW, ! Rotor slot opening width 
    &     AIRGAP, ! Air gap 
    &     STATOOTW, ! Stator tooth width 
    &     STABAKIR, ! Stator back iron 
    &     ROTTOOTW, ! Rotor tooth width 
    &     ROTBAKIR, ! Rotor back iron 
    &     STASLOTO, ! Stator slot opening depth 
    &     ROTSLOTO, ! Rotor slot opening depth 
    &     SLIP ! Slip 
    &   IN DESIGN; BY THOR(TCON); 
    &   WITH BOUNDS BND; AND LOWERS BOTM; 
    &   HOLDING CNS; TO MAXIMIZE EFF
    
      print *, '----------------optimized design-----------------' 
      call output 
    end 
    model design 
      f1 = 231258.0438 / coiltrns 
      q1 = sepdiam * pi / 56 : q2=sepdiam * pi / 69 : q3=sepdiam * pi / 28 
      c1 =q1/((q1-staslotw)+(staslotw *(.7 -(.036 * staslotw/ airgap)))) 
      c2 =q2/((q2-rotslotw)+(rotslotw *(.7-(.036 * rotslotw/airgap))))
      crnol = f1 * airgap * c1 * c2 / (6.96 * coiltrns * q3) 
      q4 = (statorod - stabakir - stabakir - sepdiam - .1) / 2 - .01 
      q5= (sepdiam+q4+.1) * pi / 56 - statootw - .016 : a3=q4 * q5 
      z1 = 7000 * a3 
      q6 = coiltrns * 2 / z1 : z3= - 2 : z4=32+z3 : q7=1.26**z3 * 162 
      q8=64 / 1.26**z3 : z5=stacklen+stacklen+pi * statorod / 14 
      rdc =z5 * coiltrns * 28 * q7 / 12000 
      v1 = (sepdiam - .06 - rotorid - rotbakir - rotbakir) / 2 
      v2 = (sepdiam - .06 - v1) * pi / 69 - rottootw 
      a4 = v1 * v2 : r2 = (.0133 / a4) * (stacklen / 12000) * u1 
      rrot= (56 * coiltrns)**2 * r2 / 138 : r4 = rrot 
      g3 = 3.2 * (q4 / (3 * q5)+.03 / (staslotw+q5)+stasloto / staslotw) 
      g4 = 3.2 * (v1 / (3 * v2)+.03 / (rotslotw+v2)+rotsloto / rotslotw) 
      g5 = (1 / c1+1 / c2 - 1)**2 * .26 / airgap 
      g6= (g3+g5 * q1) / 56+(g4+g5 * q2) / 69 
      xleak = xc * pi * coiltrns**2 * (.05+g6 * stacklen) ! leakage reactants 
      crstal = 115 / (sqrt(((rdc+r4)**2)+xleak**2))       ! stall current 
      crfl= 115 / (sqrt(((rdc+r4 / slip)**2)+xleak**2))   ! full load current 
      storq = 1.5792 * (crstal**2) * r4                   ! stall torque 
      rtorq = 1.5792 * (crfl**2) * r4 / slip              ! running torque 
      p8=rtorq * (1 - slip) * 1.264944649 : p6= (crstal**2) * (rdc+r4) 
      p7 = (crfl**2) * r4 / slip 
      flux = (1.4 * f1 / (statootw * stacklen) / 6450     ! flux density 
      b7 = (sqrt(crfl**2+crnol**2) * flux / crnol) / 1.4 : b2 =.13 * b7**1.9
      b3 = (((statorod**2 - sepdiam**2) * pi / 4) - 56 * a3) * 0.28 * stacklen 
      feloss = b3 * b2                                    ! iron losses 
      culsta = (b7 * crnol) / flux)**2 * rdc        ! stator copper losses 
      eff = .5 * p8 / (p7+feloss / 2+culsta)        ! efficiency - maximize this 
      rac =13225 / feloss                           ! a.c. resistance 
      xmag =115 / crnol                             ! magnetizing reactants 
      culrot = crfl * crfl * rrot / staslotw        ! rotor copper losses 
      cns(1) = statorod - .1 - sepdiam     ! stator o.d. > = separation diam+.1 
      cns(2) = sepdiam - rotorid+.1        ! separation diam > = rotor i.d. - .1 
      cns(3) = ((sepdiam * pi / 69) - .035) - rottootw   ! rotor tooth geometry 
      cns(4)=.5*(sepdiam - rotorid) -.025 -rotbakir ! rotor back iron geometry 
      cns(5) = storq - 60                           ! stall torque > = 60 
      cns(6) = 19 - flux                            ! flux density < = 19 
      cns(7) =.05 - slip                            ! slip < = 5 percent 
    end

    As this example illustrates, the benefits of multiple - parameter optimization in practical engineering calculation can often be dramatic. Because of the large number of parameters, something on the order of a billion to a trillion computer cases would have been necessary to achieve this result if using the original program. The bottom line benefit is dramatically reduced cost, higher engineering productivity, and immediate results to meet tight schedules.

    Figure 2. (Partial) Output Report ... A.C. Motor (Optimal) Design

      ---- Thor Summary, Invoked At Acmotor[29] For Model Design
      ---- Convergence Condition After 35 Iterations
           o
           o
           o
      Loop Number......     [Initial]         35
      Unknowns
        coiltrns        2.900000e+01    3.214302e+01
        sepdiam         4.000000e+00    5.010000e+00
        staslotw        6.000000e-02    6.570807e-02
        rotslotw        3.500000e-02    3.500000e-02
        airgap          8.000000e-03    8.000000e-03
        statootw        1.350000e-01    1.687119e-01
        stabakir        1.500000e-01    3.955060e-01
        rottootw        1.100000e-01    8.885508e-02
        rotbakir        4.700000e-01    9.700004e-01
        stasloto        3.500000e-02    2.500000e-02
        rotsloto        1.500000e-02    0.000000e+00
        slip            3.000000e-02    5.000000e-02 
      Objective 
        Eff             4.020854e-01    7.312523e-01 
      Inequality Constraints 
        cns ( 1)        1.010000e+00    0.000000e+00
        cns ( 2)        1.225000e+00    2.235000e+00
        cns ( 3)        3.712132e-02    1.042519e-01
        cns ( 4)        6.750000e-02    7.249963e-02
        cns ( 5)       -7.555936e+00    6.415480e-04
        cns ( 6)        1.258933e+01    1.437190e+01
        cns ( 7)        2.000000e-02    0.000000e+00 
      --- End Of Loop Summary

See Also


Problem-Solving Application Examples include:

CurvFit: a curve fitting program with Lorentzian, Sine, Exponential and Power series are available models to match your data.

ODEcalc: an Ordinary Differential Equation Calculator! Solves BVP & IVP.

Match-n-Freq: a Matched Filter program used to filter signals and slim pulses.

Robot4: Robotic Arm Movement; determines how to get from a point to another point.

Industry Problem-Solving Descriptions include:

AC Motor Design: a simulation program for A.C. motor design that was reapplied as a constrained optimization problem with 12 unknown parameters and 7 constraints.

Body Plasma Chemistry: determine the concentration of a Therapeutic treatment drug that is in the body over a period of time.

Efficient Solar Cells: Modeling a Nanostructured Solar Cell. Problem: How to develop solar cells with a new (higher) efficiency; grätzel cells.

Pulse Slimming to minimize InterSymbol Interference: via Arbitrary Equalization with Simple LC Structures to reduce errors.

Voice Coil Motor: basically an electromagnetic transducer in which a coil placed in a magnetic pole gap experiences a force proportional to the current passing through the coil.

Heat Transfer Boundary Value Problem: Solves second order Differential Equation for temperature distribution in a tapered fin.

Electrical Filter Design: find the transfer function's poles & zeros; H(s) = Yout(s) / Yin(s).

Digitized Signal from Magnetic Recording: Magnetic recording of transitions written onto a computer disc drive may produce an isolated pulse as shown.

PharmacoKinetics: an open-two- compartment model with first order absorption into elimination from central compartment is presented here.

Rocket Feed System: illustrates solving implicit differential equations that model a liquid propellant rocket feed system in the presence of a longitudinal vibration.



 
Copyright © 2005 Optimal Designs Enterprise. All rights reserved.