I. User FAQs
Geometry
Is it a good idea to regularize all bodies regardless of whether they need it or not?
Is there a way to measure the angle a curve sweeps?
Is there a way to indicate if meshed volumes are contiguously meshed?
Is there a way to sweep about an axis a surface until it meets another surface?
Mesh Quality
What's another way to control skew?
Should I have confidence in a mesh, despite all the volume errors generated?
Is it a good idea to perform global smoothing even if no malformed errors are reported?
Graphics
Graphics Aspect Ratio is wrong... how do I fix that?
Why can't I display the CUBIT graphics window remotely?
Random crashes when moving mouse outside graphics windows with Linux
Why do I get Black/White graphics window on the Sun?
SGI : Graphics Window doesn't work in GUI version of Cubit
Cubit GUI window won't show up unless maximized
Cubit keeps freezing for a few seconds! (On the Engineering Sciences LAN at Sandia)
GUI Oddities
On my Windows machine, Cubit no longer starts. The command line version still seems to work.
ITEM -- Immersive Topology Environment for Meshing
Genesis/Exodus Entities
On Sidesets, what do forward, reverse, and both mean?
How can I get NASTRAN and/or Abaqus from exodus?
How do I get text output from an Exodus II file
The element IDs in my old journal file don't work right, what do I do?
Meshing
What's this about "Triangle appears more than once" when tet meshing a volume?
How do I tetmesh while preserving interior nodes?
Python
I can't get triple-quoted strings to work.
I'm having trouble defining a class.
Installation
Linux
When I try to run cubit, it complains about something being a directory.
I can't run Cubit on Redhat Enterprise Linux 3.0
When I try to run Claro, it complains about nvidia tls libraries.
Will there be an Itanium port of Cubit?
When I try to run Cubit, I get an error about libg2c.so.0.
Platform Specific Tweaks
Can I force Windows to unload the Cubit DLLs quickly?
A. Geometry
1. Is it a good idea to regularize all bodies regardless of whether they need it or
not?
Regularize should be fairly well behaved in that sense, i.e. it won't mess up something
that starts out ok. It also won't fix everything you want it to, but that's another issue.
One of the problems with using regularize a lot is it'll get rid of all your imprints, and
re-imprinting may not behave like you wanted it to. That is particularly true if you
have some bad geometry lying around which you were able to work with before.
Another way to do what regularize does, but on a more local level, is to use the Tweak
command and replace a surface with itself (that's been useful for removing valence-two
vertices, for example).
2. Is there a way to measure the angle a curve sweeps?
So, for example, clicking on a curve on a partially revolved body and getting the
circumferential extent as well as the radius?
"list curve <id> geometry" should give you the information you want. It will tell you
the radius and it's length, in additional to several other things.
3. Is there a way to indicate if meshed volumes are contiguously meshed?
You don't necessarily need a mesh to test for this. If an assembly of
volumes contains any surfaces that overlap, that normally indicates
that you have a non-contiguous set of volumes. (something didn't
imprint and merge correctly.) To check for this you can use the
following to find overlapping surface pairs:
Find [Surface] Overlap [{Body|Surface|Volume} <id_list>]
It'll report back overlapping surface pairs. You probably want to do
this check BEFORE you actually mesh. Here's an example:
reset
brick x 1
brick x 0.5 vol 2 move y 0.75
find overlap volume all
#report surface 5 & 9 overlap
imprint all
merge all
find overlap volume all
#nothing overlaps now
4. Is there a way to sweep about an axis a surface until it meets another surface?
No. But here’s a work-around. Sweep the surface about the
axis through the other surface. Use the other surface to webcut it.
Delete the part you don't want. Like this:
reset
brick x 1
vol 1 move x -2
create cylinder radius 1 z 2
vol 2 move x 2
surface 5 copy sweep surface 10 zaxis angle -270
webcut volume 3 with sheet extended from surface 7
delete vol 5
B. Mesh Quality
1. What's another way to control skew?
I've been trying to get a linking surface mesh setup on a volume. The volume
autoschemes correctly and sets some of the source/target surfaces to have map or
submap. When I do mesh the linking surfaces there is a lot of skew. My first thought
was, we've got to get rid of this skew problem, WE NEED MORE WORK ON SKEW
CONTROL!. But then after calming down, a realization hit me that the skew, at least
on the this volume, in part was due to the extra constraints on the source and target
surfaces (to get them to map/submap). So, I set all the source/target surfaces to
scheme pave, and poof, like magic ALL the skew problems went away...
I wonder how many other skew problems are due to this? My guess is not a few... One
problem however, is that we can't just change them all to pave because sometimes you
need to keep those surfaces as map or submap because they may be used as a linking
surface for a sweep in another direction...
2. Should I have confidence in a mesh, despite all the volume errors generated?
After meshing a volume using the "sweep" scheme with "winslow"
smoothing, I received a number of "Negative Jacobian Hex Generated!"
messages (see below). I smoothed using the "untangle" scheme, and received
many "ERROR: Volumes is seriously messed up" messages, along with a "Poor
Quality Hex Generated!" message. However, the quality metrics indicated an
acceptable mesh after a subsequent "condition number" smooth. Should I now
have confidence in this mesh despite all those volume errors?
The best way to be sure is to run the quality assessor
on the final mesh. "Quality volume 1" will return values of the
shape metric. A value of 0 indicates negative Jacobian's elements.
Ideally, the minimum shape should be greater than roughly 0.1
(the closer to 1.0, the better).
The quality numbers you supply below show that after smoothing
the minimum shape quality is 0.4496 - usually that is considered
very good shape quality, especially if the geometry is difficult.
The minimum relative size metric is 0.0278, indicating there are
some elements which are either much larger or much smaller than
average in the mesh. Whether or not this is desirable depends on
the analysis you intend to perform. (Notice that the mesh before
smoothing has a minimum shape of zero, indicating negative Jacobian's
elements. Smoothing seems to have been rather successful on this
mesh.)
Of course, in general, the suitability of your mesh depends on
much more than just the shape quality - this metric is intended
only as a minimal, generic check on the mesh.
3. Is it a good idea to perform global smoothing even if no malformed errors are
reported?
If the mesh quality is decent without smoothing, then you may want to "let well-
enough alone." If it is poor, then smoothing may be a useful option.
There are 4 volume smoothers in cubit that one might consider. Laplacian and Equipotential are very fast and often effective, however, they can generate inverted elements (negative Jacobians), especially if the unsmoothed mesh has exceptionally poor quality. If the mesh is inverted, then you can try the untangle scheme. If the mesh is poor quality but not inverted, then Condition Number may be worth a try. This smoother is much slower than the others, but should not create any inverted elements. Condition number automatically calls the untangle-smoother if the initial mesh contains inverted elements.
C. Graphics
1. Graphics Aspect Ratio is wrong... how do I fix that?
This commonly happens when you have dual monitors or a monitor with abnormal dimensions.
First of all, find the dimensions x and y of your screen or combined screens in centimeters.
On Windows, add a key in the registry, HKEY_CURRENT_USER/HOOPS/HOOPS_DRIVER_OPTIONS with a text value "physical size = (x,y)" using x,y from above. You may try putting it under HKEY_LOCAL_MACHINE for all users.
On Unix/Linux, set an environment variable HOOPS_DRIVER_OPTIONS = "physical size = (x,y)" using x,y from above.
2. Why can't I display the CUBIT graphics window remotely?
If you're running CUBIT on a remote machine and want to have the display showed on your local desktop, make sure the X-windows DISPLAY variable is set properly. The easiest way to check this is to try running xterm or some other simple X program and see if it opens a window on your display. If that doesn't work, if you're using ssh to log into the remote machine, normally the DISPLAY should get set properly by ssh. If it doesn't, check whether X11 port forwarding is turned off by default, and if it is, turn it on explicitly when you enter the ssh command (on some ssh's, this is the -X option).
If you're still not able to get it to work, try using the X11 driver, by using the "-driver x11" option to cubit.
3. Random crashes when moving mouse outside graphics windows with Linux
Occasionally, when I move the mouse outside the graphics window, Cubit will crash. This happens on Linux.
There is some known quirkiness with earlier nvidia drivers and our interactions with X. Try upgrading your graphics drivers.
4. Why do I get Black/White graphics window on the Sun?
This has happened on a Solaris 8 machine a few times.
Your X-server's frame buffer likely isn't configured to have a depth of 24 bits.
Edit your /usr/dt/config/Xservers file and change a line that looks like this:
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner
to this:
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner -dev /dev/fb defdepth 24
And then restart your X server by logging out and logging back in. You should then get full colors in your graphics window.
5. SGI : Graphics Window doesn't work in GUI version of Cubit
Edit the /usr/lib/X11/xdm/Xservers file
replace "-pseudomap 4sight" with "-depth 24 -class TrueColor"
then restart the Xserver /usr/gfx/stopgfx && /usr/gfx/startgfx
6. Cubit GUI window won't show up unless maximized
Sometimes, when you start the Cubit GUI, the window won't actually show up. All you'll see is the title on the taskbar. If you right-click on that button, then choose Maximize, then you'll get a Cubit window filling the whole screen, but as soon as you tell it to not Maximize, then you'll lost the window again.
What happens is that sometimes the information stored in the registry about the (x,y) location of the screen becomes invalid. To fix this, open regedit, find the registry key: HKEY_CURRENT_USER\Software\Sandia\Claro\clarogui\claro and delete the x and y entries.
D. GUI Oddities
1. Cubit won't accept any input
There's a strange bug in the 3rd-party GUI libraries that causes this. What happens is that you've probably undocked some of the windows, closed them, then closed Cubit. When you start Cubit again, you can't get anything to react to a mouse click or anything like that. The fix for this is:
If you are having problems starting CUBIT try the following:
From the Windows Start button
Select: Run
Enter: Regedit
Press: OK
From the Window Registry Editor:
find and open HKEY_CURRENT_USER
in HKEY_CURRENT_USER
find and open Software
in Software
find and select CUBIT
press delete
Close the Window Registry Editor
a try starting CUBIT again.
NOTE: You will lose some user configurations settings such as your ToolBar
customizations etc,
If you are still unable to start CUBIT contact cubit-help@sandia.gov
E. Genesis/Exodus Entities
1. On Sidesets, what do forward, reverse, and both mean?
Surfaces have a "natural" direction, the direction in which the normals
point. For surfaces bounding a single volume, normally this points out
of the volume. For surfaces which are part of two volumes, this surface
direction is oriented "forward" with respect to one volume and "reverse"
wrt the other volume (assuming a volume's natural direction is
outward). Putting a surface in a sideset gets translated in the mesh
output as a 3d element and a side number of that element. The reverse,
forward, or both qualifiers on a surface in a sideset designates which
geometric volume from which that 3d element gets chosen.
Note that in the case of merged/non-manifold surfaces, getting the
directionality wrong will have the effect of reversing the sign of the
Neumann boundary condition in the target analysis.
2. How can I get NASTRAN and/or Abaqus from exodus?
The Cubit team provides some translators, e.g. exoaba for abaqus translations. Ask the cubit team for help in getting those.
Also:
If you are after a full fledged setup of nastran and abaqus jobs, you
might want to consider moving you exodus model generated in cubit to
patran if you use that code. Sandia sponsors an exodus preference for
patran which permits both import and export of exodus models.
So what you can do is have a patran template that has the nastran,
abaqus, and exodus preferences loaded into it. Then activate the exodus
preference, read in your exodus model, then switch the patran analysis
preference to either nastran or abaqus as appropriate. Of course, there
is no direct sideset, node set, or block id translation to either
nastran or abaqus, but you can use patran groups to capture the
appropriate entities and then use the nastran/abaqus bc creation and
property definitions.
If you want the Exodus preference, contact Ken Walker at MSC Software
(ken.walker@mscsoftware.com or 817-481-4812 ext 53.
3. How do I get text output from an Exodus II file
We usually recommend ncdump to get a text format of an exodus file, due to the limited support exotxt and exoaba give. ncdump always succeeds in giving you a text representation of an exodus file that is guaranteed to be equivalent to what was in the exodus file.
Perhaps the difficulty is in interpreting the data from ncdump. Maybe I can give a brief overview with an exodus file that contains only one hex and a sideset.
ncdump will can have something like this (I've omitted some parts):
connect1 =
4, 7, 8, 3, 1, 6, 5, 2 ;
coord =
0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5,
-0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, 0.5,
0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5
elem_ss1 = 1 ;
side_ss1 = 4 ;
node_num_map = 8, 3, 2, 5, 4, 7, 6, 1 ;
For purposes of explanation, I've jumbled the node number map, so Cubit won't produce this node number map at this time, but another application might.
In the context of the file itself, the node_num_map is a set of completely arbitrary numbers and have no meaning. In the context of where the file came from (Cubit or whatever), the number have some meaning. These are external ids. When interpreting the data, we always use internal ids.
I have one hex with a connectivity of 4,7,8,3,1,6,5,2 (these are internal ids). The location of Node 4 is the 4th index into the coord array. That is the 4th in the first two to make the x coordinate, the 4th in the second rwo to make the y coordinate and the 4th in the third row to make the z coordinate (-0.5,-0.5, 0.5)
Then the external id of node 4 is 5.
The sideset has one side, that is side 4 in hex 1 (internal id). The exodus manual shows indices 1,5,8,4 make up side 4. So that is Nodes 4, 1, 2, 3 (internal ids). If you want the external ids of the nodes in the sideset, they are 5, 8, 3, 2.
If you go from file.exo -> ncdump -> text file and there is a problem, then exotxt and exoaba can do no better. In the case of an error, we'll want a bug report.
4. Is there a way to manually assign ids and to ensure that they are not clobbered when new features are added or operations are performed on old features?
There are a couple of features that may help you:
1. The aprepro Id() function. You can get the ID of the the last entity created of a given type using this function. For example, mesh volume {Id("volume")} is the same as mesh volume 3, assuming the last volume you created was volume 3.
2. Entity names. You can give a name to each geometric entity. This is often useful in conjunction with the Id() function mentioned above. The following example creates a cylinder and names it George:
cylinder radius 5 height 10
volume {Id("volume")} name "George"
Once you name an entity, you can use its name in place of its type and ID:
mesh George
3. SAT files with entity names. When you save geometry to a SAT file, names get saved along with the geometry. When you read in the SAT file later, the names are restored along with the geometry. Sometimes (but definitely not always) it is a good idea to start with a known, named geometry instead of modifying the journal file which creates geometry from scratch.
4. Extended entity specification. Instead of using IDs in commands, you can use an entity's properties. Here are some examples:
draw surface with x_coord < 0
list surface in volume 3
mesh surface in volume 3 with is_merged = false and with z_min > z_max of George
It is also worth mentioning that, within a single version of CUBIT, IDs will be consistent even if you change dimensions as long as you don't change topology. Dimension changes can be easily parameterized using aprepro.
5. The element IDs in my old journal file don't work right, what do I do?
It's pretty typical for IDs to change between versions, making journal files
somewhat unportable. One thing you can do is create an "ID-less" journal file in
your old version (10.1 or higher) and then convert the ID-less file to a standard
ID-based file in the newer version. The ID-less file uses coordinates instead of
IDs to identify entities. Sometimes it works like a charm and other times it
doesn't help you much. Here are the steps to convert your files:
The most likely scenario for converting older journal is to use the record
command during playback. The following is an example.
journal idless on
record "my_idless.jou"
playback "my_journal.jou"
record stop
journal idless off
To record an idless journal file back into an id-based journal file you might
use the following sequence.
journal idless reverse
record "new_id_based.jou"
playback "my_idless.jou"
record stop
journal idless off
Note: Aprepro expressions are not modified when converting a journal file to or
from its IDless form. Any aprepro expression containing an entity ID, such as
{Vx(10)}, will still refer to the same ID regardless of any IDless conversions.
When moving a journal file from one version of CUBIT to another, it may be
necessary to manually update IDs in aprepro expressions.
The first set of commands is what you would run in your old version of CUBIT.
The second set of commands should be run in the newer version, and will create
a file named "new_id_based.jou" which is identical to the original journal file,
but with updated IDs. It doesn't always work, however, depending on whether the
new version of CUBIT puts things in the same location as the old version.
F. Meshing
1. What's this about "Triangle appears more than once" when tet meshing a
volume?
The numbers in the warning messages are actually the node numbers assigned by Cubit. To find the triangle that is in the model more than once, you need to "list node 133331 122211 133321". From that output, you can see which two triangles contain all three nodes and therefore, are in the model twice.
2. How do I tetmesh while preserving interior nodes?
We had a discussion about tetmeshing while preserving interior nodes. Here's what was said:
From: Robert Kerr [rakerr@sandia.gov]
Sent: Tuesday, June 17, 2003 1:21 PM
Subject: Tetmeshing while preserving interior nodes
Hi guys,
A user came into my office today and asked me about an interesting
problem dealing with remeshing.
Here's the situation: Say we have a tetmesh, and run it through an
analysis for a couple of steps. At this time we then have a
deformed mesh
that needs to be redone. But, here's the twist--we'd like to keep
the
nodes that we have, just re-draw the tets that use them. Is
this possible
with our tetmesher? Is it possible some other way?
Comments?
Thanks
--
-bob
********************************************
Keeping all of the nodes? I would think that would be extremely
difficult without producing quality or refinement problems...
At any rate, I think what you are looking for is to use the "tetmesh
respect" command, with the list of nodes that you want the tetmesher
to
retain in the new mesh. This was really intended for use with only a
few points, but you're welcome to try it with more...
Jason
**********************************************
Okay, so that should work, but it depends on there being an overlay of
nodes etc on top of the volume to be meshed--ie. you can't remesh the
volume using nodes from a previous mesh. Is this correct?
-bob
**********************************************
I'll add my two-bits since I wrote the interface to the INRIA code.
The tet-mesher requires a description of the boundary mesh, i.e.,
points and triangles. It also accepts interior points that will
then appear as interior nodes in the tet-mesh. Therefore, the
following scenario is possible:
1. Mesh the volume's surface (input mesh = boundary mesh)
2. Mesh a volume using current input mesh
3. Perform analysis until mesh is so deformed it must be
replaced or desired result reached
4. Extract the surface mesh (should be the input mesh with
newly calculated node positions)
5. Save the interior nodes and add them to the input mesh with
the tetmesh respect command (not easily done if this is
a large mesh)
6. Go back to 2
The surface mesh may need to be regenerated in step 4 if it is
highly deformed. Our tri-meshers would have a hard time doing
this since it would require every interior point to be a hard
point.
If this is a viable technique, then we should add some commands
to make it more automatic.
--Mike S.
G. Installation
1. Linux
i. When I try to run cubit, it complains about something being a directory.
The scripts used to actually run Cubit try to set the environment up correctly.
Occasionally, on some versions of Linux (e.g. Suse 8.1) the commands used return some different value that expected. If the message received is something like:
./cubit
.
./
./cubit[58]: ./: cannot execute - Is a directory
Then change the cubit_LINUX.8.0.1 (or whatever version you have) as such:
Change:
THIS_SCRIPT=`$LS -l $THIS_SCRIPT | $AWK '{print $11}'`
to be:
THIS_SCRIPT=`$LS -l $THIS_SCRIPT | $AWK '{print $10}'`
Some work may need to be done with the numbers in the above lines to make sure it works correctly.
ii. I can't run Cubit on Redhat Enterprise Linux 3.0
In order to run cubit on enterprise 3.0, the 'legacy software development' packages must be selected during installation of the OS. Users can add the packages after the fact by going to system settings/ add remove applications. The libstdc++-libc6.2-2.so.3 file is in this package.
iii. When I try to run Claro, it complains about nvidia tls libraries.
Claro complains about the nvidia tls libraries in the
nvidia version (6111):
Traceback (most recent call last):
File "<string>", line 1, in ?
File "/home/john/Downloads/Internet/structure/gui.py", line 33, in
instance exec('import %s' % registry.mModule)
File "<string>", line 1, in ?
File "/home/john/Downloads/Internet/GUI/emclaro.py", line 4,
in ? import _emclaro
ImportError: libnvidia-tls.so.1: cannot handle TLS data
The workaround to this is to rename /usr/libs/tls (in case anyone else
is having the same problem).
2. Will there be an Itanium port of Cubit?
Probably not. Cubit for Linux has been developed on the AMD Opteron and Intel's EM64T chips, and runs very stably there. Itanium's architecture is different enough that the software needs to run through Intel's emulation layer, and there are some subtle problems with that emulation, enough so that we've never been able to get a stable process on the Itanium chip. We currently have no plans to port to the Itanium chip, partially due to a lack of demand, but largely due to lack of our necessary 3rd-party libraries.
If our 3rd-part libraries were available on this platform and the demand and resources was sufficient to develop this it would be possible. Without these three things, however, there won't be an Itanium release.
3. When I try to run Cubit, I get an error about libg2c.so.0.
Trying to start Cubit, I get an error message:
ImportError: libg2c.so.0: cannot open shared object file: No such file or directory
Error loading component: cubitcomp
The problem is often that your machine has newer libraries installed than the ones Cubit is being built with. To work around, install either compat-libf2c-34 or gcc 3.4.6 and then make sure that the libraries you installed are in the search path when Cubit is started.
This message may also indicate that the libraries you have installed are 64-bit and the version of Cubit you're running is 32-bit. In this case, if you have the 32-bit libg2c library available somewhere, make sure it's in you're shared libraries search path. Otherwise, the solution is the same, install either compat-libf2c-34 or gcc 3.4.6 and then make sure that the libraries you installed are in the search path when Cubit is started. Make very sure, if you install these libraries, that you don't overwrite you're 64-bit versions.
H. Platform Specific tweaks
1. Windows
i. Can I force Windows to unload the Cubit DLLs quickly?
Some users have complained that Cubit still takes up memory after exiting. A user contributed the following hack. Note however that this is a Global Setting, you have to be an Administrator to implement it, and we're not sure it does anything differently than what the O/S should already do (maybe just speed up the unloading of the DLLs). It also might make subsequent start-ups of Cubit take longer.
1. Run Regedit (Regedit.exe)
2. Find register
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
3. Create a new key, name AlwaysUnloadDLL, value 1
Effect:
After application (executing) the DLL libraries are removed from
memory, so more memory is available for next application.
Before creating new key, it is recommended that base settings be saved.
There has been no attempt to make the node IDs in the output file match the node IDs in CUBIT. In other words, cubit node 1 is NOT necessarily exodus node 1 or abaqus node 1. There should be some consistency between the various exporters, but it isn't guaranteed. After exporting, one can use the command "label node genesis" to see the ID the node has in the output file. You can also use the entity attribute "exodus_id" to refer to specific a node with a specific ID in the output file, as in "draw node with exodus_id 200".
We've never even attempted to get genesis IDs to match cubit IDs, and in some cases it would actually be impossible (genesis requires a 1-n numbering, so what happens if you export only a portion of your model and you leave out node 1?).
Some of our output formats require a 1-to-N node numbering scheme. Cubit node IDs are often not 1-to-N, so nodes are renumbered in the output. Because abaqus does not have this numbering restriction, the abaqus exporter could be enhanced to avoid this renumbering step. We don't yet have a specific time when we plan to deliver this enhancement.
Cubit assigns IDs to geometry entities as they are imported, and new IDs are assigned as geometry is created. There is also a command to compress geometry IDs.
CUBIT provides a 1-to-N node numbering in the output file. Beyond the 1-to-N constraint we don't guarantee any particular numbering. Node numberings may change depending on the version of CUBIT and the specific set of commands issued. Running the same set of commands in the same version of CUBIT should always lead to the same output file, but otherwise you could end up with an alternative numbering.
We will be removing the 1-to-N constraint from some of the output formats, using the CUBIT ID instead. However, this doesn't completely remove the potential for numbering changes.
Element connectivity should be correct in the output file. For formats that support it, block, nodeset, and sideset definitions should also be correct. That's all we really provide. Specific nodes are typically identified in the output via nodesets. Output formats that don't support blocks, nodesets, and sidesets will be enhanced to do so, although in some cases the way we support those entity groups may not be useful in all cases since CUBIT is not an input deck generator.
Python not working as expected
This is a problem with the parser. Each line of code is passed off to the python interpreter as though it were coming from the command line. This means that a blank line is interpreted as the end of a class or function. You can avoid this problem by inserting a python comment character "#" on any line where you want to have white space.
You could also bypass the parser (and avoid this problem) by:
1) Create a 2nd file ("parseGeom.py") which reads and executes the python command file ("mypythoncommands.py") you run from within Cubit.
For example this 2nd file could contain the following three lines:
f = file("mypythoncommands.py","r")
commandText
= f.read()
exec(commandText)
2) Run "parseGeom.py" from within Cubit.
The freezes on the engineering sciences LAN at Sandia seem to occur when there's attempts to write configuration files to your network-mounted home directory. If you experience these freezes, please create a file in your home directory called '.cubit_localdrive'. (The 'dot' at the beginning is part of the name, but the single quotes aren't.) In this text file put the path to whatever YOUR local drive is (you must have permissions to write here). So, for example, if your in your home directory:
echo /var/scratch2 >> .cubit_localdrive
This will create a file called '.cubit_localdrive' with the path '/var/scratch2'. Start CUBIT (or CUBIT beta) as normal. CUBIT will use your local drive for it's configuration files (and reset your $HOME variable to it's original setting after it's done to avoid creating problems with other applications). If you've personalized your settings in CUBIT, notice that you may need to set these again.
Have you installed another application requiring the installation of Python?
We've found this problem with another application, an analysis visualization tool, that's setting an environment variable, PYTHONHOME, rather than having their own install of Python for their application.... (Having an application-specific install of Python is the preferred method of making use of Python without stomping other application's setting for just this reason.) (...Have you looked at using ParaView for your visualization needs?)
Check to see if you have PYTHONHOME environment variable set. If so, take note of it (so that you can restore it if you need to) and clear it and try Cubit again.
Problems moving back to working in the ITEM panels
ITEM isn't necessarily aware of changes made to the model, schemes, or intervals when these changes are made outside of the ITEM panels (either on the command line or in some other command panel on the right side of the screen (default location)). When changes have been made outside of ITEM you may need to go back through the 'Setup FEA Model' and the diagnostics under 'Prepare Geometry'. At a minium, you should run through the 'Connect volumes' option under 'Prepare Geometry'.