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

Cubit won't accept any input

On my Windows machine, Cubit no longer starts. The command line version still seems to work.



ITEM -- Immersive Topology Environment for Meshing

When I make changes in a command panel or on the command line, things are messed up when I begin again in the ITEM panels.



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

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?

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?

Node Numbering information



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.

       ii. Node Numbering

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.

 

Momentary freezes

 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.

 

GUI version isn't working

 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'.