MetalicaRap

From RepRap
Revision as of 10:47, 3 August 2011 by MrAlvin (talk | contribs) (Support MetalicaRap Development)
Jump to: navigation, search
Crystal Clear action run.png
MetalicaRap

Release status: Experimental

MetalicaRap vers 1.0 Dark2.jpg
Description
An Electron Beam 3D Metal Powder Printer with Solar Cell Fab. ability, including microscope vision system (SEM) & Z axis metal correction in a vacuum.(Design stage).
License
Author
Contributors
Based-on
Categories
EBM,categories =Powder
CAD Models
External Link
please contact us via mail forum below





Contents

MetalicaRap . . A 3D Metal & Home Solar Cell Printer. Open Design

Essential PreRead

. Existing Commercial Electron Beam 3D printer click link in square brackets here [2], Factory at home,See [3], 3d Printed Rocket Engine Takes Flight ! See here at 2:40[4] (a stainless steel 3d Print) Remember: What is contributed is more important than the expertise or qualifications of the contributor


Support MetalicaRap Development

We are currently trying to raise money to make a RepStap version of MetalicaRap.

We need an estimated 50K euro, and have so far raised close to 4000 euro.

You can donate money:


There are many other ways you can help further the development of MetalicaRap. Please read this page to get an idea of current development status. We can be contacted on RepRap IRC channel, [email protected] or best at RepRap MetalicaRap forum

letter

Hi

We are now 7 months in to the development of a printer capable of printing in all common metals, which can largely print itself. If you want to talk to us, one of the team should be available on RepRap IRC [5] every Sunday at 20:00 local time in the UK which is 12:00 Pacific Standard Time, 15:00 Eastern Standard Time, 20:00 Greenwich Mean Time, 21:00 Central European Time.

Critically it may offer the ability to largely print the most expensive bits including the electron gun ( Equivalent to printing a 600W fiber laser in a Selective Laser Sintering machine).This gun will point in to a vacuum chamber above a build platform covered in metal powder.

For now the self replication will not include the vacuum chamber as it will be welded from stainless steel plate, the power supply is under construction from bought in parts and the pumps will initially be purchased.

If you would like to help out with general research ; for example currently we need help with:


  • Material science research on pros./ cons. for materials for each electron gun and coil element in 10<math>^-</math><math>^4</math> Torr vacuum
  • Gun 1.4KW 100KV
  • Which insulator for cylinder holding 100KV terminal in electrical feed-through in to chamber ? PTFE? See page 5 [6]
  • Which metals for cathode/anode/ wehnelt electrode ? tungsten / tungsten /molybdenum respectively alternatives?
  • Which insulator between cathode and anode support structure ? 80KV and 150 KV 2600C filament , which ceramic? See page 5 [7]
  • Which insulator to secure tungsten wire?, which ceramic?
  • Which metal for "soft Iron core" surrounding coil windings, unalloyed soft ironfor yoke e.g. "Hyperm O", cobalt iron alloys for pole pieces if needed eg Permendur Vacoflux
  • Which wire for coil windings ? (4A) telflon coated copper? maybe?
  • which thermal conducting material for anode support structure? copper 20100 alternatives? See page 5 [8]
  • Which metal for hot electron source in either;
a)Thermionic emission regime
a).1 Ribbon hot filament design tungsten at 2500C 0.3 A/cm<math>^2</math>(melts at 3410C)?or Thoriated Tungsten 1.16 A/cm<math>^2</math> or Tantalum 2.3 A/cm<math>^2</math>(melts at 2996C)? Tungsten alternatives?
b)Thermionic and field emission regime with field emission cathode disadvantage requires 10<math>^-</math><math>^7</math> Torr vacuum, so baked-out Vacuum systems are required
Vacuum system heated up to 200 C for 24 Hr under vacuumbut give the advantage of electrical break down no longer regarded as a threat.
(this a low priority research item as it will be used in a future MetalicaRap version only)
b).1 Schottky emitters, / Zr coated tungsten tip ?, e.g. IrCe or LaB<math>^6</math> 80 A/cm<math>^2</math>// Difficult to stop it reacting with its own support material.
  • What insulator for surrounding the central stalk that makes the internal electrical connection to the hot IrCe metal ring which goes up through the cathode stem?

General vacuum material science book here [9] or [10]

  • Example support structure for world record electron gun See page 5 [11] we will have a 10 x smaller beam power for our large gun, PHYSICS RESEARCH
  • Familiarize yourself with Software, choose either Universal Accelerator Library (UAL) or Code_Aster familiarize with API environment, With Universal Accelerator Library (UAL) develop methods to create "lens coil" focus control dependent on X,Y beam position and "X Y deflection coil" raster control (CRT style raster). Or with code_aster develop thermal model to track temperature in build volume SOFTWARE DEVELOPMENT
  • Researching the sourcing/ price of components suppliers for our mechanical vacuum and high voltage challenges?' What limited out-gassing cheap 4A cable e.g. tefelon coated , limited out-gassing cheap Signal cable , and 100KV cable exterior 1KW cable is available ? High Votage transformers 100KV 1.4 KW prices. In chamber these need to be Limited outgasing required [12][13]units Torr Liters Per Square Cm. Per Second' INTERNET RESEARCH
  • Use your network to help us find more technical specialists, the technical specialists we currently have are very busy people already and needed in electron gun & material science design area." NETWORKING
  • Follow the links on our website and try out our design questions ! PHYSICS & ELECTRONICS RESEARCH
  • Help us research the scanning electron microscope signal processing and image processing." See Topographic SEM solution for metalicarap [14] MATHS RESEARCH
  • "Help us get technical drawings for existing electron beam welding gun designs from contacts or patent listings, great for new ideas" ENGINEERING NETWORKING
  • Self study the material science to help us with its development free at this site[15]'' STUDY


None of the processes in them selves are new , they have all been done in other contexts, what is new is that it may offer finished parts requiring no further machining, verification of parts tolerance and bring error correction to metal powder 3D printing for the first time, thus enabling full strength finished dimensional parts production.


For those space buffs, NASA is also making their own machine but with wire not powder, to use EBM's excellent metal grain control ability to achieve "aeroelastic and acoustic tailoring into aircraft structures" For details see here [16], and have now recently purchased an Arcam EBM 3D printer.

kind regards

MetalicaRap team

Contact. click here [17] Rapatan



Philosophy

"Since Jones and Swainson many other techniques for rapid prototyping have been developed. Three of the most significant are selective laser sintering (SLS), filament deposition modeling (FDM), and the MIT powder/ink-jet-glue process.A rapid prototyping machine that can make most of its own component parts will clearly be easier to design if one avoids things like high-powered lasers; having the machine make a laser from scratch would be difficult. More subtly, ink-jet print heads (though cheap) are intrinsically hard to make as they involve micro-fabrication, and so a machine based on them would be unlikely (in the medium term) to be able to liberate itself from that one bought-in part. " [18] Adrian Bowyer

As you can see from the above quote even though SLS was one of the 3 major contenders for the reprap machine, it was rejected due to the difficulty of self manufacturing the beam source ie laser, Yet an alternative beam source exists the electron beam (EBM), that may offer self manufacture, due to it largely consisting of 3 simple elements; a cathode metal ring, an anode metal tube and a hot tungsten wire. Another key issue is producing verifiable dimensionally finished parts, commercial metal powder printers can not measure the individual parts they produce, unlike conventional machining methods, MetalicaRap can due to the inclusion of a layer by layer measuring system ( scanning electron microscope SEM).

To manufacture metal parts that can directly "fit" to produce working mechanics is another advantage, in EBM the X and Y axis accuracy is dependent on electrical control rather than mechanical sturdiness giving rise to a inherently stable self reproducibility, On the other hand the challenges of Z axis powder management brings the need for a vision system (SEM) and z axis correction method EBM/vaporization (Vision systems are currently in development stage on state of the art commercial machines.)

Advantages

Fully functional parts directly from standard metals

For most parts it may offer dimensionally finished metal parts IT grade 7

Good metallurgy on all common metals, ( Melting process rather than sintering process ensures near 100% of solid material)

Self measurement of finished part tolerances

May offer automatic self correction.

Additional Benefits; Can print thin film CIGS Solar cells in existing vacuum chamber with existing electron gun, will be able to self print additional required parts for solar cell printer.

Disadvantages

Vacuum chamber needs on going maintenance.

Quantity and quality of metal/materials used in vacuum chamber construction, Limited outgasing required [19][20]units Torr Liters Per Square Cm. Per Second

Difficultly in managing metal powders, indicated by the need to have layer error correction, Problem area's including; powder layer flatness, metal meniscus blob formation, metal powder trapped in work piece( i.e. designed internal closed cavities, designed internal porous structures).

Quality Control - surface quality/polishing methodology , on the fly heat treatment process development (to overcome residual stress left in work piece).

Non-desktop size, Chamber approx 1m cube.

Main elements

Beyond power supplies, computing power and sensors, MetalicaRap has 5 elements; electron gun, high Vacuum chamber, roughing pump, oil diffusion pump or turbo pump and metal powder dispenser/build platform

A low power gun build example
Low power gun in operation.. See [1]
Electron Gun Elements
Coil wiring diagram

Electron Gun


Restricting the design to known technology, 2 guns are required one close to the target and one far from target 1 m away(having functions SEM / Micro vaporizing and melting across build area respectively), Later a second design step may be to combine these functions in one gun again Or to one fixed gun and just a backscatter detector ring on Cartesian support which the fixed gun will aim through for vision. Technical background See 5.2 [21]see lecture 4.02/11/04[22],[23]

Cartesian Electron Gun A 600W (60KV 10mA) close to build platform on Cartesian X,Y support. Providing subtractive micro vaporizing and vision system

Providing Sub µm Topological mode scanning electron microscope vision system ( See Topographic SEM solution for metalicarap [24])

Additionally providing Micro vaporization (See gun layout Page 3 [25] down to 10µ to 40µ spot size), Initially this would be used to flatten every tenth layer of the build through high points / blobs removal. Future software development could provide live modeling of build, so through the adjustment of beam melting path in following layers errors/ blobs could be taken account of as they arise, thereby limiting the need for blob removal to critical surfaces.

Static Electron Gun B 5KW max (80KV to 150KV 33mA) 1 m above build platform. Providing additive printing through melting at high beam deflection speeds, enabling high build rates

Providing build platform metal powder heating and melting, spot size 100µ ( may be inaccurate) pointing accuracy 10µ ( may be inaccurate). This higher power gun probably will result in the inclusion of a liquid cooling cathode housing system, thou for simplicity it is best avoided.

Material science research discussion, pros/ cons for materials for each electron gun and coil elements?

which ceramic insulates Type/material ? which metals for cathode/anode surfaces? which metal for electron source in either a) hot filament wire design or hot pin design? which metals for soft core surrounding coil windings, which wire for coil windings 4A, "*

General material issues;

Nickel(1453 C melt), stainless steel(1400 C melt) and molybdenum(2617 C melt) are best materials for electron guns as ( others like brass contain zinc which out-gasses intensely when it gets hot, which can lead to ionization and flash overs.) Ceramic or glass are good for insulating elements and can cope along with tungsten(3410 C melt) at over 2600 C creates a high enough current by thermionic emission.

High vacuum chamber (initially welded)

Stainless steel High vacuum <math>10^-</math><math>^5</math> Tor / (mm mercury) NiCr Alloy (10-16) Hexagonalx40 halfhexagonalx16 endpiecesx16 384 bolts copper wire, main door Viton O ring (Euro ). Future; airlock so print while repump.

Roughing pump (initially purchased Vane pump e.g. Varian DS102 1.5x10<math>10^-</math><math>^3</math>Torr )


High vacuum Ion pump or turbo pump ( Use electron guns to pump chamber down 50 50L/s max 1.5x10<math>10^-</math><math>^1</math><math>^1</math>Torr)

Breakthrough ! This turbo pump cost has been a block to costs coming down, , but after redesign a Ion pump seems a good solution, 300 x 4mm stainless tubes with titanium plates on either side covering the end of the tubes, thereby the titanium plates acts as cathodes and tubes are anodes, these are situated around the outside of the lens and deflection coils providing magnetic fields and a 7KV supply hooked up , we have create a electron gun and ion pump combination.

Turbo pump is expensive ( Turbo pump e.g. turbovac 50 50L/s 1.5x10<math>10^-</math><math>^9</math>Torr) .

Another alternative is use an oil diffusion pump but this may be of limited use as it puts some silicon oil vapor in to the chamber which will be cracked if in contact with tungsten filament (at 2600 C) producing oil by products that reduce the vacuum and affect the quality of final produced metal parts, their is an existing home build design See here [26],[27] use google toolbar translate Spanish( options select language of page English) though some people have had success with using the chilling unit from an air conditioner in-between pump and chamber [28].

metal powder dispenser / build platform

options include ; screw/ twin chamber design / gravity deposit; Wiper plastic wiper ; Metal Vapor protection Gun protection disc, Waiste metal SEM pickup,& wiper protection

Power Supply

Power Supply with Arc sense arc quench arc count.

Cartesian 600W gun circuit construction will be based around 2 MOT serialized 50Kv(1Kw) and 6 stage crofton walton ladder for the positive 30Kv side and the same for a negative 30Kv side

Design criteria

Design a Metal 3D Printer ,Build volume 30cm x 30cm x30cm, that produces dimensionally finished parts +- 20 µ m over 20mm, metallurgy equivalent to wrought iron milled metal parts, largely self reproducing, electrical supply limited to single phase ( ie not 3 Phase,), minimum consumables beyond metal powder ( avoiding need for e.g.argon gas ... etc,),cost for parts less than a small car, build-rate can be slow i.e. .2KG per hour, no bigger than a wardrobe max height 2.4m.

(Approx. PriorReveiw Current details circular build platform dia.0.36, so square print size 0.255 x0.255 Heights/Widths/Depths H 0.8 gun tube ( .32 diameter) plus 0.8 deep chamber to top of build chamber H 0.8 x W 0.8 x D 0.4, 2.56 <math>m^2</math> plate, ( the build platform has a long magnetic feed through, So the vacuum chamber only continues down to the top of build platform. The width 0.8 is achieved by attaching second gun to powder dispenser and only using one gun ) Sub parts gun H 0.8m x Ø 0.32 diameter , beam chamber H .8m x W 0.8 m x D0..4m ,, )

((Theoretical min chamber size with combined melt & vaporize/vision gun in one chamber ( no gun tube on top )  ;H 1.2. x W 0.80 x D 0.4 max beam deflection,42deg 0.19 chamber beam length, 3.52<math>m^2</math> plate ))

Due to lack of control in metal powder deposition & molten metal forming droplet/distortions in conventional ebeam 3D printing (e.g arcam 3d) a tolerance of 300µ in the Z axis is a typical with 10µ powder,( Lower power sizes are prone to magnetic forces and typically unwieldy, though powder demagnetization and non ferrous construction is a possibility, This demands an error correction which is based round a Vision system using 4-sector, independent channel axial Back Scatter electron detectors (BSE) Scanning Electron Microscope (SEM) combined with image processing, the pseudo stereo SEM picture data can be converted to true 3D dimensional data (asymmetrical 4-source BSE photometric stereo 3D-imaging), Enabling sub µ metal height measurement. Z axis dimensional mistakes in any particular layer can be found and corrected by removal of high points through Electron beam machining / ebeam vaporization of the metal. This brings the XYZ axis to 20µ error over 20mm (IT grade 7 See IT grade table here [29].



Beam Simulation and Control Software

Those looking for entertainment might look at the open source Unified Accelerator Library (UAL) that has a 30yr track record of simulation and control of electron beam movement so this could be an option for a Electron beam focus model and a Control/Simulation approach. But UAL lacks thermal models and metal powder melting modeling so its main use may be to get the beam spot landing on the powder at the correct position and diameter defined in the G code from skeinforge. (You can down load UAL here [30], [31] Introduction here, [32] , Manuel for UAL's Design Toolkit called MADX where you can enter a hardware definition i.e. collection of coils along a beam start with two " solennoids " at 0.1m and -6 m, beam at 0m along latticeset at 3KW 100 micron diameter (MetalicaRap has 3 XY deflector coils for beam deflection, 2 "Solenoid" for beam lens's) then run simulation of beam with OFFLINE MODEL UAL 1.9 here[33], This hardware definition of coil positions is called the "lattice". The control ONLINE UAL 1.11 will them apply this simulation to the control of the electron guns in real time).( Ignore the following elements we don't have them in MetalicaRap ; BeamBean, electric kicker,Kicker, RF cavity, taylor map, wake, wriggler .

This has the advantage of being a heuristic system, which while simulating the beam movement simultaneously records models coils, guns, motors inputs; voltage values, current values etc. Then when you run the real world machine these form the drive instructions to the machine, any sensors picking up deviations are resolved through alarms or the software "reality checking" and thus improving the model. It also is designed as a multi user, multi platform software environment. Some draw backs may be over complexity of the system.

Possible open source fast Network "EPICS" ? for running UAL on, See here [34] [35] More Info here[36]

Thermal Modeling Software

Quick start instructions on thermal modeling software;

Open Source thermal real time model software Code_aster Introduction here[37] , Download code-aster software (Windows) here [38], Download extra element GetDP.exe here[39] (put GetDP.exe in c:\ASTER\OUTILS\gmsh\)[40], Download code-aster software (Linux to compile) here[41], Download extra element GetDP.exe here[42] (put GetDP.exe in c:\ASTER\OUTILS\gmsh\) once it is installed and extra element has been copied then as it finishs select option to run code aster.

First select your problem type definition files from the wiki i.e.Thermal program example See here (Use login user: getdp password: getdp) [43]

Second build your mesh of shape you require to be tested, with code_aster sub module Gmsh: you can find it In ASTK prg window under menu item Tools Gmsh \\\ then in Gmsh window select GEO in drop down sub menu //// or import shape via .stl file In ASTK prg window, menu item Tools, Gmsh , then in Gmsh window select; MESH submenu

Third run solver to solve the problem you have defined above by selecting the SOLVER submenu in the GetDP window and hit GetDP button. In GetDP window choose source files for problem; name.PRO file(the problem defined in an example text file from GetDP wiki ) Choose name.MSH ( mesh file defining geometry) Then in GetDP window select options and tick "display client messages" option, then hit Pre then Cal then Pos buttons and then see window called message console window and it will tell you what happened, the output results files name.PRE name.RES name.POS will be in the same directory as the name.PRO file you selected for input .

General info;(Gmsh is a three-dimensional finite element grid generator with a build-in CAD engine and post-processor) See here [44] Can access Gmsh through Graphic user interface or directly through unix or TCPIP socket via code_aster sub module getDP Download GetDP.exe here[45] (put GetDP.exe in c:\ASTER\OUTILS\gmsh\ or specify path to existing location) Overview here [46]See here [47]GetDP documentation here [48], Thermal program example See here (Use login user: getdp password: getdp) [49] Documentation for relevant thermal model calculations See Thermics module R5.02 booklet: / General Architecture D00301a.pdf In DDocsHTML (Down load following two links, unzip to same folder) [50] [51], Complete Guide to code_aster documentation here [52], Software Principles explained here[53] ,Aster documentation source here [54] , home page here [55] wiki[56],

Research Corner Welcomes Your Contribution

If these knowledge areas are new to you, remember to use your networking skills to talk to others that friend or uncle may be just that expert!

Design Questions;

A. Find magnetic optics simulation packages and run simulations for a Pierce Electron gun running between 50W to 1KW 100KV  ? ( given cathode is 1.6m from target max deflection 8 degrees ) ( spot size vs Cathode voltage, ideal guns , for max 60 KV and max 100 KV guns) ( N.B. All lens are magnetic not electrostatic because to achieve high enough resolution implies guns at 60KV + , to deflect the beam Electrostatic lens must be similar leading to insulation problems and high distortions.)

B. Possible pit falls of running an SEM at 100W in four-source photometric stereo Ruderford back scatter mode ?

(Depth of field of measurements layer errors over 200µ height, typical SEM power is 0.1W. )

C. Target metal surface temperature measurement would be a big advantage, Do you know of a electron bombardment based remote temperature measurement approach?.

D. Quantify relationship between cathode surface tolerances and electron gun performance, (spot size variation , 2nd order effects etc ) Quantify range of gun performance at cathode tolerances of IT 7.

E. Which pattern of beam movement a "fixed raster pattern (like a TV scan)" or "point and fire where needed" in a) preheat stage? ( taking temp up to 20 C below melting point) b)melting/sintering part shape? (scanning coil eddy curents overcome with delays?,scanning blanked out areas leads to time wasting?, variable shaped beam more efficient?, Interference from other signals- X ray , secondary electrons , luminescence , beam induced currents?, Clear path for beam? )

Design question feed back / discussion. Add your ideas here!


In Principle Software Tasks should include the following models for tracking the process;

Thermal Real Time Model; this allows us to keep track of the thermal changes across the build chamber or cooling path as the electron gun pulses strike the build volume powder ( energy input). Considering the following 4 situations conduction rates ; 1. Metal powder & solid metal volumes experiencing direct electron energy deposition (i.e. heat around electron penetrated regions, the depth of these volumes increases with Cathode Gun Voltage KV & vary with metal type ) see electron penetration model [57], 2. solid metal thermal conduction volumes ( the completed elements of final metal part under construction) , 3. metal powder conduction volumes ( the surrounding powder) , 4. chamber/boundary thermal conditions ( vacuum region, build box). See electron strike model for different metals and different cathode Voltages.

In general for any unit volume receiving an amount of energy per second to be raised by 1 degree K (the metals specific heat capacity) from a distant energy source, the amount of energy (W or J/s) arriving from that energy source(the electron beam) via a path; The paths energy transit rate (the conduction rate ) is dependent on the cross sectional area of path, the length of path and the temperature difference between the ends of the path, (this is called the thermal conductivity). The volume changes size by the surrounding pressure ( atmospheric pressure, indicating the density of the material).

So from known initial temperature conditions combining the specific heat capacity, thermal conductivity and density to calculate paths, then summing these paths leads to knowing the temperature of a specific unit piece of metal and its physical state, solid or liquid or vaporized (temperature above or below its melting point or vaporization point at any particular time). The following should be considered ; variation of mass with scan speed, Bed preheating scans, See for more background technical information. [58] [59],

Electron gun beam focus model. to highlight resolution operational compromises between ; the higher the gun cathode voltage the tighter gun focus, so the smaller the beam spot size on the metal powder giving rise to a higher XY resolution ( lens adjustment can alleviate. See lens simulation [60]), yet also the higher cathode voltage the faster the electrons go, so the deeper the electron energy deposition/giving rise to deeper vaporization holes giving less vertical Z resolution, (used during Z axis error correction mode ). Also surface tension is correlated with temperature working in opposition to wetting effect flattening the metal blobs. See possible software solution Unified Accelerator Library (UAL) with supporting networks EPICS below.

Combining the above two models with the work piece metallic properties we can develop, a Work piece removal model and a Work piece melting model Beyond this we need a control system with monitoring and a network structure.


Design Tools

Electron Gun Collector(/cathode) Simulation Software ( not for the faint hearted!)

Some people suggest the most acurate way for Electron gun design is it to be done manually with formula through consideration of 3 effects on electrons; Electromagnetic fields, laws of motion, Space charge (electrons pushing on each other). Here are two formula explanations and manuel calculations of pierce guns,; first a large non filament gun example See here [61], Second an example of Pierce weld gun See fig.3 [62] ), See final equations to give velocity of electron in equation(1.9) and beam current as (equation 2.10)See equations here [63] .

Others argue simulation software is accurate enough and necessary it was used 1980's onwards to refine design of the electron gun, See example design process of a gun cathode See page 19 here [64].

Cathode voltage choice controls minimum penetration depth of electrons energy in to the metal powder/target, beam current choice influences power transfer rate from electron beam to metal, once cathode voltage and max beam current are decided, Electron Gun Collector/cathode Simulation programs are used to design the appropriately cathode anode surface shapes to achieve the said max beam current at the applied cathode voltage, while maintaining at the gun crossover point the required beam power (Watts) at the optimum gun crossover diameter (cm) (gun crossover is situated in the middle of the anode see main electron gun diagram above), the gun crossover diameter is the primary factor controlling the final beam spot size on build platform/target ( other negative effects come from coil imperfections and aperture electron wave interference patterns) .

  • For comparison try to get hold of open source charge particle/electron trajectory analysis programs, some times called electron gun computer simulation programs, like SAM or ULTRASAM (USAM) (By m Tiunov BINP russia )or maybe TREDI with modification?Get here[65], ( # -indicates confirmed as currently for commercial sale with no useful free trial version, #EGUN [66] / #EGN2w, windows version/ #EGN2w is currently seen as obsolete but will work fine for us, byBill Herrmannsfeldt, Reinard Becker University of Frankfurt/M, [67]) or #TRAK or #MAGIC). GENERAL RESEARCH

But for now we will try with a general magnetostatic program like Poisson for tracking through coils and calculating resultant forces on coils ( later we track beam live with UAL see above ) and unfortunately we have no solution for cathode anode design as we require space charge calculations and temperature and field regime "Schottky emission" which this CPO student limited version blocks, but you can get to know the principles behind it by play with CPO, ( CPO Boundary element method simulation program student version for standard pierce gun cathode shape/ solutions, Download CPO here [68] install and run in XP compatibility mode! (right click properties / compatibility tab) , Pictures [69] Installation help[70]).

Poisson/Superfish are a suite programs for Unix or Windows, containing the key subprograms called; automesh and poisson and pandira the suite is available from Los Alamos Accelerator Code Group (LAACG) First Register your name on the download page and then the download site offers instant Download, Download page here [71], Due to the complexity of the input file format of automesh (AUTOMESH.IN) two "helper" programs Geometric modeler download Poisson/superfish here[72] and ViewGraph download here [73] are essential for input and output respectively. So using Geometric modeler to create the input file to Automesh which combines the settings list and mesh shape to produce the problem file which is then analyzed by running subprogram POISSON. Which output file is plotted by ViewGraph or Geometric modeler.

So in general terms Run Geometric modeller to aid the production of the required input files for automesh, upon running automesh the problem set up is achieved. Once automesh has finished running and creating the problem file ( XXXXXXXXX.T35 ) then the solver program Poisson acts on this file to do the simulation of the design, The Gun simulation is an magnetostatic problem so is solved through Poisson equations ie uses subprogram called "Poisson"( We do not use RF cavities in the electron gun so ignore programs for tuning them, with FISH in the program name) . See summary of POISSON suite input and output files here input & output files using POISSON suite. You can confirm you output with approximate hand calculations at centers of coils See formula here , Deflection of beam by coil here [74] , coil Magnetic field B calculations [75], Background Coil design[76].

MetalicaRap Construction; Physics Principles/Disscussion. .Metallurgy Disscussion. .High Voltage Disscussion

Metal Powder Printing; Powder issues

Powder issues

The initial test run prints will be made in stainless steel 30µ (Pre cool final printed parts from this powder is therefore likely to achieve a tolerance of 250µ) and chromium cobalt under 50µ 30µ?( Pre cool final printed parts from this powder is therefore likely to achieve tolerance of 250µ)metal powder [77]supplier[78], and then later the challenges of Titanium 4µ powder will be considered (Pre cool final printed parts from this powder is therefore likely to achieve tolerance of 20µ). See article on micro sls [79]. See example machine [80],See example of twin chamber 3D printer[81]. Though through subtractive machining we may be able to bring critical surfaces of most of parts down to 20µ. stainless is 316L grain size -45µ+10µ product purpose 3D printing good fluibility, 60gbp a kilo best price 80 kg per buy delivery 3 month. Powder is manufactured from cold rolled metal (e.g. 304 approx 1.8 Euro a KG 07/20111) by Electron Beam Melting of a rod of feed material which then is momentarily caught on spinning plate and flung thereafter, thereby solidify by cooling. See [82]

The magnetic metals lead to magnetizing of Iron based metal powders so should be avoided where possible, (the main magnetic metals are Iron, Nickel, Cobalt Iron)

The metal powders are not good to ingest or breath in so mask should be worn, The metal powders may get caught in the fine folds of your skin so gloves should be worn.

All metal powders can burn easier than solid blocks, the active metals are most demanding; Titanium 4µ (other active metals include Aluminum, , zirconium ) , then the moderate range metals e.g. Cobalt Chromium 50µ and finally low range Stainless steel 30µ .General fire avoidance should be followed, Avoid sparks and open flames, Avoid dust clouds( through dumping action of powders), and use appropriate tools. Design principles of fire avoidance should include; appropriate grounding of equipment , avoid mechanical friction in design. For active metals consider glove box contained nitrogen clean up environment (Nitrogen from air extraction process) or just a liquid based vacuum cleaner.

Current status

If you want to talk to us; One of the team should be available on RepRap IRC [83] every Sunday at 20:00 local time in the UK which is 12:00 Pacific Standard Time, 15:00 Eastern Standard Time, 20:00 Greenwich Mean Time, 21:00 Central European Time. We are based in Copenhagen Denmark at Labitat.dk though one of our main engineer is in Lancashire UK. Tuesday night is open night where you can come to labitat in frederikaberg denmark and meet the team. Curently electron gun test rig and repstrap vacuum chamber including pumps and gauges under electrical maintenance.

We are particularly looking out for; Software development, Draftsmanship, Metal machining & Independent Ceramic Insulator research.

Get involved! the current team donate there free time, Current tech team; 1 software developers, 1 electrical engineer and 1 mechanical Design Engineer all part time.

( very occasional advice from; 1 Ultra high vacuum metal deposition specialist, 2 physicist , 1 High voltage system designer ).

Do get in touch

Related Projects

Specialist Parts Chamber CF flange Electrical connectors, Other (1x 140KV 2KW , , 6x SEM PIN diode pickups low current low voltage,

Main Deflector Coil driver solutions; a) Raster 30cmx30cm b) point and shoot Driver circuit choice Coil position options 1)7 degrees at bottom of gun 2)nearer build table.

2 leaded windows

3x 12mm Motor shaft Vacuum chamber motion feed through. 10-5 Torr Low torque version and high torque for 700W build platform motor.

Files and Parts

All files need to be in .DXF format

Sub Assemblies and Related

EBS=Electron beam sinterer/melting.

sequence - electron gun parts repstrapped EBS. Assembled tested in repstrap vacuum chamber. Metal powder deposition mechanism parts repstraped EBS . Gun depoosition assembled tested. MetalicarapVacuumChamber parts Electron beam sintered by our system. MetalicarapVacuumchamber assembled tested. 5 Elements assembled and tested.

Downloads

Photos and Drawings

alt text

File:MetalicaRap vers. 1.0.pdf



Plan view


Cartesian Gun A


Side View build table


Plan view build table



Side Section of Build table actuator



Build table drum


Build table guide bearings


Metal powder over spill tray , XY lead screw


. . .

.


.


.


.


.


.


.


.


.


.


.


.


.


.


.


.


.


.


.


.


.


DON*T be SHY

You can download all 9 design files here : File:MetalicaRap vers1 9 of 9.pdf

Print the drawings add any modifications then scan and upload them to the site. We need to collaborate on ideas, this is open design.


Create and Upload your modified version of the above design drawings. No need to ask Be FREE'

the more the better the design, lets try for a dozen?




AMQ A Million Questions Section . . No need to ask just add your thoughts

Note diference between minimum feature size tolerance, part final tolerance, printer machining tolerance, printer repeatability, post cool down tolerance. So should we design mechanics around 400µ Tolerance so it will still work if we don't get to 20µ/50µ. many commercial powder printers end up printing at 250 µ pre cool tolerance spec. But 400 µ may be more realistic since after printing,part cools down Kinks, coils & warps even if many printer can achieve feature size of 50µ. Though with post print subtractive ebeam machining we could bring it back to 50µ? Depends on parts shape, use ..etc

How will the 10µ metal powder effect the mechanics?


Self reproducing tolerance critical parts design around? / buyin ?

CF flange 300µ CHECK WITH VAQUUM DESIGNER,

Cathode surface 10µ CHECK WITH EGN 2 gun cross point spec.

Threads ETC 10µ check Mechanical eng.


How do we avoid materials that out gass in high vacuum and so stop vacuum forming.? ..... Two suggestions from an Open source day Copenhagen, Use electric field to pull waste metal away switch on in between beam vaporizing pulses so avoid bending beam.-ve may magnetize powder switching on and off , To protect guns have 2 motorized slotted sheets just above the powder, the hole where the slots cross is where beam enters -ve will slow beam down too much So N.G. as beam may reach 8000m/sn mechanical movement approx 1m/ S


Cathode tungsten pin is heated to 2500o C electron source overheating surrounding mechanical construction once been at 2500o C for 2 days. Ideas to reduce heating of surroundings 1. Not wire connection but use RF aerial to Aeriel connection, insulator which? Principles behind problem Types of energy exchange EM radiation , no convection (vacuum) , Conduction through supports.?

First layers are tricky to print WHY residual tension left in metal. powder thermal pre-treatment to degass and avoid powder balls and good flow.

..


..

DFTP Don't forget the post . No need to ask just do those "ten minutes of fun" mini research projects

  • seach in google scholar for METAL POWDER BEAM any thing about why the first layers are so tricky to print and result in most residual stress. [84], [85]


..

More Examples

Practical manufacturing walk through

Manufacturing walk through Time Cost

Given Electricity is 2kwh per hour .5Euro/hr

Part A

Material; Stainless steal, Size; 300x300x200mm Weight; 15Kg 10µ Stainless powder (40Euro/kg) melt print 100µ Z layer thickness

1 minute per 100µ each layer See below;

1 minute per Z 100µ layer, each layer preheated 20 degrees Centigrade under melting-point followed by printed by beam


5.33 minute per Every 10th layer Z axis correction see below ;

SEM ( part assumed to occupy 1/9 of whole print area; 1/9* 300*300=10 000<math>mm^2</math> measurement at every 10µ, SEM picture 500x500 pixel so 5mmx5mm, So for 10,000<math>mm^2</math> need 400 SEM pictures 10,000/25= 400 4x pictures from 4 picups gives effect of different angles? for 3D picture reconstruction so real distances, 400 5mmx5mm pictures, 250ms a picture = 100sec. plus time of mechanical movement of electron gun between .024m square patches at .03m per second is 12y strips each 0.3m strip takes 10 seconds to travel, so in all takes 120 seconds to cover build area( Risk of underestimate factor x100 ) 100+120=220 or 3.66 min Remove metal by Vaporization 1ms per 70µ diameter spot area 4000x10-6<math>mm^2</math> ( 850µs duration & 150µs beam movement) 1/10 of part high(Risk of underestimate factor x2) ( 1/10*10 000mm2/ 4000x10-6 <math>mm^2</math>= 1x105 spots 1x105 spots*1ms= 100Sec 1.66min


Time so far 200* Z correction layers 5.33 Min each 1066 + 1800 printed layer 1min each = 2866 min ( 2.0 days)

Cost 690 Euro materials 600Euro Electricity 90


Part B

Material; Aluminum Size; 300x300x20mm Weight; 1.5Kg Aluminum 15Euro 10µ powder, melt print 100µ Z layer thickness

Time 20* Z correction layers 5.33 Min each + 180 printed layer 1min each = 287 Min 4.8 hours

Cost 27 Euro materials 22 Euro Electricity 5 Euro

Further manufacturing walk through

Powder

injection molding powder

Aluminum powder 15 Euro/Kg 10µ

Carbon chromium 40Euro a kg. 74µ

Stainless powder 40Euro/kg 10µ

Possible self-replicated vacuum chamber: Anders used Blender to draw this rough sketch of a vacuum chamber made from hexagonal parts printed in a MetalicaRap.

Self replication

Self-replication of a vacuum chamber runs into the "how to make a match box inside a match box problem". Some say the "lots of small rigid parts joined together" approach -- illustrated on the right -- has "too many joins" for a vacuum chamber. Would a relatively soft material in the gaps between parts -- like the Pb lead between parts of a stained-glass window -- compress enough to make it air-tight? Normally use copper wire to make up "CF flange".[86]

As the main consideration is avoiding non MetalicaRap conventional machining, can you make the copper wire pinch/seal of a CF flange out of the edge of a purchased plain rectangular plate? Is there a better approach? Print the coper flange then uncoil?


NB. It can also weld finished parts together placed in the chamber, the chamber is twice as wide XY as build area approximately, as it needs space for removable metal powder hoppers!, can you use this extra space?,

Chamber 1.3m high, 1m wide, 0.6m depth powder build chamber is 0.3m High 0.3m Bredth 0.3m wide

Door size is up to you, could be a full side eg 1.3m by 1m.

Future Development ..Green Tech./Solar Cell production.. Focus on products that serve the environment

A solar cell production plant design that MetalicaRap will be able to print, that will then utilize MetalicaRap's vacuum chamber and beam for solar cell manufacturing processes of; spluttering, deposition rate of a few micrometers per minute / electron beam heating evaporation deposition EBPVD [87] / possibly a micro pulsed electron deposition process, and so produce thin film CIGS solar cells at under 11 cents per Watt peak. We have had some interest from solar cell production professionals already!

So Solar cells cost for a family 3 Bed house; Average Electricity usage 4200KW per year, 4200KW/365days*4.93 Equivalent Hrs peak sunshine= 4200KW/1800Hrs=2.3KW peak of solar cell panels required, at 11 cents per Watt peak the solar cell's would cost 253 dollars from MetalicaRaps plant, cost of inverter plus extras 1300 dollar, so it may offer an uninstalled system at under 1,600 dollars,( current price for uninstalled system is around 14,000 dollars (jan 2011)).

(Calculation based on cloudy areas of world, 1KWatt peak solar panel system under 4.9 hours peak sunshine per day gives approx 1800KWh per year, A desert area at low latitude would be up to twice as good as this.)


Further future developments

Critical Design Review, Review of decisions made so far

In chronological order

1.metal.......................... Vs ..composite. ........... .........Why .Metals needed for high stress high temp contexts , engines, solar plants.. -ve ........................ +ve metals 100 % recyclable fits Cradle to Cradle Design See [88]

2.additive.Sintering........ Vs Subtractive EDM?.................Why Tool path manual intervention required.Consumables......... -ve ..Powder management ............ +ve

3.ebeam..Vs laser .....Why A)laser below 50W,small size part 5x5x5cm,slow B) Laser above 150W cost, permit , Wall plug efficiency , optics .-ve .not so cool , difficulty diagnostics...+ve solar cell printer possible

4.powder...........................Vs foil..........................................Why foil waste removal.................................-ve .Harder solid parts.& powder management...... +ve

5.vision & correction sub. Vs one pass blind process ... ....Why .reliability Verifiable tolerance............................................. -ve ...Complexity..................... ................ +ve

6.gravity hopper................ Vs twin chamber........................ Why avoid old powder reuse fresh every time easier prep ............ -ve their must be a good reason to use 2 build chamber? e.g. EOS is. +ve

7.one static top of chamber gun with just sensor ring on cartesian axis Top gun shoots through sensor ring from top........... Vs two gun would ensure spot size on vaporisation but could add in again if existing does not work. Why So SEM near table Sensors PIN Diodes 164$ each not 64x PINdiodes . Pros & Cons of two guns design

8. Passive cooling Vs Water cooling for 5KW gun .............Why .Air cooling fins on cathode head block and on high voltage copper enclosed connector plus ducted fan & fins -ve need to be FEL modeled to check conductance. +ve Simplicity no water ( though could add later ).


9 Tungsten thermionic cathode filament.2600C. Vs .hot Field emission cathode ..Why Cost of IrCe, field emission required UHV, .Thermionic is OK in high vacuum... -ve hot spots poor beam focus reduced filament lifetime....... +ve cheap.


10.External coils . Vs ......Internal coils ....Why .Avoid cost of low outgassing wire, ... -ve .reduced field strenght use, so higher current thicker wire and heat ? more experimentation needed.. +ve cheap

11. Split hopper ..... Vs ..One large dispenser hopper.....Why ..cost chamber size less force required on motion feed through............... -ve ..complexity of refill mechanism ( shutter with knife edges ) ............... +ve. initial lower cost

...................................... Vs ...............................................Why ............................................................................................... -ve ..................................................... +ve


....................................... list in importance order, bold text indicates more thought required

Useful links

EBM introduction [89]

Images EBM / EBW [90]

General background Videos EBW see here [91]

Back ground Information on Electron beam processes; electron beam welding / vaporization EBM(1), EBM 3D printing(2),

Scanning electron microscope SEM background(3)(4).

1. http://www.twi.co.uk/content/spasaug2006.html

2. http://www.arcam.com/technology/ebm-process.aspx

More technical sites

3. http://www.matter.org.uk/tem/sitemap.htm ,

4. http://www.uga.edu/caur/semindex.htm

Self Replication Engineering Options See section 2. [92].


EBM technical background lecture See here [93]


General background Videos EBW see here [94]

Discussion of Advantages and Disadvantages of different Tool head processes.

Futher Reading

Vacuum chamber principles; Essential reading before you weld/construct your vacuum chamber, Basic Vacuum technology by Varian

Maths behind vacuum processes ( Not for the faint hearted )[95]

Online Design Tools

Build speed Calculator Program

Use it to decide your; Power supply size, Beam power,Deflection speed,Build platform size,Layer thickness,Digital to Analogue converter speed for beam power modulation While considering factors like; How these decisions vary between different manufacturing metals used? How wall plug efficiency effects mains supply requirements? How beam to metal efficiency effects process?

How do I run the following ECMAScript program here ? anyone know? Until we solve this you can copy the following code in the edit mode of this wiki by;, first logon above ( create an account if new to site, chosse any name & any password as requested) then by hitting the edit button top right of this section you enter edit mode for this section. By highlighting the text between and including <html> and </html> below, then copy (ctrlC) to clip board. Paste (ctrlV) this in to a blank document in notepad + + and then save this new file as "name.html" . Open this name.html file by double clicking it or by opening it with your browser/firefox/explorer from the file open menu in the browser, ( you can download Notepad++ here [96])Enjoy!


<html> <head> <title>Build Speed Calculator </title> <script> // N:B: This program takes Latent heat in to account only in build times, not in Frequency caculations! // It Caculates diffusivity limit using Fourer's 2nd Law, // Its durations do not include time for imaging or corection through vaporisation. // Some metal types diffusivity values have not been found, anyone can add them and remove commented out lines. // Program by Rapatan Tansen 5/2011 var stage; var vaporized = 999999999; var color = 'ffffff'; var ratio_required_for_cube_power_input_to_drop_below_vaporisation=0; var ratio_power_input_drop_achievable_by_beam_scan_rate_doubling=0; var multipass_build_slow_down_power_down_factor=0; var ratio_needed_to_increase_maximum_hardware_scan_by_to_avoid_vaporisation=0; var practicle_build_duration_message1=; var practicle_build_duration_message2=; var practicle_build_duration_message3=; var scenario=;

function getValue(t) { // function to go and fetch entry data variables by name from 'form' called 'calcform' ( see calcform at bottom of program)

  var i = document.getElementById('calcForm');
  var val = '0';
  for ( var j = 0; j < i.elements.length; j++ ) {
    if (i.elements[j].name == t) { // Finds name of variable in table of input variables

val = i.elements[j].value;

    }
  }
  return( Number(val) );

}

function setValue(t, v) { // function to go and put entry data variables by name from 'form' called 'calcform'

  var i = document.getElementById('calcForm');
  for ( var j = 0; j < i.elements.length; j++ ) {
    if (i.elements[j].name == t) { // Finds name of variable in table of input variables

i.elements[j].value = v;

    }
  }

}

function makeOutput() {

   var depth = (getValue('depth')); // in metres
var out = '';
   var beamspeed = depth / (meltTime(depth) + meltingTime(depth));
   var cubes = ( getValue('object_side_length_x')/100 * getValue('object_side_length_y')/100 * getValue('object_side_length_z')/100 ) / (depth*depth*depth); // x y z in cm convert to m , cubes in whole area fill not taken in to account here as preheat applied to whole area
   var fillfactor = getValue('fill') / 100;
   var passtime = cubes * ( 1 - fillfactor ) * depth / getValue('max_beam_speed');  // Time to pass cubes not melted
   var totalmelttime = cubes * ( meltTime(depth) + meltingTime(depth) ) * fillfactor;

var finaltime = (totalmelttime + cubes*preheatTime(depth) + passtime) /60/60; // totalmelttime is taking in to accountthe fill factor, but preheat time is all build area (via cubes), passtime is kipped area


var totalvaptime = .001*cubes * ( meltTime(depth) + meltingTime(depth) + boilTime(depth) + boilingTime(depth) );

out += 'build slow down factor;' + (diffusionDeflectionHardwareLimitsOnBuildTime(depth)).toPrecision(3) + ' Number of beam passes ; ' + (achievableCubePowerDropToAvoidVaporisationThroughBeamScanSpeedIncrease(depth) ).toPrecision(3) + '
'+'
' ; out += 'Beam power leaving gun: ' + BeamPowerLeavingGun() + ' W
'; out += 'Build duration with metal diffusivity & deflection coil speed limit: melting time ' + (((totalmelttime/60)/60)*diffusionDeflectionHardwareLimitsOnBuildTime(depth)).toPrecision(3) + ' hours + preheating time ' + ((cubes * preheatTime(depth)/60/60)*diffusionDeflectionHardwareLimitsOnBuildTime(depth)).toPrecision(3) + ' hours + skipping time ' + (passtime/60/60).toPrecision(2) + ' hours = ' + ((finaltime)*(diffusionDeflectionHardwareLimitsOnBuildTime(depth))).toPrecision(3) + ' hours to build

'; out += ' ' + practicle_build_duration_message1 + '
' + practicle_build_duration_message2 + ' '+ practicle_build_duration_message3 + '
' ; out += 'Desired speed for Digital to Analogue converter controling beam power switching Off and On to achieve required melting : ' + ((((1/( (meltTime(depth)) + (meltingTime(depth)) ))*(diffusionDeflectionHardwareLimitsOnBuildTime(depth))).toPrecision(8))/1000000) + ' MHz

';


out += 'Other info;
' ; out += ' Build time ignoring metal diffusivity limit: melting time ' + ((totalmelttime/60)/60).toPrecision(3) + ' hours + preheating time ' + (cubes * preheatTime(depth)/60/60).toPrecision(3) + ' hours + skipping time ' + (passtime/60/60).toPrecision(3) + ' hours = ' + (finaltime).toPrecision(3) + ' hours to build
';

var SpecialCasefinaltimeNodiffusionLimitOnPreheatAsDefocusBeam = (totalmelttime *(diffusionDeflectionHardwareLimitsOnBuildTime(depth))+ cubes*preheatTime(depth) + passtime) /60/60; // out += 'Build time with preheat defocused (No diffusivity Limit ) : melting time ' + (((totalmelttime/60)/60)*diffusionDeflectionHardwareLimitsOnBuildTime(depth)).toPrecision(3) + ' hours + Defocused beam preheating time ' + ((cubes * preheatTime(depth)/60/60)).toPrecision(3) + ' hours + skip ' + (passtime/60/60).toPrecision(2) + ' hours = ' + ((SpecialCasefinaltimeNodiffusionLimitOnPreheatAsDefocusBeam)).toPrecision(3) + ' hours to build

';

out += ' Scenario : ' + scenario + ' .....
'; out += ' Total vaporisation time of 1000th of volume of part: ' + (totalvaptime/60/60).toPrecision(2) + ' hours
'; out += ' Number of cubes within part: ' + (cubes).toPrecision(5) + '
';


out += ' Melt time 1 cube ( depth^3) ' + (meltTime(depth)).toPrecision(3) + ' S max thread exposure duration is ' + (maxExposureDuration(depth)).toPrecision(2) + ' S
'; // out += ' X Deflection coil scan sate ignoring diffusion limit: ' + (rasterXScanRate(depth)).toPrecision(5) + ' Hz .... X deflection coil scan rate taking in to acount diffusion limit ' + (maxThreadExposureXScanRate(depth)).toPrecision(5) + ' Hz ....
'; out += ' Cube melt time no diffusion limit ' + (meltTime(depth)).toPrecision(4) + ' S Cube melt time with diffusion limit ' + (maxExposureDuration(depth)).toPrecision(4) +' S ....
';

out += ' beam speed : ' + (beamspeed).toPrecision(5) + ' m/s ..... ';


out += ' Time spent on moving beam across non-treated areas: ' + (passtime/60/60).toPrecision(2) + ' hours
';


  out += ' Checks; 
' ; out += ' solid phase: ' + meltTime( depth ) * 1000; out += ' μs melting phase: ' + meltingTime( depth ) * 1000; out += ' μs liquid phase: ' + boilTime( depth ) * 1000; out += ' μs boiling phase: ' + boilingTime( depth ) * 1000; out += ' μs '; out += ' δT solid ' + solidTemp( meltTime(depth), depth ) + ' ' ; out += ' T melting ' + ( solidTemp( meltTime(depth), depth ) + getValue('preheat') ) + '
' ; out += ' practicle_build_speed_factor_output via scnario sub routine with max raster rate check ' + (diffusionDeflectionHardwareLimitsOnBuildTime(depth)).toPrecision(3) + '
The upped multipass scan rate is this amout larger than the entered scanrate limit ( limited by hardware ) ' + (practicalDurationMultiplicationFactor(depth)).toPrecision(3) +'
'; out += ' multipass_build_slow_down_power_down_factor (when none = 1) ' + (diffusionDeflectionHardwareLimitsOnBuildTime(depth)).toPrecision(3) +'
'; out += ' cube Power Reduction Required To Avoid Vaporiseation (when none = 1) ' + (cubePowerReductionRequiredToAvoidVaporiseation(depth)).toPrecision(3) +'
'; out += ' achievable Cube Power Drop To Avoid Vaporisation Through Beam Scan Speed Increase ' + (achievableCubePowerDropToAvoidVaporisationThroughBeamScanSpeedIncrease(depth)).toPrecision(3) +'
'; out += '
' ;
out += '
Results
';
  for ( i = 1 ; i <= getValue('steps'); i++ ) {
     var t = i * getValue('timestep');
     var res = calcTemp(t, depth);
     
out = out + '';
  }
out = out + '
TimeTemperature of unit cubeStage
' + t + '' + res + ''+ stage +'
';
  return(out);

}


function mass(depth) {

  return(getValue('density_solid') * depth * depth * depth ); // get mass of box KG ,cubing lenght each lenght from cm to m to get volume x density giving mass kg

}

function WallSocketPower() {

  return power = getValue('current_beam') * getValue('voltage_gun')*(1/(getValue('wallplugefficiency')/100));    

}

function BeamPowerLeavingGun() {

  return power = (getValue('current_beam') * getValue('voltage_gun'));    

}

function beamPower() {

  return power = (getValue('current_beam') * getValue('voltage_gun')*(getValue('BeamToMetalAbsorbtionEfficiency')/100));    

}


function preheatTime(depth) {

  var d_T =  getValue('preheat') - getValue('InitialRoomTempinK'); //   all Kelvin  To det the duration up to preheat temp first remove the starting temprature ie room temp 18C 291 from preheat temp
  return(d_T * mass(depth) * getValue('shc_solid') / beamPower() );  // mass KG beam W  required change in temprature times specific heat solid divided by supplied beam power

}

function meltTime(depth) {

  var d_T = getValue('melting_point') - getValue('preheat');
  return(d_T * mass(depth) * getValue('shc_solid') / beamPower() );

}

function meltingTime (depth) {

  return( mass(depth) * getValue('heat_of_fusion_melt') / beamPower() );

}

function boilTime (depth) {

  var d_T = getValue('boiling_point') - getValue('melting-point');
  return(d_T * mass(depth) * getValue('shc_liquid') / beamPower() );

}

function boilingTime (depth) {

  return( mass(depth) * getValue('heat_of_fusion_boil') / beamPower() ); //  checks on temp transition values

}

function vaporizeTime (depth) { return (99999); }

function solidTemp (time, depth) {

  var d_T = time * beamPower() / ( mass(depth) * getValue('shc_solid') ); //  checks on temp transition values
  return ( getValue('preheat') + d_T );

}

function liquidTemp (time, depth) {

  var d_T = time * beamPower() / (mass(depth) * getValue('shc_liquid') );
  return ( getValue('melting_point') + d_T );

} function thermalDiffusivity() { var a= ((getValue('thermal_conductivity')) / (getValue('density_solid')*getValue('shc_solid'))); return (a); // ok }

function maxExposureDuration(depth){ //all the following routines caculate limits imposed from vaporisation avoidance and hardware scan rate limits. var time=((Math.PI)/(thermalDiffusivity()))*(((getValue('melting_point')*getValue('thermal_conductivity'))/(2*((beamPower())/(depth*depth)))) *((getValue('melting_point')*getValue('thermal_conductivity'))/((beamPower())/(depth*depth)))); // Time to vaporise is solution of Fourier 2nd law; which says

   //	second difeerential (ie accleeration of change) of Temperature T with depth z is equal to one over the thermal difussivity times fist differential of temperature T against Time t
   // under steady state conditions with different tempratures at ends of a virtual section or rod or cooling path, temperature across a long cyclinder/rod/cooling path  	at any point is constant as emergy flows through bar
   //  So temperature only changes when  the rate of heat flow changes (SECOND DIFFERENTIAL ) that thus produce chages in bar 
   // solved for initial state z= 0  surface of bar and z= infintie where no change of temprature 
   //and in case where t= 0 then current temprature is equal to initial tmeprature
   // So you get above formula ; formula(5.3) see p256 - p258  in William M steen Laser material processing (version 4) chapter 5.3 
   // analytical models of one dimensional heat flow   Ie one dimension is beam spot on metal; which flows in x y and z directions are analyzed,  

return(time); }

function rasterXScanRate(depth) { // this routine calculates scanrate (Hz) based on time taken to process x axis lenght of cubes * 2 ignoring latent heat fusion var melt_cubes_across_X_lenght_in_part = (((getValue('object_side_length_x')/100)/(getValue('depth'))))

//this rate and the following subroutines are beimg compared with rate from Fourier 2nd law that does not take in to account latent heat of fusion // So we have to ignore latent heat of fusion as that only applies whereupon the melt temprature has been reached // but we are using this for the scan rate for all preheating and heating up to melt temprature, var period = 2*(melt_cubes_across_X_lenght_in_part*((meltTime(depth)))); // shouold this be maxExposureDuration(depth) return ( 1/(period)); }

function maxThreadExposureXScanRate(depth) { // this routine caclulates the upped scan rate (Hz) caused my the need for multipasses of beam.

  var multi_pass_period = (((maxExposureDuration(depth)))*((getValue('object_side_length_x')/100)/(getValue('depth')))); 
  // 
  // .toFixed() ROUND UP DOES NOT WORK CHECK WITH PROGRAMMERis a round up form of command  cubemelttime/max exposure duration for thread 
  return ((1/(multi_pass_period)));

} function cubePowerReductionRequiredToAvoidVaporiseation(depth) { // this routine caclulates the required cube power down ratios to avoid vaporisation.

  var ratio_required_for_cube_power_input_to_drop_below_vaporisation= (((meltTime(depth)))/(maxExposureDuration(depth))); 
  // 
  // 
  return (ratio_required_for_cube_power_input_to_drop_below_vaporisation);

}

function achievableCubePowerDropToAvoidVaporisationThroughBeamScanSpeedIncrease(depth) {

   // this routine caclulates the required cube power down ratios to avoid vaporisation.

var ratio_power_input_drop_achievable_by_beam_scan_rate_doubling = ((getValue('max_hardware_limited_raster_scanrate'))/(maxThreadExposureXScanRate(depth)));

  // each bite at the cherry with no vaporisation is done at freq.of maxThreadExposureXScan Rate(depth) Hz how many of these can fit in Max hardware limit scan rate
  // If say 8 bites at the cherry are required to transfer enouch heat to cube,
  // than a 8x maxThreadExposureXScan Rate(depth)Hz value of Max hardware scanrate would mean that no consequential delay.
  // this case only works for max hardware scan rate being bigger than depower factor times rasterXscanrate 
  //(meltTIme/max exposure) 
  // If max hardware scan rate is smaller ie returned ratio_power_input_drop_achievable_by_beam_scan_rate_doubling < 1
  // then must apply (1<) cube reduction required to duration in main subroutine.
  if ( ratio_power_input_drop_achievable_by_beam_scan_rate_doubling < 1 ) {
  // It can be low for two reasons, 
  //1)  if max hardware is low / nearly 0  it will still just times build by factor required    
  //2)   and max threadexposure scan is high ( which is commmen )  
  // when max hardware is low we want it to increase duration and this fraction of 1 shows how far too low 
  // need to hand back how far too low.. Also still need to test for the remaining factor to times build speed 
  // by setting ratio_power_input_drop_achievable_by_beam_scan_rate_doubling=1  but not here do in main subroutine.
   // no doubling of beam speed possible so reduction must be achieved through build duration lengthening.          
   } else {
   // doubling of beam speed possible use above calculated value rounded up DO rounding later LATER &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 

// result should be 2 or higher what happens when not all needed need another check? // So caclulate required factor then

   //	IF achievable factor is higher set achivable equal to required. 

var ratio_power_input_drop_achievable_by_beam_scan_rate_doubling=(ratio_power_input_drop_achievable_by_beam_scan_rate_doubling).toPrecision(2) if ( (cubePowerReductionRequiredToAvoidVaporiseation(depth)) < ratio_power_input_drop_achievable_by_beam_scan_rate_doubling ) {

    //  all the required power drop can be achieved through increased beam speed / increased raster speed.

var ratio_power_input_drop_achievable_by_beam_scan_rate_doubling=(cubePowerReductionRequiredToAvoidVaporiseation(depth)) ;


       } else {
   // the increased beam speed cannot account for all required reduction, 

//ie need to lenghten build duration by the outstanding amount & drop or pulse power

       }
  }
  return (ratio_power_input_drop_achievable_by_beam_scan_rate_doubling);

}


function practicalDurationMultiplicationFactor(depth) { // this calculates how many times higher the upped scan rate is compared to the max hardware limited scan rate

  var factor = (maxThreadExposureXScanRate(depth))/(getValue('max_hardware_limited_raster_scanrate')); // .toFixed() needs to be rounded up TOP not bottom put back in later? 
  return ( factor );

}

function diffusionDeflectionHardwareLimitsOnBuildTime(depth) { // these calculations ignore the latent heat effects as vaporisation time Fourier 2nd law ignores it too.

  if ( (meltTime( depth )) < (maxExposureDuration(depth))) {
     // No Need to take a second pass  or extend build time with pulseWidthModulatebeampowerdrop, var practicle_hardware_build_speed_factor=1; practicle_build_duration_message1=; practicle_build_duration_message2=;
    var  multipass_build_slow_down_power_down_factor=1;   

practicle_build_duration_message1= ' Multi passes not required'; practicle_build_duration_message2=' Current delfection scan rate hardware limit is '+ ((getValue('max_hardware_limited_raster_scanrate')).toPrecision(7)) + ' Hz '; // kug

 	      practicle_build_duration_message3='  Required deflection coil scan rate hardware limit (Hz) would need to be ' + ((rasterXScanRate(depth)).toPrecision(7)); // how can I add so outputs desired_scan_rate_possible_new_redesign design= practicalDurationMultiplicationFactor(depth)*rasterXScanRate(depth)
          scenario=' A   Coil drivers can achieve required speed & metal diffusion limit not reached, so no multipass required ( design could be pushed harder?)';
  } else {
           // If cube melt time is above max exposuire duration; So Need to take a second pass or extend build duration at reduced power, so as not overload metal diffusion rate 
           // or will multi pass demand too higher speed of deflection coil; So need to increase build duration and drop power.

// Reduction by ratios "ratio_required_for_cube_power_input_to_drop_below_vaporisation" (rounded up) "ratio_power_input_drop_achievable_by_beam_scan_rate_doubling" // remaining requirement achieved through extending build duration & power drop Pulse Width Modulated beam power drop // = (needs1<)ratio_required_for_cube_power_input_to_drop_below_vaporisation/(or limited to required amount) ratio_power_input_drop_achievable_by_beam_scan_rate_doubling = multipass_build_slow_down_power_down_factor

            // calculate remaining cube power drop thats required after increasing the beam speed up as much as posible ( or as much as needed so result is 1 for multipass_build_slow_down_power_down_factor)	      
          if ( achievableCubePowerDropToAvoidVaporisationThroughBeamScanSpeedIncrease(depth) > 1 ) {

var multipass_build_slow_down_power_down_factor=((cubePowerReductionRequiredToAvoidVaporiseation(depth))/(achievableCubePowerDropToAvoidVaporisationThroughBeamScanSpeedIncrease(depth)));

if ( multipass_build_slow_down_power_down_factor < 2 ) { // No build & power slow down is required, all achieved through beam speed up

                      practicle_build_duration_message1= ' Multi passes required , deflection coil hardware can cope with beam moving faster, ';
              var     multipass_build_slow_down_power_down_factor =1;  

practicle_build_duration_message2=' Delfection scan rate is '+ (((maxThreadExposureXScanRate(depth))*(achievableCubePowerDropToAvoidVaporisationThroughBeamScanSpeedIncrease(depth))).toPrecision(7)) + ' Hz '; // + maxThreadExposureXScanRate(depth) add later

                      practicle_build_duration_message3=;

scenario=' B BeamSpeed/Scanrate rate increased coil drivers can cope with increase';

      		    } else {
                 // multipass_build_slow_down_power_down_factor >= 2 So need both deflection coil increase and build time lenghtening with power drop
                    practicle_build_duration_message1='  To avoid lenghtened build duration (above), caused by deflection coil hardware being too slow, increase maximum hardware deflection coil speed by improving coil drvier circuits (more expensive drivers running coils at incresed volatges and currents ) ';

practicle_build_duration_message2=' Current delfection scan rate is '+ (((maxThreadExposureXScanRate(depth))*(achievableCubePowerDropToAvoidVaporisationThroughBeamScanSpeedIncrease(depth))).toPrecision(7)) + ' Hz '; // + maxThreadExposureXScanRate(depth) add later practicle_build_duration_message3=' To avoid build time lenghtineing required deflection coil scan rate (Hz) would need to be ' + ((practicalDurationMultiplicationFactor(depth)*rasterXScanRate(depth)).toPrecision(7)); // how can I add so outputs desired_scan_rate_possible_new_redesign design= practicalDurationMultiplicationFactor(depth)*rasterXScanRate(depth)

                 scenario=' C   BeamSpeed/Scanrate rate increase & Increase build duration  Coils cannot go fast enough use pulsed power';

} } else { // find how far too low max hardware scan rate is; 1/ratio_power_input_drop_achievable_by_beam_scan_rate_doubling give as duration lengthening factor & multiply with maxThreadExposureXScanRate(depth) the freq based on maxdurationTIme on cube

		var  multipass_build_slow_down_power_down_factor= (1/(achievableCubePowerDropToAvoidVaporisationThroughBeamScanSpeedIncrease(depth)));


practicle_build_duration_message1=' Coils operate so slow that they cannot even meet a multipass scan rate, increase maximum hardware deflection coil speed by improving coil drvier circuits (more expensive drivers running coils at incresed volatges and currents ) '; practicle_build_duration_message2=' Current delfection scan rate hardware limit is '+ ((getValue('max_hardware_limited_raster_scanrate')).toPrecision(7)) + ' Hz '; // kug practicle_build_duration_message3=' Scan rate required to achive even multipass scanrate deflection coil scan rate, hardware limit (Hz) would need to be ' + ((multipass_build_slow_down_power_down_factor*(getValue('max_hardware_limited_raster_scanrate'))).toPrecision(7))+' Hz To achive no extension in build duration a single pass scan rate, deflection coil scan rate hardware limit (Hz) would need to be ' + ((multipass_build_slow_down_power_down_factor*(getValue('max_hardware_limited_raster_scanrate'))*cubePowerReductionRequiredToAvoidVaporiseation(depth)).toPrecision(7)); //

                 scenario=' D    Increase build duration, Coils cannot go fast enough use pulsed power';

}

// let it equal 1 to caculate remainder //NOT NEED? ratio_power_input_drop_achievable_by_beam_scan_rate_doubling = 1; // multipass_build_slow_down_power_down_factor=(cubePowerReductionRequiredToAvoidVaporiseation(depth))/ (achievableCubePowerDropToAvoidVaporisationThroughBeamScanSpeedIncrease(depth));

          }
      return (multipass_build_slow_down_power_down_factor);

}

function calcTemp(time, depth) {

  var res = 0;
  var time_solid = meltTime( depth );
  
  if ( time < time_solid ) {
     stage = 'solid A'

color = 'ffffff'

     // Solid
     res = solidTemp(time, depth);            
  } else {
     
     time = time - time_solid;
     var time_melting = meltingTime( depth )
     if (time <= time_melting) {
         // Melting
     stage = 'solid B'

color = 'ffffff'

         res = getValue('melting_point');
     } else {
         
         time = time - time_melting;
         var time_liquid = boilTime( depth );
         if ( time < time_liquid ) {

stage = 'Melting C' color = '0000ff'

            // Liquid
            res = liquidTemp(time, depth);
         } else {
            time = time - time_liquid;
          
            var time_boiling = boilingTime( depth );
            
            if (time <= time_boiling ) {
            stage = 'Liquid D'

color = '0000ff' // Boiling

          	res = getValue('boiling_point');

} else { time = time - time_boiling; var time_vapor = vaporizeTime( depth ); if (time <= time_vapor) {

stage = 'Vapor E' color = 'ff0000' // Vaporised

               res = 'gone';  

} else { alert('error'); }

            }
         }
      }
  }                
  return(res);

}

function selectmetal(s) { // s = metal choise field STILL TO GET FIGURES FOR Cobalt chromium , copper , gold and molybdenium, 006 before decimal means not got number yet if(s == "titanium") { setValue('preheat', 1648);// K complete data setValue('BeamToMetalAbsorbtionEfficiency', 85);//  % setValue('density_solid', 4510);// kg/m^3 setValue('melting_point',1668);// K T setValue('boiling_point', 3260);// K T setValue('shc_solid', 519);// J/kg/K setValue('shc_liquid', 519);// J/kg/K setValue('heat_of_fusion_melt',437000);// J/kg setValue('heat_of_fusion_boil', 9000000);// J/kg setValue('thermal_conductivity',19);// W/m/K K setValue('thermal_diffusivity', 0.0000081);// m^2/s check factor of 10 out?

}else if(s == "aluminium") { setValue('preheat', 640);// K complete data setValue('BeamToMetalAbsorbtionEfficiency', 0085);//  % setValue('density_solid', 2700);// kg/m^3 setValue('melting_point',660);// K setValue('boiling_point', 2450);// K setValue('shc_solid', 900);// J/kg/K setValue('shc_liquid', 900);// J/kg/K check setValue('heat_of_fusion_melt',397000);// J/kg setValue('heat_of_fusion_boil', 9492000);// J/kg setValue('thermal_conductivity',226);// W/m/K setValue('thermal_diffusivity', 0.000093);// m^2/s }else if(s == "cobalt_chromium") { setValue('preheat', 001667);// K setValue('BeamToMetalAbsorbtionEfficiency', 0085);//  % setValue('density_solid', 004350);// kg/m^3 setValue('melting_point',1491);// K setValue('boiling_point', 003260);// K setValue('shc_solid', 00622);// J/kg/K setValue('shc_liquid', 00622);// J/kg/K setValue('heat_of_fusion_melt',00440000);// J/kg setValue('heat_of_fusion_boil', 009830000);// J/kg setValue('thermal_conductivity',226);// W/m/K setValue('thermal_diffusivity', 0.000095);// m^2/s }else if(s == "copper") { setValue('preheat', 1063);// K copper type; C10100 name; oxygen free elctronic coppper, setValue('BeamToMetalAbsorbtionEfficiency', 0085);//  %aplication for bus tube, conductors, vacuum seals , setValue('density_solid', 8900);// kg/m^3 glass to metal seals wave guides (Use C65100 for heat exchange electrical conduits) setValue('melting_point',1083);// K setValue('boiling_point', 002260);// K setValue('shc_solid', 385);// J/kg/K setValue('shc_liquid', 385);// J/kg/K setValue('heat_of_fusion_melt',00440000);// J/kg setValue('heat_of_fusion_boil', 009830000);// J/kg setValue('thermal_conductivity',391);// W/m/K setValue('thermal_diffusivity', 0.000095);// m^2/s ok Source: wikipedia }else if(s == "gold") { setValue('preheat', 1295);// K setValue('BeamToMetalAbsorbtionEfficiency',85);//  % setValue('density_solid', 19300);// kg/m^3 19.32Mg/m^3 setValue('melting_point',1335);// K setValue('boiling_point', 002260);// K setValue('shc_solid', 131);// J/kg/K setValue('shc_liquid', 00622);// J/kg/K setValue('heat_of_fusion_melt',00440000);// J/kg setValue('heat_of_fusion_boil', 009830000);// J/kg setValue('thermal_conductivity',300);// W/m/K setValue('thermal_diffusivity', 0.000095);// m^2/s }else if(s == "iron") { setValue('preheat', 1516);// K complete data setValue('BeamToMetalAbsorbtionEfficiency', 85);//  % setValue('density_solid', 7870);// kg/m^3 setValue('melting_point',1536);// K setValue('boiling_point', 3000);// K setValue('shc_solid', 460);// J/kg/K setValue('shc_liquid', 00460);// J/kg/K setValue('heat_of_fusion_melt', 275000);// J/kg setValue('heat_of_fusion_boil', 6362000);// J/kg setValue('thermal_conductivity',50);// W/m/K setValue('thermal_diffusivity', 0.0000138);// m^2/s ok Source: wikipedia }else if(s == "molybdenium") { setValue('preheat', 001667);// K setValue('BeamToMetalAbsorbtionEfficiency', 0085);//  % setValue('density_solid', 004350);// kg/m^3 setValue('melting_point',1491);// K setValue('boiling_point', 003260);// K setValue('shc_solid', 00622);// J/kg/K setValue('shc_liquid', 00622);// J/kg/K setValue('heat_of_fusion_melt',00440000);// J/kg setValue('heat_of_fusion_boil', 009830000);// J/kg setValue('thermal_conductivity',226);// W/m/K setValue('thermal_diffusivity', 0.000095);// m^2/s }else if(s == "stainlesssteel") { setValue('preheat', 1430);// K stainless steel 304 complete data setValue('BeamToMetalAbsorbtionEfficiency', 85);//  % setValue('density_solid', 8030);// kg/m^3 setValue('melting_point',1450);// K setValue('boiling_point', 3000);// K setValue('shc_solid',500);// J/kg/K setValue('shc_liquid',500);// J/kg/K check setValue('heat_of_fusion_melt',300000);// J/kg setValue('heat_of_fusion_boil', 6500000);// J/kg setValue('thermal_conductivity', 21.4);// W/m/K setValue('thermal_diffusivity', 0.000005);// m^2/s ok tainless 304 }else if(s == "tungsten") { setValue('preheat', 3390);// K complete data setValue('BeamToMetalAbsorbtionEfficiency', 85);//  % setValue('density_solid', 19300);// kg/m^3 setValue('melting_point',3410);// K setValue('boiling_point', 5930);// K setValue('shc_solid', 140);// J/kg/K setValue('shc_liquid', 140);// J/kg/K check setValue('heat_of_fusion_melt',185000);// J/kg setValue('heat_of_fusion_boil', 4020000);// J/kg setValue('thermal_conductivity',164);// W/m/K K setValue('thermal_diffusivity', 0.0000607);// m^2/s }else if(s == "prg_test_1kg_1k_titanium") { setValue('object_side_length_x', 6.12);// this defines 6.12 cude which weighs 1Kg setValue('object_side_length_y', 6.12);// setValue('object_side_length_z', 6.12);// setValue('depth', 0.0612);// this is the whole 1Kg cube in one go setValue('preheat', 1667);// This is for testing this program is reasnable acurate. ADD X Y Z DEPTH setValue('current_beam', 1);// So ignore frequency calculation results as treating 1kg titanium block as one cube setValue('voltage_gun', 731.77);//this is set to specific heat capacity unity settings ie 622Watt at 1Kg Titanium at 1K setValue('BeamToMetalAbsorbtionEfficiency', 85);//  % setValue('density_solid', 4510);// kg/m^3 setValue('melting_point',1668);// K T setValue('boiling_point', 3260);// K T setValue('shc_solid', 519);// J/kg/K setValue('shc_liquid', 519);// J/kg/K setValue('heat_of_fusion_melt',437000);// J/kg setValue('heat_of_fusion_boil', 9000000);// J/kg setValue('thermal_conductivity',19);// W/m/K K setValue('thermal_diffusivity', 0.0000081);// m^2/s check factor of 10 out? setValue('timestep', 0.5);// s setValue('steps', 40);// } }

</script> </head> <body>

<form id="calcForm">

Build Speed Calculator <select name="metal_selector" onChange="selectmetal(this.value);" style="font-size: 90%;"> <option value="aluminium">Aluminium</option> <option value="iron">Iron</option> <option value="stainlesssteel">StainlessSteel</option> <option value="titanium" selected="selected">Titanium</option> <option value="tungsten">Tungsten</option> <option value="prg_test_1kg_1k_titanium">Prg Test 1Kg 1K Titan.</option> </select> How much money should you spend on; Power Supply? Deflection coil drive circuits? Digital to Analogue converter?


Final printed object size: x <input type="text" size="6" name="object_side_length_x" value="30" style="border: solid 1px #FF9900; font-size:110%;"/> y <input type="text" size="6" name="object_side_length_y" value="30" style="border: solid 1px #FF9900; font-size:110%;"/> z <input type="text" size="6" name="object_side_length_z" value="2" style="border: solid 1px #FF9900; font-size:110%;" /> cm     Layer depth defining final print resolution: <input type="text" size="6" name="depth" value="0.000027" style="border: solid 1px #FF9900; font-size:110%;"/> m       Fill: <input type="text" size="2" name="fill" value="100" />%


Initial Room Temprature in Kelvin: <input type="text" size="4" name="InitialRoomTempinK" value="291" /> K              Metal preheat temperature ( normally 20C below melt tempreature ): <input type="text" size="4" name="preheat" value="1648" style="border: solid 1px #FF9900; font-size:110%;"/> K

Wall plug efficiency: <input type="text" size="3" name="wallplugefficiency" value="85" /> %                                                  Beam to metal absorbtion efficiency: <input type="text" size="3" name="BeamToMetalAbsorbtionEfficiency" value="85" /> %

Wall socket power:: <input type="text" size="2" id="RequiredWallSocketPower" value="" /> W         Gun voltage: <input type="text" size="4" name="voltage_gun" value="60000"style="border: solid 1px #FF9900; font-size:110%;" /> V      Beam current: <input type="text" size="2" name="current_beam" value="0.014" style="border: solid 1px #FF9900; font-size:110%;"/> A     Beam power entering metal: <input type="text" size="4" id="powercell" value="" /> W        

Maximum hardware speed to drive Scan Rate for deflection coils : <input type="text" size="6" name="max_hardware_limited_raster_scanrate" value="98000" style="border: solid 1px #FF9900; font-size:110%;"/> Hz ( typical ? 64000)   &nbsp
Maximum beam speed used when skipping nonpart areas: <input type="text" size="6" name="max_beam_speed" value="8000" style="border: font-size:110%;" /> m/s   &nbsp


Constants; Solid density: <input type="text" size="6" name="density_solid" value="4350" style="font-size:50%;color:grey"/> kg/m3     Melting point: <input type="text" size="6" name="melting_point" value="1668" style="font-size:50%;color:grey"/> K     Boiling point: <input type="text" size="6" name="boiling_point" value="3260" style="font-size:50%;color:grey"/> K     Solid specific heat capacity: <input type="text" size="6" name="shc_solid" value="622" style="font-size:50%;color:grey"/> J/kg/K
Liquid specific heat capacity: <input type="text" size="6" name="shc_liquid" value="622" style="font-size:50%;color:grey"/> J/kg/K     Latent heat of fusion/melting: <input type="text" size="6" name="heat_of_fusion_melt" value="440000" style="font-size:50%;color:grey"/> J/kg     Latent heat of Fusion/boiling: <input type="text" size="6" name="heat_of_fusion_boil" value="9830000" style="font-size:50%;color:grey"/> J/kg
Thermal Conductivity : <input type="text" size="6" name="thermal_conductivity" value="226" style="font-size:50%;color:grey"/> W/m/K     Thermal Diffusivity: <input type="text" size="6" name="thermal_diffusivity" value="0.000095" style="font-size:50%;color:grey"/> m2/s     Table output Format definition, Time step: <input type="text" size="6" name="timestep" value="0.00000005" style="font-size:50%;color:grey" ;/> s      number of Steps: <input type="text" size="6" name="steps" value="40" style="font-size:50%;color:grey"/>
<input type="submit" value="Calculate build duration" onClick="document.getElementById('output').innerHTML = makeOutput(); document.getElementById('powercell').value = beamPower(); return(false)" /> <input type="submit" value="Calculate required wall socket power" onClick="document.getElementById('outputWallP').innerHTML = makeOutput(); document.getElementById('RequiredWallSocketPower').value = WallSocketPower(); return(false)" />

</form>

</body>

</html>