Note that LIMS and LimsUI documentation is installed with LIMS program locally and can be – for WIndows version – opened from the Start up menu, LIMS folder. As both the sets are using frames, it is not easy to show them on this site. If we refer to them, just open them in the next tab. The frame-less version we link to here is not very comfortable. Alternatively, you might want to use theFAQ at backup site which uses plain html and it shows frames as such. These may be more up to date as they are simply generated by txt2tags from markup text and do not have struggle with WordPress.
LIMS Command Line FAQ
These are issues that show up as some arcane error message in command line window.
My simulation results look ‘reasonably’ but are x orders of magnitude off expected values in time or pressure.
Method used by LIMS is not extremely accurate, but errors are usually in magnitude of percents or so. If you are off by a huge factor, the most likely reasons are wrong dimensions. The units used in input must be consistent, say meter –Pascal – second. When written from LimsUI which has some unit control, they will be in SI and your display selection will be recorded in those comments at the beginning of the file.
Thus, you might have either:
- Used input in strange dimensions which are not consistent – such as meters, seconds and Megapascals.
- Specified correct values but used input file with dimensions not corresponding to what you want, say all input in meter – pascal – second but nodal coordinates in millimeters, because your design package saved them in this dimension.
If either of these is true, see the next question. If both these points check all right, check whether you use the inlet type you wanted. Opening pressure gate with value for flow rate and vice versa is likely to produce some spectacular values in output.
LIMS stops filling simulation saying it is not possible to fill another control volume
The two most common reasons for this are that
- The mesh is actually discontinuous. As many meshers may go entity by entity, the boundary between them may contain two different sets of nodes, either truly overlapping each other or even at visibly different location, for example when there is different number of elements on each side of a line. In the former case LimsUI might notice duplicate nodes – if you have mesh checking enabled – and offer you fix. There is also a command line utility for that. In the later case you need to rebuild the mesh.
- The mesh is very large and by that I mean units went amiss. Most commonly, dimensions in millimeters are interpreted as meters. Then, the time step becomes so large LIMS considers it error. Units in LIMS engine may differ from SI but must be consistent. The units in mesh can be set first time you read new DMP mesh into LimsUI. Once that happens, the mesh is converted to SI and information is added to a few comment lines at the file beginning. Remove them in text editor to get second shot at converting them when you load the file. Other options are going back to design and mesh or run some GAWK script. There are even people who corrected this using Exel. It is essentially scaling the nodal coordinates.
What is the base for indices in input files?
This should not be problem with newer versions as they try to use 1-base indices everywhere. Unfortunately, old texts and files are still around, and you should know:
- Internally, LIMS is written in C, so indices inside – and consequently in binary formats, which are accessed by block writes and reads – are zero based. However, the LIMS 3.0 IN file and LBASIC commands use 1-based values, as compatible with really old, pre-4 versions of LIMS. The current text format (DMP) is hybrid. In versions 4.0 and 4.1 DMP files
were strictly 0-base indexed, however, this was the only place where 0-based information was used in text format within LIMS. Since late 4.2. betas this was changed and DMP format is 1-base indexed by default. LIMS newer than 4.1 will always write 1-based DMP file. On input it still accepts 0 based files as well. The determination is based on the value of the index of first node. After that everything must be consistent, i.e., nodal indices in node list, element indices in element list and nodal indices within element definition. Failure to be consistent results in input errors.
- This is obviously no problem when using current LimsUI or mesh converters, only with really old files. You should not see zero-based indices.
How do I input procedure definition and other commands into LIMS?
There are three ways to do this:
- Directly from console, typing line after line. If you want to preserve what you typed, copy and paste block from terminal. This is good only for direct commands and short simple macros. In Windows, command line editing is a bit helpful. In Linux, there is no such functionality (read line is not linked in), but you can start LIMS under proper
wrapper (I use rlwrap lims) Type the commands as you want them in a text editor of your choice and save them in proper directory. It should be either current one or %LIMS_HOME%\lib, preferably with extension .LB. Then load them into LIMS using LOAD command. Note that this method is not reserved only for procedure definitions, but can issue direct commands including LOAD as well.
- For usual simulation scripts, LimsUI will be generating them for you. The generated file can be saved and edited, or just edited within LimsUI and executed from the dialog box.
How do I specify permeability values in the input file?
Do not just write them in!
Anisotropic permeability needs to follow proper coordinate system. For LIMS, that is tied to nodes in each element. LimsUI (or Lego) will do this for you properly and scream if values are illegitimate. If you need to craft your own converter or to generate the file yourself, certain care is needed. Permeability is a second order symmetric and positively definite tensor. The components are thus not only related to some coordinate system but also limited in magnitude. If you have values in some other coordinates, say a global one, you need to transform components into the LIMS local c.s. before embedding them in input file or setting them from console or script.
The transform follows usual rules for transforming second order tensors such as stress or strain. In DMP file, local coordinate system is tied with the element nodes, i.e., varies from element to element. Local x axis is given by the connection of first and second node and that is it. Local y axis is given by the connection of the first and third node and orthogonalized to x axis. In 3D elements local z is given by connection of first and last node and orthogonalized to local x and y. Note that, should the orthogonalization fail, you must have very serious trouble with element distortion (essentially zero volume element). This scheme requires more work in file preparation BUT provides unique axis determination and can be easily done programatically. Several file convertors are available to do this work.
In LBASIC, help is provided by the scripting commands. Permeability is set by SETPERM command. Coordinates are specified this command to be either element coordinates as for DMP file, global coordinates (x-y for 2D, x-y-z for 3D), or user specified (SETREFAXIS command). The details on how to do this are included in LIMS documentation
I want to see the transient development of some value in LIMS simulation.
When you write the usual LIMS output file, it takes the snapshot of entire system at a current time. You can merge several results sets in GMSH or TECPLOT, but that is probably not why you are reading this. The most common reason would be to
- Record pressure at gate with prescribed flow rate or vice versa.
- Record the flow rate at vent to determine bleeding.
- Record the pressure in certain area to determine forces.
For the first two points, check OPENTRACER in LIMS Documentation. The latest one may be a bit harder and scripting some calculations may be needed. You will then write it out of simulation using FIPRINT. Again, see LIMS Documentation.
LimsUI is quite old and has been built in Windows XP with FLTK toolkit. The aging created some problems, though it surprisingly still runs under 64-bit Windows 10 on most systems quite well.
Running simulation from LimsUI opens dialog and then does nothing.
There are a few possible explanations for this. Most probable two are that either your LIMS version is expired or that there is a stray process limsslv*32 left over but blocking spawning a new process. In the former case, you were notified at start and you update your LIMS copy. In the latter case, use task manager to terminate the process before
I am selecting and selecting and nothing shows.
There are a few possible reasons for that
- There is selection and display filter combination that prevents selecting. Check LimsUI documentation (limsui/index.htm) for display filters
- You are suffering a mild case of display problems. Things are selected but do not show. You can check this by right clicking and seeing if set … properties is available. If it is, opening the dialog box should display the selection
Display goes weird – mesh becomes transparent, element boundaries vanish…
Unfortunately, the age of LimsUI shows. There are occassional incompatibilities between LimsUI and OpenGL graphics drivers. In the old windows versions, this could be almost universaly cured by reducing the graphic acceleration level, sometimes to switch it completely off. LimsUI does not really require it.
Unfortunately, nowadays the card acceleration settings are tricky and you are here on your own. It seems to run OK on my current system (Windows 10 and NVidia M4000), in my Virtual box on Linux systems (6.1 with Windows XP SP2) and lab computers here. I have had issues with Wine, though. If you have serious problems and no way to switch the systems, Virtual box may be your only hope.
LimsUI Does Not Check Mesh.
You probably disabled it in settings to save some loading time. Just go to settings dialog and enable it
LimsUI Does Not Allow Me to Set Units the File Data is In.
LimsUI records the unit system used for display in a special comment lines at the beginning of the file when the file is read for the first time. The existence of comments signals that it was done and it will not be offered. Erase these keeping just one empty comment line at the beginning and you will get a second chance.
Where Are Vents in LimsUI?
In the mainstream simulation, the use of vents may follow one of these patterns:
- I do not know where the vent is. In this case you want to put it in the last place to fill, so you run the simulation without any vent. This is what LimsUI does as default. The results are exactly as if there is vent with perfect vacuum at the last node that fills. Caveat here is if the flowfront splits and separates the empty space into two or more areas. Then you will need multiple vents, one in each. Some of them might be reached sooner than others. Now, the way the default simulation runs assumes that you close the vents when resin reaches them as usual.
- I actually know where vent is but assume it is at perfect vacuum. Again, you do not need to model such kind of vent as long as you do not let the resin bleed out from at least some vent(s).
- I Just want to vent at 10kPa. Or I want to bleed resin out. In this case you actually need to model vents.
Now, there is no dialog box in LimsUI to do so but you can do it by adding pressure gate in the vent location and then simply editing the script file. That is quite simple. Assume you set a gate for 5 kPa pressure at a node, say 1123. If you open the script file instead of hitting Run, you will see line
Which you just want to change to vent at 5 kPa. You edit it to change the gate type
and here it is. Now just run the simulation. Maybe, it will finish. Existence of vents, particularly with positive pressure, is tricky. To improve your chances, you may change the simulation end condition from Till all nodes are filled to some time.
Note that there is screencast tutorial for this
Working with LIMS and Other Programs FAQ
How do I use GMSH with LIMS?
Since 5.0.7. LIMS can read and write Version 2 text .MSH files from GMSH. From the command line interface, this is no different than other file formats, though setting the material parameters requires some extra work. The details on how to do this are included in LIMS documentation.
However, as the LimsUI cannot read and will not generate instructions to write these files, one needs to convert them to DMP in either command line LIMS or with msh2dmp converter. For the former.
- Start the command line LIMS.
- Type “read” and hit enter. Use the file selector that opens to set type to gmsh and navigate to the file. Open file. This will switch the directory to that of the file as well.
- Type setouttype “DMP” and hit enter.
- Type write “somefilename.dmp” and hit enter. somefilename.dmp should appear in the same folder as the original GMSH file. This file contains the result section.
- Open this file from LimsUI, remove the results, modify whatever material data needs to be modified ()you may have defaults in all the properties) and save.
To generate GMSH file from LimsUI, just select to write results as TECPLOT, but instead of running immediately, select edit the script and change the fileformat in line
from “TPLT” to “GMSH”. Then just run the script.
GMSH file does not load as the format changed
All builds of GMSH I have seen, up to 4.8.4 seem to support exporting mesh as Version 2 ASCII. You need to select proper version in the pull-down menu in the dialog that opens after you select the file name.
What is this TECPLOT Format?
TECPLOT is commercial but not too expensive, cross-platform post-processing program. It was quite useful in earlier days of LIMS. They offer meshing application as well but LIMS never used that. The old fashion TECPLOT we used and loved stopped working somewhere in the Windows 7/10 era. There are newer versions that work and will read the file format,
but I have not used it for a while. I am still using the old one in Virtual Box. Now, the TECPLOT format as written by LIMS may be of some interest as it is supported by another great among opensource post processors: PARAVIEW