NairnFEAMPMViz
NairnFEAMPMViz is a Java application to create simulations, run them, and visualize them. This page has brief instruction on its use and on compiling it if you want to enhance the source code to create new visualization options.
Introduction
The nairn-mpm-fea project includes a Java application called NairnFEAMPMViz that lets you create input files, run calculations, and visualize results for both NairnMPM and NairnFEA. On this page, you can download a complete package that includes the Java application and all code engines and libraries from the nairn-mpm-fea project. These are stand-alone packages that can run simulations immediately. Once a package is downloaded, launch the application by described platform-dependent method. Instructions for using NairnFEAMPMViz are included in the its help window. This page also has some quick-start suggestions.
If you want to make changes to the NairnFEAMPMViz Java application, its entire source is included in the nairn-mpm-fea project. See the instructions on compiling NairnFEAMPMViz to learn how to create a new jar file from altered source code.
NairnFEAMPMViz Packages
The following downloads provide packages that contain the NairnFEAMPMViz application. They are full-featured versions of NairnFEAMPMViz and the download folder contains compiled binaries for finite element analysis and for material point method analysis along with libraries needed to run the application.
NairnFEAMPM Download | Size (MB) | Updated |
---|---|---|
NairnFEAMPMViz 10.0 for Windows - For use on Windows computers. The packages should contain all the needed dlls to run code engines. | 3.1 | 7 FEB 2023 |
Mac download removed due to MacOS-depedent C++ library issues. Use the NairnFEAMPMViz.jar file in the NairnFEAMPM download instead and will need compile your own binaries. |
Note that NairnFEAMPMViz requires your computer to have Java 1.8.0 (a.k.a Java 8) or newer installed. If the above package does not work, you can build your own java app, binaries, and libraries by checking out the nairn-mpm-fea project and compiling the source code to the NairnFEAMPMViz java app.
Running in Windows
Start NairnFEAMPMViz by double clicking the NairnFEAMPMLaunch.bat file in the downloaded folder. This Windows batch file will launch the jar file in the "Resources" folder with a command line argument using:
java -Xmx512m -jar Resources\NairnFEAMPMViz.jar
The -Xmx option allocates the desired memory (where "m" means in megabytes). The batch file runs with 512 MB of memory. You can edit the batch file to change this amount if needed.
The above approach will open a Windows prompt window and it will stay open while NairnFEAMPMViz is running. That window is also a console for the Java app and will display some message that might provide useful information. If you prefer to run without that prompt window, you can use a short cut. First, create a short cut to the NairnFEAMPMLaunch.bat file (and give it any desired name). Second, right click on the new shortcut and select "Properties". In the properties window:
- Make sure "Target" and "Start in" refer to the batch file, it's folder, and the NairnFEAMPMViz.jar file is in that folder too.
- Choose "Minimized" from the "Run:" menu (or don't choose to keep the prompt window visible).
- Click "Change Icon..." and "Browse..." for the NairnFEAMPMViz.ico file (in the packages bundle folder).
- If desired, the short cut can be moved to any location (such as your desktop), but the folder with the target batch file and the jar file cannot move (because Windows short cut targets are not relocatable).
Note that the batch file's command launches NairnFEAMPMViz using a java command. For this basic command to work, you will need to include the path to your installed java command in your PATH environment variable. The path to Java executables in Windows will be something like:
C:\Program Files\Java\jdk1.7.0_80\bin
Installation of java may add this path to your Windows environment for you; if not, you will have to edit the system environment variables and add it.
Running in MacOS
The preferred approach in MacOS is to download and use the NairnFEAMPM application. If you need to use a NairnFEAMPMViz.jar, you will first have to check out and compile the source code (including the xerces library). Once that is down, start the Java application by opening the Termminal app and use the command
java -Xmx512m -jar NairnFEAMPMViz.jar
The -Xmx option allocates the desired memory (where "m" means in megabytes). The command runs with 512 MB of memory. You can alter it to change this amount if needed. The Terminal window that will stay open while NairnFEAMPMViz is running. That window is also a console for the Java app and will display some messages that might provide useful information.
The first time you run NairnFEAMPMViz, you have to configure it to use the binaries you compiled. This configuration is done in the "Code" pane of the app preferences.
Note that double clicking the jar file will open it differently, will not allocate enough memory for large calculations, I might block you opening any files. The latter is Apple's way of telling you that you are just not smart enough to run jar files and open files. Launching as above might fix the problem. To use double clicking (with this or other jar files), you have to change security and preferences for the Mac Java Launcher app:
- Open System preferences and click on the "Security and Preferences" panel.
- Click the "Privacy" tab, choose "Full Disk Access", and click lock to enable changes.
- Click the + icon and add /System/Library/CoreServices/Jar Launcher.app.
Running on a Linux Server
As a java app, NairnFEAMPMViz works fine in Linux, but no stand-alone package is currently provided. When using Linux, you will have to check out the nairn-mpm-fea project and build all needed code engines and libraries. Once they are created, you have to log onto the Linux server using X11 terminal software and enable "trusted X11 forwarding." The command line to connect is
ssh -Y -l username servername
or
ssh -Y username@servername
Once connected, start NairnFEAMPMViz using the java command line:
java -Xmx512m -jar (path/to/NairnFEAMPMViz.jar)
and NairnFEAMPMViz will run in a graphical user interface. The -Xmx512m argument runs the jar file with 512 MB of memory. You can run with more or less if desired. For instructions on using NairnFEAMPMViz, including how to tell it where you saved the code engines, use the "Help" menu command in the application.
To use this method to connect from a Mac or a Windows PC, you will need a terminal application that supports X11 connections. A good choice for Macs is XQuartz. A good choice for Windows is MobaXterm (this app has free and paid versions, but free version should be enough). If running while directly connected to a Linux box, hopefully your installation will have some built-in X11 connection to allow running of NairnFEAMPMViz.
Using NairnFEAMPMViz
The first time it is run, you may need to do some setup (as explained in the help). Once set up, a quick-start explanation about typical use is as follows:
- You can create "New" input commands files (or open saved ones with "Open" command or by clicking the "Folder" icon) and edit them in a text editing window. To try out a commands file immediately, you can open one of the sample files in "Examples" submenu. Save the example file and the proceed to the next step.
- To run an analysis, choose the "Analyze → Run FEA/MPM Analysis" command (or click the run arrow icon). You will asked to decide where to save the results (as an .fea or .mpm file). Once you select a name, the calculations will run.
- When the calculations are done, the results file will open for visualization. The text results will appear in the top two sections of a new window. A control panel for visualizing results will appear in the bottom section.
- To plot results, select a plot type in the control panel area and then follow the blue line to select all available options for that type of plot.
- Finally, click the "Plot" button to get the plot in a new window. To plot different results, select new options and click the "Plot" button again (which may have changed to "Replot" or "Add Plot").
- To open saved results for visualization use the "Open..." menu command or click the "Folder" icon. Note that "calculation results" are in the file of output text sent by NairnMPM or NairnFEA to standard output, and not one of the associated files written by those calculations. Once opened, the text results will appear as described above after running calculations.
One limitation of the NairnFEAMPMViz pacakages is that the embedded binaries may not be the latest versions from the nairn-mpm-fea project. Furthermore, the packaged MacOS code engines can only run in serial (due to Apple limitations for distributing software with OpenMP support). To use the latest versions of the code and enable parallel calculation on Mac while using the packages, you should:
- Download Source Code (i.e., check out the nairn-mpm-fea project.
- Compile the Code Engines for NairnMPM and NairnFEA.
- Either copy the compiled binaries into the package folders (replacing the original versions) or configure NairnFEAMPMViz to run the code engines created by the project tools. See NairnFEAMPMViz's help window for information on configuring it to run new code engines.
Compiling the NairnFEAMPMViz Java Application
The nairn-mpm-fea project contains the complete source code for NairnFEAMPMViz. One option for creating new visualization tools, therefore, is to edit the NairnFEAMPMViz source code and create them. After editing, you will need to recompile the code as explained in this section.
Compiling Using Eclipse
Eclipse is an open-source and free development system (IDE) for Java (and for other languages). This section explains how to import the NairnFEAMPMViz code into an Eclipse project. This method was done using Eclipse Mars (4.5), which is available free for Windows, Mac, and other platforms. These steps will probably work for other versions too, possibly with minor modifications.
Assuming you have the Eclipse IDE for Java development installed, you can import a project for editing NairnFEAMPMViz as follows:
- Start Eclipse
- Choose Import... menu command and select "Existing Projects into Workspace" in the "General" section.
- On next screen, choose Visualization/src folder in the cloned nairn-mpm-fea project. A "NairnFEAMPMViz" project should show up.
- You can select "Copy projects into workspace" or leave it unchecked. When checked, all files are copied to your Eclipse workspace and the files in the code check out remain in place. If not checked, the Eclipse project will directly use (and edit) the files in your check out.
- Click "Finish" to import the project.
The imported project should compile fine. To create a running option with sufficient memory, choose the "Run Configurations..." menu command
- Select "Java Application" and click the "New" icon to create a new runnable
- Enter any name such as "NairnFEAMPMViz with Memory".
- Enter "NairnFEAMPMViz" (or browse for it) into the Project field
- Enter "NairnFEAMPMViz" (or browse for it) into the Main class field
- Click on "Arguments" tab
- Enter "-Xmx512m" into the VM Arguments field (this command tells the Java machine to allocate 512 MB for running NairnFEAMPMViz. You can increase or decrease the memory as needed).
- Click "Apply"
- Click "Run" to run NairnFEAMPMViz
- In the future, you can run using the "NairnFEAMPMViz with Memory" item in the Run History menu
The above process will let you compile and run NairnFEAMPMViz within Eclipse. You can also use Eclipse to create a jar file, which can be run outside of Eclipse. The process is:
- Choose menu command "Export..." and then select "Runable Jar File" in the "Java" section. Click "Next".
- Choose the NairnFEAMPMViz launch configuration (such as the "NairnFEAMPMViz with Memory" one created above), choose export destination (which by default is (project)/lib/NairnFEAMPMViz.jar, where (project) is the name you gave this project in your workspace), and select to "Extract required libraries into generated JAR".
- Click "Finish" to generate the jar file.
- If desired, you can save the jar file to a downloaded package to update that package to use your recompiled jar file.
Compiling a Checked Out Copy - OSParticulas Only
When using OSPartculas, you can alternatively check out the NairnFEAMPMViz code directly from the repository using SVN. These steps need tools for subversion installed in Eclipse as follows:
- Install tools for subversion (this step and the next). Choose "Install New Software..." menu command (in the "Help" menu) choose download site to "work with." Once site data are loaded, choose "Subversive SVN Team Provider" in the "Collaboration" section and proceed to installation. Note that the group developing the SVN plug in dropped out of Eclipse Project after version Eclipse Oxygene. To install the SVN tools after this version, you have to adding the mirror site http://download.eclipse.org/technology/subversive/4.0/update-site/ (this approached works through Eclipse 2021-06. Future version might need to update this link such as to change "4.0" to latest version. To check for new options, look for "Directory Contents" at http://download.eclipse.org/technology/subversive/). After installation, restart Eclipse.
- Use of subversion also needs a "connector," which can be done using Eclipse→Preferences→Version Control (Team)→SVN and opening the connectors tab. You should then "Get Connectors..." and select the one you want. Select a connector that is compatible with your version of subversion (to check your version, use "svn --version" in your command-line tool). After installation, restart Eclipse. If no connectors show up, you can try to manually install them using the "Install New Software..." command and adding the site https://community.polarion.com/projects/subversive/download/eclipse/6.0/update-site/.
You are now ready to manage Eclipse projects using SVN. To get started with a NairnFEAMPMViz project, do the following:
- Choose menu command "New → Project...", expand the "SVN" section, choose "Project from SVN" and click "Next".
- You will be asked to select an SVN repository. Enter the following settings followed by clicking "Next":
- URL: (http_OSParticulas_Server)/svn/OSParticulas/trunk/Visualization/src
- User: enter your username and password for the OSParticulas svn repository.
- Choose "Head Revision" for latest version or use date or revision options for older versions and then click "Next" (or "Finish" is "Next" is not available).
- Select "Check out as project with the name specified" and specify NairnFEAMPMViz. Click "Finish" and the project will be created. It should automatically build and be ready to run.
- See above for how create a running option with sufficient memory.
The above process will create a project in your Eclipse workspace that will have a copy of the files needed for the NairnFEAMPMViz project. You can update to the latest version by right clicking (or control clicking on Mac) the project name and selecting "Update" from the "Team" submenu. If you are certified as a project committer, you can save your changes by right clicking (or control clicking on Mac) on the project name and choosing "Team → Commit..." (be sure to enter message described the changes being committed).
Command Line Compile
Warning: This compile method is not routinely checked. It may be out of sync with current version of the code.
You can alternatively compile the code and create the jar file on a Unix/Linux command line by running the script called makejar that is located at:
nairn-mpm-fea/Visualization/build/makejar
When you run this script, it will compile the Java source code and create a self-contained jar file in that same directory. By default this script assumes compilation on Windows. To compile on Mac uses makejar -m. To compile on Linux, use makejar -l.
To run this script, you need the javac compiler and jar utility installed on your computer. Compilation requires Java 1.7.0 or newer. It is available free on various platforms as part of the standard Java Development Kit (JDK) installation.
If the required javac and jar tools are not in the default path, you can edit the makejar file and enter the full path to each command (or add their paths to your $PATH environment variable).