CMO

The cmo command operates on the Mesh Object(MO). There can be many Mesh Objects in the code for a given problem. Only one of these Mesh Objects may by the Current Mesh Object. There is also one Default Mesh Object which is used as the template for generating new Mesh Objects.

FORMAT:

Add a user defined attribute to a Mesh Object cmo /addatt /mo_name/att_name/type/rank/ length/interpolate/persistence/ioflag/value cmo /addatt /mo_name /keyword / keyword_parameters

Shorten all memory managed arrays associated with mo_name to their actual lengths

cmo/compress/mo_name

Associate the surface constraint information of the mesh object cmo_src with cmo_sink: cmo/constraint/cmo_sink/cmo_src

Copy master_mo to mo_name:

cmo/copy/mo_name/master_mo

Copy a mesh object attribute:

cmo/copyatt/cmosink/cmo_src/att_nam_sink/att_nam_src

Create a new mesh object:

cmo/create/mo_name/[npoints/nelements/mesh-type]

Delete an existing mesh object:

cmo/delatt/mo_name/att_name

Delete an existing mesh object even it has ‘permanent’ persistance:

cmo/DELATT/mo_name/att_name

Copy the structure of master_mo to mo_name, but copy no data:

cmo/derive/mo_name/master_mo

Associate the geometry named geometry_name with the mesh object mo_name:

cmo/geometry/mo_name/geometry_name

Print the memory length of attribute att_name for Mesh Object, mo_name:

cmo/length/mo_name/att_name

List all mesh objects:

cmo/list

Adjust the memory manages arrays associated with mo_name to the

lengths required by number_nodes and number_elements: cmo/memory/mo_name/number_nodes/number_elements

Modify an attribute parameter value: cmo /modatt/mo_name/att_name/field_name/new_field

Change the name of a mesh object:

cmo/move/mo_name /master_mo

Adjust the memory length of mo_name based on the values of nnodes and

nelements:

cmo/newlen/mo_name

Print the value of an attribute:

cmo/printatt/mo_name/att_name-all- -xyz- nod / [minmax list value] ** ** /[ifirst,ilast,istride]

Read values for an attribute from a file:

cmo/readatt/mo_name/att_name/[…]/operation/file_name

Release a mesh object (same as delete):

cmo/release/mo_name

Make mo_name the active mesh object:

cmo/select/mo_name

Set the value of an attribute:

cmo/setatt/mo_name/att_name/ifirst,ilast,istride/value

Create an integer attribute that contains the node or element number:

cmo/set_id/mo_name/node element both/[att_nam1]/[att_nam2]

Print the mesh object status (all attributes and values of scalars) cmo/status/mo_name/[brief]

Verifie that memory allocation of Mesh Object mo_name is consistent:

cmo/verify/mo_name/

 

CONVENTION: As a result of any command that generates a new mesh object, the newly generated mesh object becomes active. As a result of any command the changes a mesh

object (e.g. copyatt) the changed mesh object becomes active.  Use cmo/select to explicitly

specify the active mesh object.

RESERVED NAMES: The following names are reserved and may not be used for Mesh Objectnames:

-cmo-       the Current Mesh Object

-default-     the Default Mesh Object

-all-       all Mesh Objects or Attributes

TYPES, DEFAULTS and POSSIBLE VALUES:


mo_name  is type character

att_name is type character

mesh_type is type character

             (**tet,hex,pri,pyr,tri,qua,hyb,line,point**)

type  is type character, default is VDOUBLE

             (**VDOUBLE, VINT, VCHAR, INT, REAL, CHARACTER)**

            **VDOUBLE** real array

            **VINT** integer array

            **VCHAR** array of character *32

            **INT** a single integer variable (length =1 rank =1 by definition)

            **REAL** a single real variable (length =1 rank =1 by definition)

            **CHARACTER** a single character *32 variable (length =1 rank =1 by definition)

rank is type character, default is scalar

            (**scalar,vector,tensor**)

            **scalar** one entry per array element

            **vector** 3 entries per array element

            **tensor** 9 entries per array element

            any previously defined **INT** attribute including user defined attributes may be used as rank

length is type character, default is nnodes

            (**nnodes, nelements**)

            any previously defined **INT** attribute including user defined attributes may be used as length 

interpolate is type character, default is linear

            (**copy, sequence, linear, log, asinh, max,**

            **min, user,and,or,incmax**)

ioflag (a, g, f, l, no – for avs,gmv,fehms,LaGriT) ————- —————————————————————————————————