Catenates all the Cell_Sets of the same Cell type within a mesh into a single Cell_Set.
module CatCellSets <NEx=286.,NEy=154.,src_file="cat_cs.cxx"> { cxxmethod+notify_inst+req update; Mesh+read+notify+req &mesh_in <NEportLevels={2,0}>; Mesh+write mesh_out <NEportLevels={0,2}> { nspace => <-.mesh_in.nspace; nnodes => <-.mesh_in.nnodes; coordinates { values => <-.<-.mesh_in.coordinates.values; }; }; };
Though the Express documentation states that in a mesh there should be only one Cell_Set of each Cell type (e.g. Tri Prism2) this is not enforced and it is possible for such meshes to be created especially by 3D object readers. It far more eficient to render a single Cell_Set than several of the same type. This module parses the mesh_in and then creates a mesh_out with all the Cell_Sets of a single Cell type catenated into one.
&mesh_in
Reference to a Field with a Mesh containing Cell_Sets.
mesh_out
A Mesh with the catenated Cell_Sets, the Coordinates are reference from the input mesh_in.
The Add_Data_to_Mesh recombines the mesh_out from cat_cell_sets with any original node data in the User Macro cat_cell_sets. Note that Add_Data_to_Mesh is pure V code and does not require compilation.
iac_proj/cat_cs/ccs_mods.v contains the CatCellSets and Add_Data_to_Mesh modules.
The module should run in the same process as the Mesh which it takes as input. By default the CatCellSets runs in the user process. Use the following command in the VCP to compile this project:
$compile IAC_PROJ.CatCellSets.CatCSMods
James Perrin Manchester Visualiation Centre Manchester Computing The University Oxford Road Manchester UK M13 9PL j.perrin@mcc.ac.uk
Add_Data_to_Mesh