========== OOMMF 1.2a3 released 2002/10/30 ========== Significant changes since 1.2a2: * New applications: - Boxsi: A batch-mode driver for Oxs, the OOMMF eXtensible Solver. * Incompatibilities: - new input file format, MIF 2.1, see mifConvert application. * New features - bootstrap: +out and +err options for redirecting launched apps - mmArchive: Improved graphical interface using menus. - mmDataTable: Labels auto-removed on input problem change. - mmDisp: View axis selection - avf2odt: -average option replaced -type - avf2ovf: new options -clip, -flip and -info - mmLaunch: "Exit All OOMMF" menu option - mmSolve2D: added warnings when solver results appear to be bogus. - mifConvert: handles conversion to new MIF 2.1 format. More complete coverage of MIF 1.1 format. - Oxsii: dropped -problem option; optional MIF file needs no switch - Oxsii: Stage slider interface properly limited. - Oxs: new options -pause, -nice, -parameters - Oxs: "Clear Schedule" menu option - Oxs: [Schedule] and [Destination] commands in MIF 2.1 format - Oxs: New/Revised Oxs_Ext classes (all with Oxs_ prefix) BoxAtlas, CGEvolve, Demag, ExchangePtWise, ImageAtlas, LinearScalarField, MinDriver, MultiAtlas, RandomScalarField, RandomSiteExchange, ScriptUZeeman, StageZeeman, TransformZeeman, TwoSurfaceExchange, UniformScalarField, UniformVectorField, LabelValue - Oxs: Removed Oxs_Ext classes: RectangularSection, SectionAtlas: convert to BoxAtlas, MultiAtlas StandardDriver: renamed to TimeDriver AtlasScalarFieldInit: renamed to AtlasScalarField AtlasVectorFieldInit: renamed to AtlasVectorField FileVectorFieldInit: renamed to FileVectorField PlaneRandomVectorFieldInit: renamed to PlaneRandomVectorField RandomVectorFieldInit: Renamed to RandomVectorField ScriptScalarFieldInit: renamed to ScriptScalarField ScriptVectorFieldInit: renamed to ScriptVectorField UniformScalarFieldInit: renamed to UniformScalarField UniformVectorFieldInit: renamed to UniformVectorField - pimake: new option -out for sending output to a file - security improvements in the Net library - renamed the port.h header file to ocport.h - support for Tcl/Tk up through release 8.4.1 ========== OOMMF 1.2a2 released 2001/05/29 ========== Significant changes since 1.2a1: * New features - pimake: [Platform Intermediate] for cleaning up intermediate files - pimake; [Platform Compile -def ...] - mmDispSh: anti-alias support in plot_config - avf2ppm: respects datascale value in plot_config - mmSolve: revised nonuniform thickness effect on exchange - mifConvert: handles random seed - Oxsii: -problem and -exitondone command line options - Oxsii: Removed Step and Stage monitors in interface - Oc: enabled C writing to "stdout" console channel (Tcl 8.2+) - Oc_AutoBuf: now reclaims buffer space when it's very big - Oxs_CubicAnisotropy: revised calculation - Oxs_EulerEvolve: rewrite of timestep size control - Oxs_UniformExchange: improved performance and precision - Oxs_UniaxialAnisotropy: separate handling of K >0 and K < 0. - Oxs_StandardDriver: Offers delta_E output. - Oxs_FFT, Oxs_Demag, Oxs_SimpleDemag: substantial rewrite, especially of the FFT routines for greatly improved performance and memory usage. * Bug fixes - bootstrap: removed senseless options +console and +cwd - mmDisp: lots of dead code removed - any2ppm: can now specify output file using -o $filename - mmSolve: workaround Tcl bug in reading of PPM mask files - mmGraph (Ow_GraphWin): Key box upward creep, auto-limit - Ow_EntryBox: Less shimmering - better precision - Oc_Class: [uplevel 1] for less shimmering/better precision - Oc: Rewrote several Tcl 7.x compatibility procs (fcopy) - Net_Link: handle immediate closing of socket - Net_Connection: Timeouts extended to 100 minutes to avoid timing out during long solver initializations * New interfaces - renamed class MyComplex -> Oxs_Complex - Oxs_Ext::GetUIntInitValue() - Oxs_ThreeVector::MakeUnit() ========== OOMMF 1.2a1 released 2001/01/22 ========== Significant changes since 1.2a0: * MIF 2.0 format changes. 1.2a0 files are not valid in 1.2a1. * New applications: - avfdiff - compute differences of vector fields - avf2odt - extract features of vector fields (formerly avf2ave) * New documentation - New directory config/notes contains test scripts and configuration notes helpful in debugging OOMMF problems * Expanded platform support - Added configure tests for needed network support - Work around for broken map<> in some STLs. * New features - mmDisp: File|Open menu item - mmDataTable: File|Reset menu item - Oxsii: Closing interface using [X] button now exits solver ========== OOMMF 1.2a0 released 2000/11/18 ========== Significant changes since 1.1b0: * New applications: - Oxs - the OOMMF eXtensible Solver - Oxsi - OOMMF eXtensible Solver Interactive Interface * New documentation - User manual updated - Programmer manual begun - Notes on mmSolve memory usage: app/mmsolve/memusage.txt * General cleanup/improvements - directory "ext" renamed to "pkg" to minimize confusion with the directory app/oxs/ext - doc/*.tex moved to doc/userguide/*.tex, separate from doc/progman/*.tex * Expanded Tcl/Tk support - 8.3.2 * Expanded platform support - VisualAge C++ compiler for AIX: xlC - COMPAQ C++ compiler: cxx * New features - mmDisp: display selection by "z-slice" (3rd dimension) - mmDisp: coloring by "z-slice" (3rd dimension) - mmDisp: added color maps - mmDispSh: new commands: [GetMeshZRange], [GetMeshCellSize], [GetZSliceLevels], [GetZSliceCount] - mmHelp: uses Img package (if installed) to display PNG images - mmLaunch: offers program Oxsii - mmProbEd: new shape option: Ellipsoid - mmProbEd: passes through unrecognized fields - mmSolve: approximations for non-uniform thickness - mmSolve: new part shape: pyramid - mmSolve: new material parameter: Edge K1 (surface anisotropy) - mmSolve: changed uniaxial anisotropy energy offset when K1 > 0 - mmSolve: several improvements in numerical precision - mmSolve: new mms_Grid2D methods: GetEdgeK1, SetEdgeK1, GetFieldComponentNorm, RoughenBoundaryThickness - mmSolve: new mms_solver methods: GetFieldComponentNorm, GetComponentEnergyDensity - mag2hfield: new options: -data, -energyfmt - omfsh: tries to load Img package rather than If - pimake: CSourceFile constructor accepts -inc option to specify search path for #includes (used by oxs) - pimake: [return -code continue] from sourcing a makerules file disables default rules. Breaks recursions. Can be used to prune branches of a build. - All shells now open a console when started without a script * New Oc extension features/incompatibilities - now self-bootstaps its tclIndex file. - Oc_AutoBuf::SetLength() - active console is always default destination for stderr messages - support for catching C++ exceptions * New Nb extension features - moved list.h,cc -> dlist.h,cc, vector.h,cc -> floatvec.h,cc - renamed UnifRand() -> Oc_UnifRand(), swap() -> Nb_Swap() - new command: [Oc_Times] - new functions: Nb_IsFinite(), Nb_WriteChannel(), Nb_FprintfChannel() degcossin() * New Net extension features/incompatibilities - Net_ThreadWish: better environment for remote GUIs - host and account servers time out immediately * New Vf extension features - Vf_GridVec3f::GetZslice(), Vf_GeneralMesh3f::GetZslice() * Bug fixes - mmDispSh: plugged memory leak in [Bitmap] - mmDispSh: corrected command buffer overwrite - mmProbEd: corrected handling of "* Output Format" - mmSolve: corrected improper mask scaling when # cells > # pixels - Net_Account: corrected handling of [socket -async] failure - Oc: corrected handling of console filename with space in path - Oc: removed recursion in [Oc_Main Exit] - Oc: Oc_Init() safe for slave interps ========== OOMMF 1.1b0 released 2000/04/04 ========== Significant changes since 1.1a2: * Expanded Tcl/Tk support - 8.3.0 - [fcopy] emulation in Tcl 7.x * New applications: - mag2hfield * Bug fixes - mmLaunch - launches mmarchive with -tk 0 - apps failed when launched like sdf/sdf/../foo.tcl - Oc_DirectPathname now handles strange case when [cd] into a directory succeeds, but [pwd] fails. - mmSolve2D: fixed logging of bad MIF input - mmHelp: bad line breaking near empty anchors * New features - mmGraph: displays two vertical axes - mmDisp: Data scale slider - omfsh: includes Nb extension - mmProbEd: default demagnetization kernel is now ConstMag - mmProbEd: oval part shape - mmSolve: raises error when cell size does not divide part size - pimake: user documentation; default target 'help' - host and account servers: die when app servers die. - some sanity checks/warnings in oommf.tcl +platform - shells given no scripts automatically display console * Incompatibilities with prior releases - Many command line options renamed for standardization. * General cleanup/improvements - All apps are now Tcl scripts evaluated by shells - All apps use common facility for command line processing - All apps now register their +fg/+bg and -tk preferences - Renamed .omfExport.tcl --> omfExport.tcl * New Oc extension features/incompatibilities - Oc_Config compiletime_* constants - New C++ APIs: Oc_Atan2() - Removed C++ APIs: Oc_AppendUsageInfo(), Oc_GetUsageInfo() - Removed Tcl commands: Oc_AppendUsageInfo, Oc_GetUsageInfo - New procs/methods: [$Oc_Config Features] * New Nb extension features - New C++ APIs: Nb_RatApprox() - New Tcl commands: [Nb_Gcd] [Nb_RatApprox] * New Ow extension features - New Tcl commands: [Ow_IsPosFloat] - New procs/methods: [$Ow_EntryScale AdjustRange] [$Ow_GraphWin SetMargins] - New configuration options [$Ow_EntryBox Configure -hardmax -hardmin] [$Ow_EntryScale Configure -scalemin -logscale -rangemin -rangemax -autorange -hardmax -hardmin -displayfmt -marklist -markcolor -markwidth] [$Ow_GraphWin Configure -y2label] - Dialogs: Cancel buttons --> Close buttons - GraphWin: Second vertical axis * New Net extension features - New procs/methods: [$Net_Link Pause] [$Net_Link Resume] * New Vf extension features - New C++ APIs: Vf_Mesh::GetMaxMag() ========== OOMMF 1.1a2 released 1999/10/29 ========== Significant changes since 1.1a1: * Expanded Tcl/Tk support - 8.2.0 through 8.2.3 - Some fixes for 7.5 support * Expanded platform support - Better checking for cygwin platform -- $env(OSTYPE) - Support for Compaq/Digital C++ compiler, cxx - Support for HP's aCC compiler - Support -n32 libraries on SGI by default agrees with Tcl/Tk 8.0.3 and later. - optional optimization flags in config/cache/*.tcl comments - GNU compiler g++ selected instead of gcc or egcs * New features - avf2ppm: supports writing of Microsoft BMP files - mmGraph: New Option: "Smooth" - crude curve fitting to data - mmGraph: New Option: "Break" - add break in curve (lift pencil) - mmSolve2D: "Loading from..." indicator in interface - mmSolve2D: Zeeman Energy offset changed - zero energy when M and H are orthogonal - Open and Save File dialogs check their file types - support for asynchronous connection of client sockets - support for specifying output formats of "binary 8", "binary 4", and "text" * Bug fixes - pimake: find extension header files relative to target, not pimake - pimake: support tcl.h and tk.h in different directories - mmHelp: [string match " " "\n"] instead of "==" to fix infinite loop on Tru64 unix - mmGraph: Proper handling of escaped newlines in .odt files - mmGraph: Proper handling of too long and too short rows in .odt files - Release number taken from Oc extension, not hard coded - mmSolve2D: LoadProblem bug was loading from all MIF input source which had ever been selected. - mmSolve2D: Fixed coordinate errors in Ribbon Field Type - Launching of apps with embedded spaces in their path names did not work - Fixed timeout expiration event error in account server - Events generated from within Oc_Class constructors were not handled - Use higher precision computing orthogonal anisotropy axes. - [auto_execok] returns a list. Corrected code which assumed a string. - Revised search path for *Config.sh - Lots of "lint" improvements -- mostly bracing of [expr] - Oc_DirectPathname now handles strange case when [cd] into a directory succeeds, but [pwd] fails. * General cleanup/improvements - User manual in PDF format - BIBTeX used to generate references in user manual - Index added to user manual - Many tweaks for improved numerical accuracy - Better values for example materials - Cleaner network protocol between mmLaunch and account server - Distributed template repositories; no "build" directory - support for config/cache/local files - Warning about bad OOMMF_ROOT value - Complete elimination of the old "em" extension - eliminated extern "C" static functions for compiler portability ========== OOMMF 1.1a1 released 1999/08/10 ========== Significant changes since 1.1a0: * Expanded Tcl/Tk support - 8.1.0 - 8.1.1 * New Platforms supported - more centralized support for OOMMF configuration on Windows -- less burden on the config/cache/win*.tcl files - improved configuration for -32, -n32, -o32 builds on IRIX systems * New mmSolve/mmSolve2D features - Solver keeps a log while it solves - mmSolve2D supports a -restart option which will continue the solving of the problem from the last saved state in the log file instead of from the beginning. * Rewrite of mmArchive - Doesn't require a window system/display - can keep running as long as mmSolve2D - Accepts and archives DataTable data - Can be launched from the command line * New mmLaunch features - User interface windows for other apps - Inputs and Outputs displayed only if relevant - Status line * New Oc extension features - New Tcl commands - Oc_IsClass - Oc_SetPanicHeader - New Oc_Class procs/methods - Oc_Config TkVersion - Oc_Config Tclsh - Oc_Config Wish - Oc_Config Summary * New environment variables - OOMMF_TCL_CONFIG, OOMMF_TK_CONFIG, OOMMF_TCLSH, OOMMF_WISH * General cleanup/improvements - updated documentation - fixed syntactic sugar in "Define" procs - more informative platform configuration checks ========== OOMMF 1.1a0 released 1999/04/28 ========== Significant changes since 1.0b1: * New apps - avftoppm -- generate PPM files representing vector fields - mmDispSh -- shell with mmDisp support commands. - filtersh -- basic omfsh-like shell which supports filtering through standard channels on MS Windows * Renamed and now bootstrappable apps: - avftoave --> avf2ave - avftoovf --> avf2ovf - avftovio --> avf2vio - gif2ppm --> any2ppm * New extensions - If (Image formats) -- supports use of Windows bitmaps as mask files * New oommf (bootstrap) features - Revised command line option parsing run 'oommf.tcl -help' for a usage summary - New -command option - Stdout and stderr available immediately even when blocking * New mmDataTable features - more display options * New mmDisp features - Colorwheel-type display - New color maps * New mmProbEd features - ConstMag demag routine - Anisotropy axes initializer - More initial mag states - user comments, min and max time steps * New mmSolve features - Log files added - ConstMag demagnetization kernel - Support for generalized control points - stop on iteration count, or elapsed simulation time, as well as maximum torque below a threshold. - Removed exchange and anisotropy fields from zero-moment cells * New mmSolve2D features - event replaced by event * New Nb extension features/incompatibilities - New C++ APIs - Nb_DString::AppendArgs() - Nb_List::GetFirst(), Nb_List::GetNext() - Removed C++ APIs - Omf_SetPatchLevel, Omf_ComparePatchLevel - use Tcl_Pkg* routines - CullZombies - use Tcl_ReapDetachedProcs - Removed macros - TCLCMD -- use Tcl's Tcl_CmdProc instead * New Oc extension features/incompatibilities - New C++ APIs - Oc_InitScript() - C API to find and source initializing Tcl script - Oc_AppendUsageInfo(), Oc_GetUsageInfo() - support standard processing of argv, etc. - Changed C++ APIs - Oc_Main() -> Oc_AppMain() rename - Oc_SetUseTkFlag() -> Oc_SetDefaultTkFlag() - also -tk/-notk options --> -tk 0/1 and handled by Oc. - New macros - OC_MAKEVERSION - New Tcl commands - Oc_AppendUsageInfo, Oc_GetUsageInfo - support standard processing of argv, etc. - Oc_UniqueFilename - Removed Oc_Classes - em_eventHandler - use Oc_EventHandler - New Oc_Class procs/methods - Oc_Application CommandLine * Relocation of files, restructuring, etc. - Promotion of mmarchive from "net thread" to app - bootstrap program available in root directory - mmDisp is now a script evaluated by shell program, mmdispsh - use of version.h files * General cleanup/improvements - Improved documentation - More informative title bars and error messages * Expanded Tcl/Tk support - 8.0.4 - 8.0.5 - Tk4.x - Forward compatibility support for the [grid], [destroy], and [menu] commands. * New Platforms supported - Cygwin environment on Windows * New mmDisp features - Divergence display * New mmHelp features - Can load Binary files - Handles block-level IMG tag according to HTML 3.2 spec - Rudimentary table support (alignment) * New Oc extension features - New macro OC_STRINGIFY - New Tcl commands - Oc_CheckTclIndex - New Oc_Class procs/methods - Oc_Main GetInstanceName * Bug fixes - DString memory leaks - Runtime checks for tclIndex files - Improved exit handling (mmGraph) -- window existence checked - Clone protocols dependence on parents enforced - Oc_Class option 'enforcePrivate' is now honored. * General cleanup/improvements - removed deprecated direct accesses to interp->result - Improved error messages and stack traces. - revised LICENSE language - Account server/.omfexport.tcl - now use Oc_Application directly, no spawn of bootstrap ========== OOMMF 1.0b1 released 1998/11/05 ========== Significant changes since 1.0b0: * Support for Tcl/Tk 8.0.3 on Windows platforms. A workaround for the previous trouble with socket responsiveness was found. * Support for use of the .svf file format to specify an initial magnetization state in a problem description. * Fixed bug in mmGraph which prevented it from exiting and deregistering when exited by using the window manager to destroy its window. * Enhanced Tcl/Tk version checking in configuration/build steps. * Improvements to User Manual. * Clarified several error messages. ========== OOMMF 1.0b0 released 1998/10/20 ==========