
Just some notes on how AI*Env works internally.

[Wayne 1/28/04]

When med starts up it loads the file
lib/med/med_start.tcl.  This sources lib/ai_env/init.tcl without
doing anything interesting first.

The init.tcl file does a few bookkeeping things and then calls
AIEnvMain

AIEnvMain parses args, does various other things, and then checks some
environment variables.  Here are the variables we recognize.

ICEM_AI_ENVIRONMENT - if this is not set you get the old GUI.  Assume
it's set

AI_ENV_CFX - this starts up the 4CFX version (aka. cad2mesh)  this
probably won't be used in 5.0

AI_ENV_PRODUCT - this defines the specific sub-product.  Currently we
have:
	fea2.0 - the old version that is nastran-centric
	commonstruct - the new version that is generic
	cfd - the icemcfd product that has most of what 4.3 had
	cart3d
	flowmatch
	acusolve
	...

The current default is fea2.0 but we will move soon to commonstruct or
cfd depending on what script the user fires off.

This variable can also be set by the command line -app flag

Inside the main init.tcl the file lib/ai_env/scripts/APP/init.tcl also
gets sourced.  It can set config variables - some of the important
ones are:

set aie_guiOpt(topTTKRF)      APP/APP.ttkrf
set aie_guiOpt(winTitle)      "My App"

Other script files also go in lib/ai_env/scripts/APP and are
automatically sourced from SourceUserScripts

It's not required by the code that the resource files go in resources/APP but that
should be the convention we use.  Resource files in the resources
directory should be shared among multiple apps (but which ones are
picked are still controlled by APP/APP.ttkrf).

The bcinfo compiler will be run off-line (i.e. as part of the
installation process) to create subdirectories for specific solvers
including commonstruct.  (Acusolve will be the first CFD one).  This
will put files into the scripts/APP and resources/APP directories.
In addition it may need to load tcl code from the
icemcfd/output-interfaces/SOLVER.tcl file.

---------------------------------------------------------------

[Wayne 1/29/04]

For the bcinfo compiler, the file should contain categories that group
together all bctypes and param_nodes.

All category lines should have a name and that name should not be too
long since it goes in the tab

