Older Release Notes VisTools (starting at 4.3.0)
Bug fixes
The CoordSys module improperly computed surface coordinates for toroids. This affected surface mesh swapping on toroidal surfaces. (4.5.0: July 24, 2020)
The SurfMesh module did not properly preserve nodes using the SURFMESH_PRESEDGEANGLE option. (4.4.7: September 3, 2019)
The underlying tetrahedral meshing kernel for the TetMesh and VolMesh modules has been updated to fix a rare meshing failure. (4.4.4: April 10, 2018)
The VolMesh module did not propagate a user set sizing callback to the underlying TetMesh module. (4.4.4: March 20, 2018)
The SurfMesh module did not efficiently process large numbers of internal voids. (4.4.3.r3: January 23, 2018)
The SurfMesh module would not properly enforce the Delaunay condition on flat surfaces containing nodes with extremely high edge degree. (4.4.3.r3: January 23, 2018)
The TetMesh module did not recognize inconsistent input boundary connectivity. (4.4.2: October 25, 2016)
The TetMesh module would underrefine given the target edge length. (4.4.2: October 19, 2016)
The TetMesh module did not insure that unconnected input points would be properly inserted. (4.4.2: October 14, 2016)
The RedMat module function vis_RedMatDatadv would filter the precision of data to float precision regardless of the precision of the internal representation. (4.4.2: September 29, 2016)
The State module function vis_StateTransform did not ignore VIS_SCALARS data. (4.4.2: September 23, 2016)
The SurfMesh module did not transform edge tangents properly in all cases of periodic faces. (4.4.2: August 15, 2016)
The RCase module did not return default SPC parameters when queried at undefined nodes and degree of freedom tags. (4.4.2: August 4, 2016)
The SurfMesh module did not honor the VIS_MESH_UNCONNECT parameter to ignore unconnected points. (4.4.1: April 20, 2016)
The State module did not differentiate between the STATE_MAPCENT and STATE_MAPAVE interpolation options. (4.4.0: March 11, 2016)
The Space module function vis_SpacePointIdTran did not recognize point elements, ie elements with shape VIS_SHAPEPOINT. (4.3.6: August 10, 2015)
The State module had a number of unsupported functions related to element face and edge states. (4.3.4 July 8, 2015)
The Group function vis_GroupCount would return an improper counts in some instances. (4.3.4 July 8, 2015)
The ExtMesh module improperly inserted midside nodes. (4.3.4 June 23, 2015)
The Levels module now strictly allows only LEVELS_MAX - 1 levels to be defined. (4.3.3 February 22, 2015)
The TetMesh module under some circumstances generates unconnected nodes. (4.3.2.r1: December 22, 2014)
The Face and Contour modules have been enhanced to support unlimited size topologies. (4.3.1: August 12, 2014)
The Stream and Trace modules have been enhanced to more robustly trace streamlines through distorted elements. (4.3.1: July 10, 2014)
The SurfMesh module did not properly set specified point sizes for unconnected points. Quad meshing of faces split during mesh mating operations were not properly quad meshed. (4.3.0)
The Connect module function vis_ConnectWrite did not write associations properly. (4.3.0)
New features and changes
The VIS_MESH_FUNSIZINGMIN parameter has been added to the TriMesh, TetMesh, VolMesh and SurfMesh modules. The equivalent parameter SURFMESH_FUNSIZINGMIN used in SurfMesh has been replaced. (next release: August 11, 2021)
The Glyph module functions vis_GlyphSegment, vis_GlyphSegmentRule and vis_GlyphSegmentRev have been added to facilitate drawing segmented lines, ruled and revolved surfaces. (next release: July 1, 2021)
The RBody module has been added to contain rigid body definitions. (next release: July 1, 2021)
The SurfMesh module function vis_SurfMeshSetConic has been changed to add a reference direction specification to the conic section orientation. (4.5.4: February 15, 2021)
The Connect object parameter CONNECT_ZEROUSERID has been added to control the node or element association value returned for a zero valued VIS_USERID. (4.5.4: January 29, 2021)
The Space object function vis_SpacePointIdtran has been optimized for multiple calls to the function. (4.5.4: January 21, 2021)
The Contour object now supports the PrimType visualization context. In particular the VIS_PRIM_ARRAY type is required to force countour point and line primitives with vertex normals to be output using PolyPointArray and PolyLineArray drawing functions. (4.5.1: June 4, 2020)
The CPair object now supports cyclic symmetric surface pairs and associated parameters. (4.5.1: June 4, 2020)
The MassPrp object function vis_MassPrpCompute now uses double precision internally. (4.5.1: April 22, 2020)
The Connect object functions vis_ConnectFaceGroup and vis_ConnectEdgeGroup now have a number of additional options to generate useful face and edge groups depending upon an element association value. These operations include CONNECT_ASSOCDIFF, CONNECT_UNIQUEASSOCDIFF, CONNECT_FEATUREASSOCDIFF and CONNECT_UNIQUEASSOC. (4.5.1: February 27, 2020)
The Edge, Face and Cell modules now have the functions vis_EdgeRST, vis_FaceRST and vis_CellRST to return the natural coordinates of the center and nodes. (4.5.0: November 20, 2019)
The State module function vis_StateDerivative now will compute normalized gradients of a scalar field. This is useful for generating normal vectors of an isosurface for smooth lighting effects. (4.5.0: November 20, 2019)
The Space module functions vis_SpaceDupNodeIdTran, vis_SpacePointNodeIdTran, vis_SpacePointIdTran, vis_SpaceLineGroup, vis_SpacePlaneGroup and vis_SpaceBoxGroup are now threadsafe when called with a common Space object. (4.5.0: October 21, 2019)
The Space module function vis_SpaceNodeKernel has been added and must be called before using vis_SpaceDupNodeIdTran and vis_SpacePointNodeIdTran functions. (4.5.0: October 21, 2019)
The Space module function vis_SpaceKernel must be called before using vis_SpacePointIdTran, vis_SpaceLineGroup, vis_SpacePlaneGroup and vis_SpaceBoxGroup functions. (4.5.0: October 21, 2019)
The Connect module functions vis_ConnectEdgeGroup and vis_ConnectFaceGroup have been parallelized using OpenMP. (4.5.0: September 30, 2019)
The State module function vis_StateExtent has been parallelized using OpenMP. (4.5.0: September 30, 2019)
The GProp module now supports the Structural Damping Coefficient, GPROP_STIFF_DAMP. (4.5.0: September 25, 2019)
The State module parameter STATE_MAPDEFINED default is now enabled. (4.4.7.r3: Sept 19, 2019)
The State module function vis_StateTransform has been parallelized using OpenMP. (4.4.7: June 5, 2019)
The SurfMesh module now supports explicit input of geometry described by conic sections. (4.4.6: December 21, 2018)
The SurfMesh module option for generating a quad dominant mesh during quadrilateral meshing is now enabled by default. (4.4.5: September 24, 2018)
The TetMesh and VolMesh modules now propagate all edge and face associations to the nodes lying on the respective entities. (4.4.5: August 6, 2018)
The GProp module now supports the Auto SPC flag, GPROP_AUTOSPC. (4.4.5: August 6, 2018)
The SurfMesh module now meshes geometry defined by simple triangle input more robustly. (4.4.4: April 10, 2018)
The SurfMesh module has been enhanced to create "washers" around cone singularities and small holes. These localized structured meshes ensure proper meshing of these small features. Enable these features with the integer parameter settings SURFMESH_SINGWASHER for cone tips and SURFMESH_HOLEWASHER for small holes. By default these parameters are disabled. (4.4.4: March 20, 2018)
The ElemChk module function vis_ElemChkFaceWeight has been added to compute face based area node weights. (4.4.3.r3: January 17, 2018)
The VIS_MESH_MAXPROXOUTRATIO and VIS_MESH_MAXPROXINRATIO options have been removed. They are replaced by a single VIS_MESH_MAXPROXRATIO option. (4.4.3.r3: December 8, 2017)
The RedMat module now supports sparse matrices. (4.4.3.r3: October 31, 2017)
The VIS_MESH_JACOBIANRATIO option has been removed. (4.4.3.r1: October 18, 2017)
All unstructured meshing modules, CurvMesh, TriMesh, SurfMesh, TetMesh and VolMesh support generation of cubic Serendipity elements, ie. elements with 2 midside edge nodes. (4.4.3: May 16, 2017)The RProp module now supports RPROP_LINK_INDEX. (4.4.3: April 21, 2017)
The SProp module now supports node and element sets to restrict results output. (4.4.3: April 21, 2017)
The EProp module now supports structural damping coefficients EPROP_SDAMP, EPROP_SDAMPTRA and EPROP_SDAMPROT. (4.4.3: March 16, 2017)
The GProp module now supports multiple symmetry (eg. cyclic) groups. A new element association has been added, VIS_SYMMID, symmetry group identifier to identify the symmetry group to which each element belongs. (4.4.2: December 19, 2016)
The SurfMesh module now supports querying for the list of input points which are not connected to any input triangle. (4.4.2: Novermber 29, 2016)
The ElemChk module now supports computation of the maximum ratio of the distance of a midside node from the center of the edge to the length of the edge for all edges in an element with midside nodes. (4.4.2: November 2, 2016)
The RedMat module internal precision default is now double precision. (4.4.2: September 29, 2016)
The Connect module function vis_ConnectElemIdTran has been added to derive useful regions of elements. Examples include regions of elements suitable for stress averaging and regions of connected, topologically similar elements. (4.4.2: August 17, 2016)The Space module functions vis_SpacePlaneGroup and vis_SpaceBoxGroup are now sensitive to the distance tolerance parameter. (4.4.2: July 22, 2016)
The SurfMesh, CurvMesh and TriMesh module default growth rate is now 2.0. (4.4.2: June 30, 2016)
The State module query functions have been made thread safe, ie "const". (4.4.1: May 18, 2016)
The SurfMesh module function vis_SurfMeshComputeArea, the TetMesh function vis_TetMeshComputeVolume and the TriMesh function vis_TriMeshComputeArea have been added. (4.4.1: April 22, 2016)
The SurfMesh module now supports generating identical meshes on periodic faces. (4.4.1: April 8, 2016)
The State, History and ElemDat modules may now manage a "scalars" data type with up to 256 values per entity. (4.4.0: February 26, 2016)The TriMesh and TetMesh modules now support Delaunay triangulation/tetrahedralization of point sets. The boundary is the convex hull of the point set. (4.4.0: February 2, 2016)
The State module has added a function to convert engineering strain to tensor strain and vice versa, vis_StateConvertStrain. A function has also been added to convert complex real/imaginary values to magnitude/phase and vice versa, vis_StateConvertComplex. (4.4.0: January 15, 2016)
Several modules have been enhanced to support complex valued data. The LCase and RCase modules provide support for complex valued load and restraints. The State, History, ElemDat and RedMat modules provide support for complex valued solution results. (4.4.0: December 14, 2015)
The CurvMesh module has been altered to accept input line segment tangents and implement writing and reading of the geometry and meshing input. (4.4.0: December 14, 2015)
The SProp module now supports solution properties required for mode based frequency response analysis. (4.3.6: November 10, 2015)
The State module function vis_StateWrite no longer supports writing to Patran neutral files. (4.3.6: October 27, 2015)
The State module now supports element integration point data. The entity subtype SYS_INTPNT is used. (4.3.6: October 16, 2015)
The Connect module now supports setting and querying the number of element integration points using the functions vis_ConnectSetNumEIP and vis_ConnectNumEIP respectively. (4.3.6: October 1, 2015)
The EProp, MProp, GProp and SProp modules have been extended to add a function to query for the number of defined value types. (4.3.6: August 28, 2015)
The Units module function vis_UnitsGetDesc has been added to return a descriptive string for each unit type. (4.3.6: August 12, 2015)
The ElemDat module now supports two new quality measures, corner node geometry based quadrilateral warp and skew. (4.3.6: August 11, 2015)
The SurfMesh module now supports explicit quadrilateral warp and quad/tri skew quality control. The edges of quadrilateral elements are now aligned to the directions of principal surface curvature. (4.3.6: August 10, 2015)
The SurfMesh module now supports quad dominant mesh generation. The quality of quadrilateral surface meshes has been improved. (4.3.5: May 13, 2015)
The TriMesh module now uses exact arithmetic during boundary recovery. (4.3.5: May 13, 2015)
The SProp module now supports output requests for history results. It also supports the notion of control of the amplitude of any applied load case as a function of any solution unknown at a "sensor" node. (4.3.5: May 6, 2015)
The History module can now add data at any number of steps, expanding automatically when the number of steps exceeds the original definition. The vis_HistoryCopy function has been added. (4.3.5: May 6, 2015)
The IsoLabel module has been added to generate appropriate text labels for contour lines. (4.3.4: March 5, 2015)
The State module has been extended to support element face/node and element edge/node data. (4.3.3: January 19, 2015)
The ElemDat module has been extended to fully support polygon and polyhedral cell shapes. (4.3.3: January 19, 2015)
The SProp module now supports an element set of deleted elements. (4.3.3: November 25, 2014)
The LCase module now supports distributed radiation loading. (4.3.2: November 21, 2014)
The GProp module now supports the Stefan Boltzmann constant and absoute zero temperature. (4.2.3: November 21, 2013)
The ASurf module now supports facetted and trimmed NURBS analytic surfaces. (4.3.2: November 14, 2014)
The SurfMesh module now supports specifying element sizing within a given depth of an input triangle using vis_SurfMeshSetTriDepthSizing. (4.3.2: November 7, 2014)
The History module functions vis_HistorySetDataLayers and vis_HistoryDataLayers have been added to support arbitrary section point numbering. (4.3.1: July 30, 2014)
The Tess module has been optimized and the performance is vastly improved for large cases. (4.3.1: July 17, 2014)
The Stream and Trace modules now set an exit status of VIS_STREAMCOMPUTE if an inverted or otherwise degenerate element is encountered. The coordinate conversion functions vis_StreamConvertCoord and vis_TraceConvertCoord no longer call the error handler if a coordinate conversion error occurs. Two new functions, vis_StreamGetConvert and vis_TraceGetConvert have been added to explicitly return the coordinate conversion error status. (4.3.1: June 17, 2014)
The TetMesh and VolMesh modules now support specifying element sizing within a given depth of the input boundary triangles and faces using the vis_TetMeshSetTriDepthSizing and vis_VolMeshSetFaceDepthSizing respectively. (4.3.1: June 9, 2014)
The SurfMesh, TetMesh and VolMesh modules now support specifying element sizing with simple geometric shapes using the functions vis_SurfMeshSetGeomSizing, vis_TetMeshSetGeomSizing and vis_VolMeshSetGeomSizing respectively. (4.3.1: June 9, 2014)
The GProp module has been extended to support cyclic symmetry number of sectors and coordinate system. (4.3.1: May 12, 2014)
The VolMesh module now supports the automatic generation of pyramid elements to transition from quadrilateral boundary faces to interior tetrahedra. (4.3.0: March 17, 2014)
The SurfMesh module parameter VIS_MESH_CHORDHEIGHT has been added to allow a global chord height control for element sizing on curved surfaces. The VIS_MESH_MAPDETECT parameter now works for both triangular and quadrilateral meshing. (4.3.0: March 17, 2014)
The UProp module is now exposed and used as an attribute object. The IdTran module now accepts a UProp attribute object. (4.3.0: January 14, 2014)
The State and RProp modules have been extended to support SYS_PARTICLE type results. (4.3.0: December 23, 2013)
Existing Application Programming Interface Changes
The CPair module functions vis_CPairMasterSlaveElemNum and vis_CPairMasterSlaveElem have been removed. (4.5.4: January 22, 2021)
The State module function vis_StateDirCos has been changed to return the direction cosine matrices for a single entity. (4.4.7: June 5, 2019)
The State module function vis_StateElemType has been removed. (4.4.3.r3: November 28, 2017)
The EProp module property EPROP_XYZOFF has been changed to EPROP_OFFSETVEC. (4.4.3: May 31, 2017)
The RedMat module function vis_RedMatNum has been changed to return the number of entries as a Vlong. (4.4.3: March 27, 2017)
The RProp module function vis_RPropSetSect has been deprecated. (4.4.2: October 6, 2016)
The CurvMesh module function ConnectDef has been changed. Only linear line segment geometry input is allowed. The function vis_CurvMeshSetLineTang has been added to specify tangent vectors at line segment end points. (4.4.0: December 14, 2015)
The CPair module Group functions have been replaced by a equivalent IdTran functions. (4.3.6: October 19, 2015)
The ElemDat module Group functions have been replaced by a single function vis_ElemDatIdTran. The function vis_ElemDatFlag has been replaced by vis_ElemDatDataStat. (4.3.5: May 21, 2015)
The Model and State modules no longer support quantized and half precision. (4.3.5: May 20, 2015)
The ColorMap functions vis_ColorMapSetObject and vis_ColorMapValue have been removed. Use vis_ColorMapValueDrawFun instead. (4.3.2: November 20, 2014)
The TransMap functions vis_TransMapSetObject and vis_TransMapValue have been removed. Use vis_TransMapValueDrawFun instead. (4.3.2: November 20, 2014)
The SurfMesh module parameter VIS_MESH_NUMELEMENTS has been removed. (4.3.0: November 20, 2013)
The TetMesh and VolMesh module parameter VIS_MESH_CORNERQUAL has been removed. (4.3.0: November 1, 2013)
The TetMesh module parameter TETMESH_SEPARATEBODY has been removed. (4.3.0: October 17, 2013)