
What's New in NairnFEAMPM
This section highlights some of the new features introduced into various version of NairnFEAMPM.
NairnFEAMPM 9.5 - 12 AUG 2023
- Temperature boundary conditions on the grid can use ad ID to allow global archiving of heat power and those grid BCs.
- Diffusion calculations now allows any non-negative concentration potential.
- VTKArchive custom tasks can archive history variables and can enter custom names to use for quantity names in the VTK files.
- Added FindNode and CrackClosure commands for use in internal scripts.
- PhaseField command can initialize phase field with a user-defined function
- The panel to create mesh contour plots has tool tips for help on entering the plot contour (and name changed to "New Mesh Contour Plot").
- Change mod(x,y) function to work with non-integers.
- Probably more to keep up with development of code engines.
NairnFEAMPM 9.4 - 12 FEB 2023
- Developed in Ventura and tested for M1 chips
- Visual interface for running the ExtractMPM tool for exporting particle data to VTK files.
- A new internal scripting option allows one to write an internal script to control calculations. This approach avoids need to write a separate AppleScript or Python control script.
- A new "Averaged" check box lets to average or total time plots for "All Points" of for a selected material type.
- 2D mesh plots can now do particle plots for particle along any line through the grid. Furthermore, such particle plots are now available for 3D files as well.
- Some new plotting features include plotting of 3D cracks
- Update for all the lastest features in the code engines. Many are decribed in the wiki section of the project on GitHub.
NairnFEAMPM 8.0 - 4 JAN 2021
- Update for all the lastest features in the code engines. Many are decribed in the wiki section of the project on GitHub.
- Visualization options update to handle new code output options.
- Mesh plots can now plot particle values for particle close to a line through the mesh.
- Several new color maps added.
- Bug fixes as needed
NairnFEAMPM 7.1 - 17 AUG 2019
Many new features and support for all recented added code engine commands. This version also runs will in MacOS Mojave including support for use in dark mode.
NairnFEAMPM 6.2 - 10 APR 2017
Most changes are to keep up the latest code binaries. The following hilights most changes (but may not include all changes):
User Interface
- Improved options for customizing 2D plots of results.
- Mesh 2D plots can plot particle data for particle that fall near a horiztonal or vertial line through the object.
- Some graphics were made multithreaded and are faster. But some of the most time-consumming steps cannot be made multithreaded. Speed up is most noticeable when plotting expresssions.
- Scripts can create 2D time and x-y mesh plots and extract and analyze the data. This option is not yet in the scripting help, but the commands are in the AppleScript dictionary.
MPM Calculations
- Newly published XPIC Method for MPM simulations.
- New methods to create MPM boundary conditions.
- New shapes are available (and all shapes can be used in new MPM boundary conditions).
- New CFLFactor command to set Courant-Friedrichs-Levy factor for MPM simulations and for transport equation simulations.
- The Analysis command can add "+PS" to "MPM" to include particle spin, but only available when using OSParticulas external binaries.
- You can set initial particle velocities and angular momentum using functions in a Region command. Angular momentum only available when using OSParticulas external binaries
- The MPMMethod command supports some new strain update methods..
- Several new options available for binary archiving and global archiving of results.
- Two new contact laws have been added.
- The XMLData command has been enhanced to allow XML insertion of crack definitions.
FEA Calculations
- New shapes are available when creating elements from shapes.
NairnFEAMPM 6.0 - 1 JUN 2015
User Interface
- The visualization options were all revised to handle reading of files created use an set of user-selected units (see this new feature in MPM and FEA calculations listed below. (Note: although the app can read files in any units, you cannot currently use input script commands to select units unless you are using raw XML input files).
MPM Calculations
- The Gravity command can now set body forces as functions of position and time.
- The ExtrapolateRigid command sets a different mode for setting boundary conditions using rigid material particles.
- The MPM code was revised to allow the user to provide input and get output using any consistent set of units.
- A new largeRotation property for small strain materials adds two options for handling large rotations in small strain problems. In addition, all small strain materials do a better job of tracking strains in problems that have a lot of rotation.
- In addition to revised low-strain materials, the global archiving and VTK archiving options now outputs Biot strains that decomposes the deformation gradient to account for rotations prior to archiving. This improvement works for archiving of total strain, elastic strain, and plastic strain (the latter two now work for hyperelastic materials as well). In addition, these options can archive components of the total deformation gradient.
- The viscoelastic material has a new option to model pressure using the large-deformation Mie-Grüneisen equation of state.
- A new softening material implements anisotropic damage mechanics.
- A new global archive option allows you to get contact force for each rigid materials; before it could only be some of contact forces for all rigid materials.
- A new global archive option can archive heating rate and nodes with temperature boundary conditions.
FEA Calculations
- The FEA code was revised to allow the user to provide input and get output using any consistent set of units.
NairnFEAMPM 5.2 - 11 OCT 2014
MPM Calculations
- Two new particle damping options can be set with the PDamping and PFeedbackDamping commands. Furthermore, the Damping and PDamping commands can implement PIC updates as a PIC damping mechanism.
- Added a new hyperelastic Neo-Hookean material.
- A new ClampedNeohookean material is a hyper-elastic plastic material with elongations limited to critical values with softening in tension and hardening in compression.
- Add and initial pressure option to the TaitLiquid material.
- A new shareMatField (matID) material property allows two or more materials to share the same velocity field in multimaterial mode MPM.
- The MultimaterialMode command can now specify a specific normal using polar angles.
- The JContour command has added a new optional for method used to evaluate kinetic and work energy terms needed for the J integral calculation.
- The ReverseLoad custom task can now be triggered on a critical value of any global archive quantity and it can hold for a fixed time before reversing the load.
- The ArchiveTime command has a new option to force archiving after a selected number of propagations and/or debonds.
- The VTKArchive custom task has a two new options to archive volume gradient and number of material points on nodes.
NairnFEAMPM 5.1 - 20 MAR 2014
User Interface and Common (MPM and FEA) Additions
- Both the MPM and the FEA code engines now run in parallel (if you have a multicore processor). The Processors command selects the number of processors to use when running parallel code.
- The help window has been stream lined and index for use in Apple's help viewer. The code engine details along with some command technical details have been moved to an on-line wiki.
- Crack planes in MPM calculations are now shown in both particle and mesh plots.
- Histogram plots can now be done for 3D MPM and can set specific number of bars to be used.
- All MPM plot options have hard coded option to plot equivalent stress and strain, which are much faster then using expressions in large calculations.
- The Origin command can flip the y axis when translating images to MPM or FEA models.
MPM Calculations
Miscellaneous
- A new "Adiabatic" mode enhances the previous "Mechanical Energy" option because it now works with conduction on or off. In addition, the thermodynamics of simulations is better controlled and now tracks heat energy end entropy in all materials. The thermodynamics of simulations are documented for clarification.
- Frictional sliding between materials and/or between crack surfaces can now be turned into heat when including conduction calculations.
- The archiving of thermal energy and external work have been replaced my more using archiving of heat of work energy and heat energy. The GlobalArchive command can archive heat energy, grid kinetic energy, work energy, internal energy, entropy, and Helmholz free energy.
- During crack propagation, cracks will now automatically update the crack tip material to allow fracture properties to change as a crack moves between materials in a composite material simulation. In a addition, a new constantTip material property will keep crack tips with that material even if they propagate to another material (i.e., override the new tracking feature). This option lets cracks in the same material use different fracture properties.
- The "criterion", "direction", and "traction" material properties and use string settings instead of only numbers (i.e., the work like the Propagate command options)
- The VTKArchive custom task can archive several new quantities.
- The FeedbackDamping option was changed to calculating kinetic energy on the grid rather than on the particles, because it some problems it gives more reliable results.
- The Torus command creates material points within a toroidal shape for 3D MPM calculations.
- The LeaveLimit option now defaults to 1% of particles leaving the grid before an analysis is stopped.
MPM Boundary Conditions
- The GridHoriz, GridVert, and GridDepth commands can set up symmetry planes and those planes handle contact and some edge boundary conditions better than before.
- The new BoundaryID command sets boundary condition
ID
needed to enhance the new option to archive reaction forces at nodes with velocity boundary conditions. - Velocity boundary conditions can now set velocity in a direction that is not along an axis.
- HeatFlux Command can apply non-zero flux boundary conditions to particles during conduction calculations.
- User-defined functions used to set velocity of rigid materials can now depend on time step, which is helpful in more accurately modeling rotational motions.
MPM Material Models
- A hyperelastic-plastic material for large deformation calculations is done and documented.
- Two materials, MGEOSMaterial and HEMGEOSMaterial, have been documented and the later is a new hyperelastic version of this material.
- The Mooney-Rivlin material can specify three different dilational energy functions. In addition, it has a new option to make it an ideal rubber whereby work may be converted into heat.
- Plasticity materials can now select from a set of hardening laws rather than have the set for each material type. This change allows many new types of materials.
- An Ideal Gas material has been documented and recently improved to track entropy change.
- A Tait Liquid material can emulate liquid material using material points.
- Two new traction law materials implement a coupled damage model or a constant normal stress condition.
- Artificial viscosity for pressure waves during compression has been added for several materials.
NairnFEAMPM 5.0 - 14 JAN 2013
User Interface and Common (MPM and FEA) Additions
- The work flow has been revised and is hopefully more intuitive. You are now prompted to create an output file every time a calculation is run and the results are automatically saved to that file when the analysis is done. This change lets you send results to any location and automatic saving avoids the warning about saving results before closing them.
- The App Store version requires the user to select a workspace folder, which grants permission to NairnFEAMPM to read and write files. You can pick the folder the first time NairnFEAMPM is launched or in the preferences window. You should save all calculations results to this folder.
- You can now control-click on a command-editing fields to get a popup menu with options to get help on the clicked command line, to indent the commands, or to run calculations.
- In addition to automatic saving a output results, a new preference can also automatically save changes to command files before running an analysis.
- Added documentation on how to use new materials that are in the code engine, but are not known to the NairnFEAMPM application.
- You can plot components of the deformation gradient. For hyperelastic materials, you can plot the elastic, left Cauchy-Green strain, which replaces the plastic strain for those material types.
- You can now plot grid boundary conditions without plotting the mesh in particle and mesh plots. This feature is most helpful for seeing grid boundary conditions in 3D calculations.
- Plots including rigid materials will now plot their kinetic energy and mass as zero (before the values could overshadow the rest of the plot)
- You can now plot rotational strain by using plot expression variables
#wxy
,#wxz
, and#wyz
. These can also be used to find components of the deformation gradient in expressions. - The transform points preference was enhanced to now work in 3D as well (before it was 2D only).
- New scripting commands to write output to the MacOS log console, to get a variable, to look up global archive results, or to run an analysis with specified output file name and option to submit as background process. Furthermore, the open folder command added a button to allow creation of new folders when selecting a folder.
- Variables in the scripting language can include underscore ("_") and can end in a dollar sign (for better compatibility with the developing commands language in the Java app NairnFEAMPMViz).
- Fixed bug that could not plot rotational strain for 2D calculations because the needed z component did not show up; it is now available.
- Fixed bug that would not plot crack results in MPM when running in 64 bit mode.
- Fixed a bug that wrote
<Cracks>
element withContactPosition
setting to the inputXML
file for 3D calculations, where it is not allowed.
MPM Calculations
- An axisymmetric MPM option is now available.
- Multimaterial Mode MPM can now model material contact as an imperfect interface.
- Multimaterial Mode has two new options for finding normals called
avggrad
(which is now the default method) andowngrad
(which is an old literature method for comparison only). - Two new shape function methods were added that work much better at high strains (lCPDI and qCPDI).
- Can use 1, 4, 9, 16, or 25 points per cell in 2D and 1, 8, or 27 points per cell in 3D and all shape function methods work with all shape function options.
- Traction boundary conditions can apply stresses to surfaces of particles as an alternative to applying loads directly to particles.
- Concentration flux boundary conditions have been improved to be true surface fluxes.
- The Gravity command allows simulations in a constant gravitational field. It was always there in the code engine, but not previously available when set up using NairnFEAMPM.
- The LoadBox and MoveBox commands can specify an axis to load or move a cylinder, rather than a box.
- Rigid materials have been improved to allow velocity, temperature, or concentration to depend on time and position (formally it was only time), and to have separate functions for varying different components of velocity and controlling temperature or concentration. (Note: the method to control temperature or concentration by a function has changed and old input files that used this method will have to be changed to the new method).
- FeedbackDamping command can now specify a maximum damping coefficient.
- A new HistoryArchive Custom Task to archive history data for materials in tab-delimited files.
- A new ideal gas material and a developed Johnson-Cook material and some other materials are now available as "Development Materials."
- The radius of cylinders in 3D calculations can vary to fill objects using conical shapes.
FEA Calculations
- The Region and Hole commands can be used in FEA analysis to define complex composite materials using shape commands rather than Area commands.
NairnFEAMPM 4.0 - 18 Jan 2012
User Interface and Common (MPM and FEA) Additions
- NairnFEAMPM will now only support Macs with Intel chips and MacOS 10.5 or newer (because it is too much work to do otherwise). This changes should also make it possible to offer NairnFEAMPM in the new Mac App Store.
- The scripts menu (with scroll icon) will now list scripts stored in the same folder as the document in the front window as well as those in the generic
~/Library/Scripts/NairnFEAMPM Script
folder. In addition, modules for use in Python scripts can be stored in a~/Library/Scripts/NairnFEAMPM Scripts/modules
folder - New Entity command can define entities to be placed in the output
XML
commands, which can be helpful when you might later directly edit those files on a non-Mac computer. - BMPRegion command can now specify width and height as mm per pixel in addition to previous method of giving total width and height.
- You can double click background processes in the process info window to open their results. Before you had to select it and then click the open button.
MPM Calculations
- The Mooney-Rivlin material has been revised to be a complete isotropic, hyperelastic material and to work in 3D and both 2D plane strain and plane stress. This new material includes neo-Hookean material as a special case.
FEA Calculations
- FEA calculations can now use 9 node Lagrange elements (and mix them with other quadratic elements).
NairnFEAMPM 3.0 - released 10 Dec 2010
User Interface
- NairnFEAMPM is now completely self contained, meaning the downloaded application contains the NairnFEA and NairnMPM code engines and all other files needed for running calculations. NairnFEAMPM can therefore be installed on any Mac simply by copying the application to that Mac. A help topic explains how to alternatively use NairnFEAMPM for code-engine development. Note: If you used NairnFEAMPM before, you can now delete the folders
/Library/Application Support/NairnFEAMPM
and ~/Library/NairnFEAMPM
, because they are no longer used or needed. - A new scripts menu (with scroll icon) lets you run scripts stored in the
~/Library/Scripts/NairnFEAMPM Scripts
folder. In addition, the scripts can now be written in Python or Ruby (before they could only be in AppleScript). - Several new scripting commands were added to add more features and to support user input when using Python or Ruby scripts. Also note that the SetVariable command syntax was changed to remove conflict with AppleScripting keywords; it should not affect prior compiled scripts.
- The commands editor colorizes keywords, variables and strings and can automatically indent code with the Indent Commands menu command.
- Fixed some broken web links and an issue opening help if NairnFEAMPM was move to a folder have spaces in its full path.
MPM Calculations
- The MultiMaterialMode command added of fourth parameter that allows that mode to prefer normals calculated from rigid materials (with
direction=8
) over those calculated from non-rigid materials. Such normals are often more accurate. - In multi-material mode that includes contact with rigid materials (with
direction=8
), you can archive contact forces using a VTKArchive custom task or global archive options. - The AltPropagate Command can define a second crack growth criterion. A given crack will propagate by the alternate criterion until it become critical by the primary criterion.
- VTKArchive custom task can now archive total strain.
- A Trilinear traction law can be used to create any piecewise linear traction law with three section.
- Traction loaded cracks can now be used in simulations with interacting cracks.
- The Damping command can use a function instead of a constant to allow grid damping to change during the simulation.
Visualization
- A new plot option for MPM results can plot a histogram of any quantity over all non-rigid particles.
- Simulations with plastic strain can now directly plot "Total Strain," which is sum of "Strain" (which is elastic strain) and "Plastic strain."
NairnFEAMPM 2.2 - released 30 June 2010
MPM Calculations
- The Von Mises material was enhanced to allow one type of non-linear hardening.
- The Rigid material was enhanced to allow real particles that interact with other particles through contact laws. This new type of rigid material can only be used in multimaterial mode MPM.
- The Triangular and Cubic traction laws were improved to implement mixed-mode failure criterion. The Triangular traction law was further enhanced to allow pure softening.
- New ArchiveUnique command forces creation of new folders in the results folder for each new run.
- The VTKArchive custom task can now archive material number.
- Transversely isotropic, orthotropic, and Hill plastic materials are now available for 3D MPM calculations. 3D orientation of anisotropic materials is done using the Rotate command.
- The method for solving plasticity equations in the Hill plastic material has been rewritten to a much more stable algorithm. Before certain yield stress values had problems.
- New PropagateLength command lets you select the amount of crack growth each time the crack propagates.
- Rotate commands can now be used in BMPRegion blocks of MPM analyses.
- The MovePlane command has a new option to decide whether or not crack surfaces can cross crack planes.
- The ToArchive command can now archive from one to 4 history variables for material types that have more then one.
- A new 3D MPM plot preference in background grid section will show a bounds box and label axes for 3D calculations.
- Two vector based plots can plot velocity vector and material axis directions.
Visualization
- Mesh plots of MPM results can now be clipped to the particles to better show the grid results.
- MPM particle plots with cracks can now set the colors for surfaces above and below the crack.
NairnFEAMPM 2.1 - released 30 DEC 2009
MPM Calculations
- In a major code change to NairnMPM, it can now do multimaterial mode MPM. In a possible advance over other MPM code, it can handle different contact laws between materials (when more than 2 materials are used) and can simultaneously have cracks and multiple materials. This later option has not be tested extensively yet.
- A new GridThickness command set the thickness of 2D MPM grids. This thickness is needed for multimaterial mode MPM is an applied to cracks without needing additional CrackThickness commands.
- The Friction command can now be used within a material definition to define custom contact friction between different pairs of materials in multimaterial mode MPM.
- A new "
exterior
" option for the material at a crack tip provides an improved method for dealing with cracks that extend through the surface of the object. - FEA calculations can define the mesh using
BMP
files and BMPRegion commands. - MPM calculations with imperfect interfaces now track total interface energy.
- Time plots can now average any archived quantity (except crack results) over all particles or over one selected material.
- A
NairnMPM
custom task called VTKArchive can export "VTK Legacy" files for grid-based data. These files can be input into ParaView (and maybe other tools) for doing 3D grid plots that are not yet available in NairnFEAMPM (which, for 3D results, can only do 3D particle plots). - Large 3D particle plots were made more responsive during dynamic draw (e.g., when operating view controls or resizing the window) by drawing only some of the particles. The full resolution will redraw when the current control action is done.
- A new diverging color scheme and a new rainbow spectrum can be chosen in the color preferences.
- 2D graphics can be exported as either
pdf
ortiff
files. - NairnFEAMPM will now automatically check the web every time you run it to see if a more recent version is available for downloading.
NairnFEAMPM 2.0 - released 4 NOV 2008
MPM Calculations
- Three dimensional MPM calculations are now supported including the following new or modified commands:
- When creating new MPM commands file, you can open a template "MPM 3D Commands File" or try an "MPM 3D Example" calculation (see the New submenu and the MPM Calculations section).
- The Analysis commands has a 3D MPM option.
- The PtsPerElement commands allows 1 or 8 for 3D MPM.
- The GlobalArchive command has added options for 3D components of stress, strain, velocity, and displacement.
- The GridRect commands supports 3D MPM and a companion GridDepth sets the elements in the z direction.
- The Region and Hole commands support 3D regions and holes using 3D shapes in the Box, Sphere, and Cylinder commands.
- The BMPRegion command supports 3D MPM by allowing a series of slices of a 3D object. The subordinate commands for Origin and Intensity also have new 3D options.
- Several material types are available for 3D analysis; currently they are all isotropic materials.
- Nodal boundary conditions are applied using a MoveBox command.
- Particle boundary conditions are applied using a LoadBox command.
- Plotting of 3D results is currently limited to particle plots but has many options for changing the viewing method.
- The Von Mises Hardening material has been improved for greater accuracy. The Dugdale material was deleted. It has been replaced by a fully anisotropic Hill Plastic material.
- Crack surfaces can now be created with various traction laws (see crack creation commands for details). In addition, for simulations involving crack propagation, the newly created crack surfaces can optionally be initialized with a traction law material. These options can be used to model process zones, fiber bridging zones, cohesive zones, and maybe more.
- A LeaveLimit command can change the way an MPM analysis responds when a particle leaves the grid.
- NairnMPM has modeled imperfect interfaces using explicit cracks for a while, but there are now commands in NairnFEAMPM to set up imperfect interface simulations.
- Particle load boundary conditions with a user-defined function can now have the function depend on particle rotation. This option can be useful to keep forces in the correct direction during large displacement calculations.
- Particle load boundary conditions can be used with a LoadType command in the load condition block to determine is the loads are specified as load per particle or total loads for all particles with the current boundary condition shape.
- Can archive rotational strain, which can be used to rotate square material points in MPM plots (see "Transform Points" option in the preferences).
- The XMLData command has been improved for use when working with new materials that are in the code engines, but not yet NairnFEAMPM.
- MPM plotting has been improved to scale particles from spheres to ovals or from squares to rectangles when the grid has different, but regular, dimensions in the
x
andy
directions. An additional option allows transformation of square/rectangular particles according to the deformation gradient on the particle. For it to be fully correct, the analysis must use the new option to archive rotational strain. - You can set the color of a material. The color is only used by MPM particle plots when plotting the Material plot quantity.
- A
SettingFunction
material property for rigid materials allows them to set velocity, temperature, or concentration to values that depend on time. - Feedback damping was improved to be based on kinetic energy and to have a target kinetic energy that allows it to work better with non-constant boundary conditions (e.g., monotonic loading). The evolving damping factor, α, can now be written to the global results file. Warning: Since feedback damping has changed, the scaling coefficient for optimal results may be different when running old calculations in the new code. There is no difference when all material points have the same mass, but prior scaling coefficients in calculations involving composite materials may require adjustment. In addition, prior calculations should update to use the new target kinetic energy if appropriate.
FEA Calculations
- The Periodic command in FEA has been extended to allow periodicity in just the
y
direction or periodicity in thez
direction of axisymmetric analyses.
NairnFEAMPM 1.5 - released 25 OCT 2007
MPM Calculations
- MPM calculations can now be done by GIMP or the generalized interpolation material point method.
- BMPRegion can now have a second mask BMP file whose intensities determine the material angle for anisotropic material points. This option can be used to model anisotropic materials in an image. The challenge is to create the mask file for orientation angles.
- MPM results can archive and plot element crossings to judge their effect on the analysis, and archive step number, elapsed time, and CPU time to help in monitoring long calculations (see ToArchive command).
- Explicit cracks in MPM can now be defined by a series of shapes rather then just a collection of connected points.
- The MovePlane command lets you select two options for moving crack planes. Both are valid, but for some problems one method may work better.
- Velocity boundary conditions in MPM can now set velocity in an arbitrary direction rather than only in the
x
andy
directions. Similarly, rigid particles can move in any direction setting skewed velocity conditions as they move. - The MoveArc and LoadArc commands can assign grid or particle conditions along a specified arc.
- Diffusion calculations are now coupled to stress and strains by concentration expansion coefficients. All materials can set their concentration expansion coefficients.
- The ConcentrationFlux Command can apply non-zero flux boundary conditions to particles during diffusion calculations.
FEA Calculations
- Finite element analysis can now do truly periodic calculations in both the
x
andy
directions. - The CrackTip command can create quarter-point elements at crack tips.
- The Crack Closure... menu command can use crack closure to find energy release rate for explicit cracks in FEA calculations.
Both MPM and FEA Calculations
- The code engines now support user-defined functions for setting various properties. They have been implemented to set temperature field (in FEA), to set material angle in FEA Area command, to set MPM grid and particle boundary conditions, and to set FEA displacement and load boundary conditions.
- Plots along a contour through the mesh can now specify the contour using polar functions.
NairnFEAMPM 1.4 - released 19 MAR 2007
- The Propagate command or a
direction
material property for MPM cannot set an optional method to determine crack propagation direction.
NairnFEAMPM 1.3 - released 20 FEB 2007
- NairnFEAMPM is now a Universal Binary application. There is a very significant speed up between newer Intel Macs and older G4 Macs.
- Finite element analysis has added a new option to do truly periodic calculations. Periodicity is currently limited to 1D periodicity in the
x
direction. - You can control click on particle movies or mesh plots to generate specific 2D plots.