Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tech-X Corporation1 Development of LINROD Code NIMROD can find most unstable eigenvalue relatively quickly Why develop a separate code? –Previous efforts.

Similar presentations


Presentation on theme: "Tech-X Corporation1 Development of LINROD Code NIMROD can find most unstable eigenvalue relatively quickly Why develop a separate code? –Previous efforts."— Presentation transcript:

1 Tech-X Corporation1 Development of LINROD Code NIMROD can find most unstable eigenvalue relatively quickly Why develop a separate code? –Previous efforts to simplify making linear runs in NIMROD were awkward –Leads to difficult to merge code –For enabling automatic scanning over variables one needs control at the top level

2 Tech-X Corporation2 Key feature: stop running once growth rate is reached How do we determine that growth rate is converged? –Calculation of growth rate fluctuates in time –Use statistics (mean and variance) over a period of time as tools in determining convergence. INPUT PARAMETER: igrowth_history –Growth rate for magnetic and kinetic energy reached when the variance is below a set level. INPUT PARAMETER: variance_tol –Commonly however, kinetic energies and magnetic energies converge at different rates. Need additional criterion to make sure they agree: INPUT PARAMETER: gr_agree_tol

3 Tech-X Corporation3 Automatic  t convergence When calculating linear growth rates, converging in  t is often desired Generally easy because one can use eigenfunction from old  t as initial condition for new  t LINROD: Put outer loop for  t convergence When this works, it works well, but for ELM cases it has not worked out so well

4 Tech-X Corporation4 Good example of when it works well

5 Tech-X Corporation5 Good example of when it works well Converged to specified tolerance in less than 500 time steps Even more dramatic examples seen for slab tearing mode case Upper limit on initial dtm usually solver convergence Cycle = 496 Time = 5.032E-04 dt = 1.000E-07 K = 1. Current Growth Rate- Magnetic En. = 2.97927E+04 Mean Growth Rate - Magnetic En. = 3.00287E+04 Growth Variance - Magnetic En. = 7.70281E-04 Current Growth Rate- Kinetic En. = 2.98965E+04 Mean Growth Rate - Kinetic En. = 2.97686E+04 Growth Variance - Kinetic En. = 4.93922E-04

6 Tech-X Corporation6 Same case with more spatial resolution and n=3

7 Tech-X Corporation7 Scans over kin_visc and elecd are also enabled Two way of specifying: *_power=1 : Geometric series *_power=1 : Power series For elecd_fac=10 : elecd_power=0 elecd, elecd/10, elecd/20, … elecd_power=1 elecd, elecd/10, elecd/100, … Number of iteration controlled by *_nchange

8 Tech-X Corporation8 LINROD Can Also Do Scans Over Multiple Directories Controlled via simple “master.in” file: &master_input subdirs(1)='krbm0026' subdirs(2)='krbm0027' subdirs(3)='krbm0028' inprocs(1) =0 inprocs(2) =8 inprocs(3) =16 / Not the most convenient way of specifying processor layout for users

9 Tech-X Corporation9 Summary of LINROD Development LINROD is useful for calculating growth rates “as is” Currently it still needs cleaning up in terms of lessons learned Trying to automate dtm scans for accelerating the calculation of growth rates while promising is ultimately a fool’s errand Ultimately turning NIMROD into a full eigenvalue code is most promising and worthwhile as we move towards doing more tokamak simulations


Download ppt "Tech-X Corporation1 Development of LINROD Code NIMROD can find most unstable eigenvalue relatively quickly Why develop a separate code? –Previous efforts."

Similar presentations


Ads by Google