Noteworthy changes in Plasimo ============================= New in version PLASIMO-3.0.0: (compared to 2.8.x) ------------------------------------------------- * New GUI. Allows the dynamical loading of viewer plugins: [no recompile required if switching to/from OpenGL plots] * Data viewers can be embedded in the application's main frame. * Convergence behaviour can be plotted as a function of the iteration number. * The OpenGL configuration [glconf.in] should now be a section OpenGLConfig in the runtime configuration file [runtimecnf.in]. If you use a private copy [localcnf.in, say], make sure to add the following line to it (without the quotes): 'Include glconf.in OpenGLConfig' * Settings can be modified via a tab window. Note that some of these take effect only after 'save settings' and a program restart. * Radial Lorentz force (resulting from axial current) implemented as bulk force. * GUI update and plot update frequency default to the value specified in the file runtimecnf.in (or your local copy, see above) by the item 'DefaultUpdateCycle' * Various improvements on the OpenGL plots. (UpdateCycle can be set per log timestep in order to produce MPEGs, rounding of min/max in autoscale mode, better wireFrame view, Enhanced colour rendering) * The convergence behaviour is now written to the file /convergence. Only the over-all residue is shown as a function of the iteration number (Plasimo models only). One line is written every iter_log iterations (you find this number in the section MainIterConfig of the model file.) * The diffusion calculation in PLASIMO can be enhanced by taking Knudsen flows (effusion) into account. While the treatment is approximate, it is still a significant improvement, as it prevents unphysically large diffusion from occuring. * Fixes for time discretization for time-dep models. * More comfortable stretch function specification: You can just specify a point and specify the grid line density there now. This incurs a change in your input file: You need to give your StretchX and StretchY nodes a Type now. The old stretch specification corresponds to Type User_Stretch. You may use the script util/StretchType.sed to convert your input files. At most places, you'll probably have just uniform (no) stretching and you should better just replace the node by one of Type NoStretch. The utils/StretchType2.sed script does this conversion for you. When using stretch functions, be careful. Not all PLASIMO code has been checked to be correct for stretched grids. Some expressions used may only be first order accurate (instead of second order) and some modules (e.g. POF) are known not to be correct with stretched grids at all. * Previous versions failed to take the heat capacity into account on NonLTE plasmas. This has changed now, time-dependent and flowing nonLTE models should give better results now. You need to add Sections SpecificHeatHP and El to your Transport Sections and add the StdSpecificHeatHP resp. El Calculators there. You may use the util/AddSpecHeatNonLTE.sed script to do it. Models in CVS have been adapted of course. * Adding heat capacity exposed another problem: The convective terms were not calculated at west and south boundaries. Fixed. * Interpolation on grid resize (wxplasimo only) has been improved, especially for stretched grids. * Automatic grid resize (a reduced kind of multigrid) is optionally possible. Set coarse_grid 1 in MainIterConfig to enable. * When using POISSON grid generation, solvers different from MSIPSolver are possible now. * Less permissive input file parser. The parser will complain about missing items which are required according to the dialog description (*.tin) files, or items which are present while the .tin does not know about them. * Changed (incompatible) input file syntax 1) Sections `Flow' of type `Fixed' now require Sections VelocityFunc1, VelocityFunc2, VelocityFunc3 and PressureFunc, rather than the old Velocity1, Velocity2, Velocity3 and Pressure. These sections should (only) contain a subsection Function, specifying the (fixed) values of these flow quantities. * The `Soft Install' functionality has been reworked. It is now possible to add a section `InitViews' to the model file's root section, here you can specify what views need to be created after a model has been installed. See the help text in Plasimo for a detailed explanation. * A new density calculation algorithm has been provided for non-LTE mixtures. It calculates the density on the basis of the assumption of local chemical equilibrium. See input/tin/locchemdens.htm for details. * Alternatively to using the SIMPLE algorithm for flowing plasmas, you can choose bulk flow type SIMPLER now. It needs considerably less iterations, though the iterations are a bit slower. You can use high URFs (vel 0.98, press corr 0.90) if you use good solvers (BiCGstab with ILU0Preconditioner, e.g.) and allow enough iterations (e.g. 20) in the solver, especially for the pressure corrections. * The Mach number can be calculated (configured as extra function in the flow section). * Fixed the handling of Annotation information. Annotations can now be multi-line text strings and may contain the characters \, " and the like. New in version PLASIMO-2.8.x: (compared to 2.6.x) ------------------------------------------------- * Plots default to being updated every 5 iterations only (in order to avoid slowing down the calculation too much). For Unix-like systems, also the GUI (iteration count display ...) gets updated only once a second for the same reason. * The Reset button has been removed from the calculation window. Use the menu item 'Soft Install' instead (which has the same effect). * Removal of old 'SelfConsistent' diffusion model * Plasimo now works (again) with densities instead of mass-fractions. So if you use a Range in the Mixture section, you are now specifying a limit on the densities, not on the mass-fractions! * Enhancements to the non-linear LTE density solver. Now uses analytical expressions to calculate the system of equations' Jacobian. * Added elemental diffusion in LTE mixtures. The code is functional, but more sophisticated boundary conditions are probably needed. * (Microwave) EM plugin with skin depth for spherical plasmas (this plugin is easily modified for use with other grids). Used by the now fully functional s2iter.gum sulphur model. * Fixed the inductive EM field calculation for systems in which ferrites are present (like the Philips QL lamp). * Various plugins with expressions for Collision Integrals added. New in version PLASIMO-2.6.x: (compared to 2.4.x) ------------------------------------------------- * 3D OpenGL plot widgets (eye candy) Configure --with-opengl to get them. * Fixed compilation with gcc versions >= 3.0.0. NOTE that the GUI (wxPlasimo) is still unusable when using this compiler, because wxWindows triggers an operator overloading bug in these compiler versions. The console app should work fine. * Working self-consistent diffusion model, called 'SelfConsistentFriction'. * Fixed LTE composition specification (GUI). * Microwave incoupling module. * Parallelization of radiation transport using MPI (LAM). configure --with-mpi to get MPI support. Have a look at the input/unsorted/s2mpi input file and the schema_*mpi MPI schemes. Advanced features (load balancing ...) not yet implemented. Input file incompatibilities: * In LTE Models entry LUTable in the section Composition is now called Type. Internally: * Added const versions of the plNode members. * Added new iterators types (const_iterator, leaf_iterator, const_leaf_iterator to facilitate traversing plNode children). Also custom iterators are now supported. See the sample in plparser/samples/iterators/ for details. * Bug fixes and clean ups New in version PLASIMO-2.4.x: (compared to 2.2.x) ------------------------------------------------- * Make solvers configurable and add LU decomposition and three Iterative (Krylov) solvers including Preconditioners. Input files may need to be converted to new syntax that allows solver specification. Use the conversion script util/SolverType.sed * Add power law velocity profile boundary condition for a fixed mass flow (may be given in sccs * amu) * Improved URF adjustment (urf_factor), by keeping a history of the resi- duals ("low-pass filter"). URF changes are logged with loglevel 1 now. * PLASIMO comes up with a console window to write the log into instead of a Log subwindow under Windows. wxplasimo --log should yield the old behaviour. * Automatically update all plots after last iteration. * Bugfixes, better error messages (input parsing), code cleanup and correctness testing. The Plasimo team http://plasimo.phys.tue.nl/