Translation of LIGGGHTS and STL data into EnSight Format

This Python routine takes a particular LIGGGHTS output file containing DEM particles, along with an STL for each timestep, and converts this dataset into EnSight Format. There are two parts in EnSight; Part 1 is the STL, while Part 2 contains only points (and point elements) representing the DEM particles. The routine will also convert the variable information provided within the LIGGGHTS file into nodal variables. This routine does not have a lot of testing, but seems to work fairly straight forward.

Assumptions:
(1) The LIGGGHTS and STL file are both ASCII, and there is one STL file for each timestep, along with one LIGGGHTS file for each timestep.
(2) Variable names used within the LIGGGHTS file are provided at the top of the file, along with Timestep information.
(3) There are columns labelled 'x', 'y', 'z' which correspond to the XYZ positions of the particles at that timestep.
(4) The user provides the location of one of the LIGGGHTS files, and from that directory, the routine will attempt to convert all STL and LIGGGHTS files contained within that directory.

After using the tool to convert the dataset, the user will have an "ensight_files" directory containing the converted information. The user can subsequently just load the "liggghts.case" file within the "ensight_files" directory directly to read the data in (there is no need to convert the data each time). The Tool writes command language back into the Journal File, so that recovery and utilization of the Journal File for scripting is still valid.

The current version of the Tool is version 1.6 from December 4, 2012
Version 1.1 Updates: Change filename logic to conform to standard "dump*" as LIGGGHTS format, and "*.stl" as the STL files.
Version 1.2 Updates: Change to sorting algorithm to correctly capture files in the correct order.
Version 1.3 Updates: Minor change to reporting if the number of STL files does not equal the number of LIGGGHTS files.
Version 1.4 Updates: Change to convert i,f,v,omega to vector variables (rather than just scalars), and switch to use Dictionary based variable list information.
Version 1.5 Updates: Adjust routine to read and keep multiple STL parts from the STL files (multiple PARTS in EnSight will be created for multiple "solid" specification in STL file". Also, name of STL part passed to EnSight.
Version 1.6 Updates: Toggle in GUI to turn OFF the conversion of the STL files. Turn OFF if you do not have an STL for each LIGGGHTS timestep (Fixed Geometry), or you simply do not want to convert the STL information. The default is ON, which will expect one STL file for each LIGGGHTS timestep (moving geometry). 

you can download the current Python User Defined Tool from our Python Exchange site here :

Any issues or problems should be reported back here, to CEI, or the author (Kevin Colburn:  kevin@ceisoftware.com).

Should you have slightly different LIGGGHTS data, or desire a slightly different implementation for your use, please do not hesitate to contact CEI with this request, we'd be glad to help.
Comments