*morphupdateparameter

Updates integer/real morphing parameters.

Syntax

*morphupdateparameter parameter value

Type

HyperMesh Tcl Modify Command

Description

This command updates integer/real morphing parameters.

Inputs

parameter
The parameter of interest. Valid parameters are:
handlesize: the display size, in model units, of morphing handles
symsize: the display size, in model units, of morphing symmetries
morphconstraintsize: the display size, in model units or screen units, of morphing constraints
  • Real > 0.0 = value is size in model units
  • Real < 0.0 = absolute value is size in screen units
domainicons: show icons at the centroids of domains
  • 0 – hide icons
  • 1 – show icons
mvdraw: number of points along morph volume edges during drawing
mvgraph: style of graphics for morph volumes
  • 0 – wireframe
  • 1 – light tint
  • 2 – opaque
  • 3 – medium tint
  • 4 – heavy tint
edgedomaincolor: color for edge domains
  • Range is 1 through 64 inclusive
facedomaincolor: color for 2d domains
  • Range is 1 through 64 inclusive
soliddomaincolor: color for 3d domains
  • Range is 1 through 64 inclusive
domaincolor: color for 1d, global, and general domains
  • Range is 1 through 64 inclusive
facecolor: color for shell elements created on 3d domains
  • Range is 1 through 64 inclusive
mvcolor: color for morph volumes
  • Range is 1 through 64 inclusive
symcolor: color for symmetries
  • Range is 1 through 64 inclusive
symlinks: apply handle morphing to other handles linked by symmetry
  • 0 - all off
  • 1 - on (only active symmetries will be applied)
constraints: apply constraints after morphing
  • 0 - all off
  • 1 - on (only active morphconstraints will be applied)
midnodes: method for adjusting element midnodes during morphing
  • 0 - No correction
  • 1 - Force midpoint
  • 2 - Hold current
  • 3 - Curve edge domains
  • 4 - Curve 2D domains
minstepdist: minimum step size (in model units) for interactive morphing
minstepangle: minimum step size (in degrees) for interactive morphing
handletolerance: no larger than 1/10th of handle size - used to calculate a number of small tolerance measures in HyperMorph
biasstyle: type of biasing used for handles
  • 0 - exponential
  • 1 - sinusoidal
influencethreshold: minimum influence of a handle over a node
  • Real number greater than zero and less than 1.0
qaparam: element quality check to be displayed after each morph – where noted (+/-) use negative values for minimum check, positive values for maximum check
  • 0 – Off
  • 1 - 1D length (+/-)
  • 2 - 2D warpage
  • 3 - 2D skew
  • 4 - 2D aspect ratio
  • 5 - 2D length (+/-)
  • 6 - 2D jacobian
  • 7 - 2D chordal deviation
  • 8 - 2D quad angle (+/-)
  • 9 - 2D tria angle (+/-)
  • 10 - 3D warpage
  • 11 - 3D aspect
  • 12 - 3D tetra altitude aspect
  • 13 - 3D skew
  • 14 - 3D volumetric skew
  • 15- 3D length (+/-)
  • 16 - 3D jacobian
  • 17 - 3D tetra collapse
  • 18 - 3D quad angle (+/-)
  • 19 - 3D tria angle (+/-)
  • 23 - All elements time step
  • 24 – 2D Equia skew
  • 25 - 2D Squish
  • 26 – 2D Taper
  • 27 – 3D Squish
  • 28 – 3D Equia Skew
  • 29 – 3D Orthogonality
  • 30 – 3D Size Ratio
  • 99 – Quality Index
qavalue: the upper or lower failure limit for element quality
qaplot: type of plotting of failed elements during element quality check
  • 0 - highlight failed elements
  • 1 - used color assigned plot
qanegjac: scan morphed elements for negative Jacobians after each morph
  • 0 - off
  • 1 - on
smoothmeth: method used for automatic smoothing (use positive values to smooth after interactive morphing, negative value to smooth during interactive morphing)
  • 0 - none
  • 1 - autoselect
  • 2 - size corrected
  • 3 - shape corrected
  • 4 - angle corrected
  • 5 - QI optimized
  • 6 - kriging (or autodecide for elements outside of local domains)
  • 7 - kriging (or size corrected for elements outside of local domains)
  • 8 - kriging (or shape corrected for elements outside of local domains)
  • 9 - kriging (or angle corrected for elements outside of local domains)
  • 10 - kriging (or QI optimized for elements outside of local domains)
  • 11 - kriging (ignore elements outside of local domains)
  • 12 – unsquish (fast)
  • 13 – unsquish (even)
  • 14 – unsquish (best)
smoothiter: number of iterations for smoothmeth (options 1 - 4 and 6 - 9 only)
remesh: when remeshing after morphing occurs
  • 0 - off
  • 1 - manual
  • 2 - on release
rmlast: remesh interval – use “hm_getoption morph_remeshing_interval” to retrieve the current value for this option, if the value is:
  • Greater than -1: remesh all morphed elements since the last remesh
  • Less than -8: remesh only morphed elements for the most recent morph
  • to change from one mode to the other set to (current_value * -1.0) – 10.0
rmstyle: remesh or rebuild the morphed mesh
  • 0 – Remesh
  • 1 – Rebuild
remeshtype: elements used when auto-remeshing
  • 0 - trias
  • 1 - quads
  • 2 - mixed
  • 3 - right trias
rmcalc: how the remeshing target element size is set
  • 0 – Average elements to be remeshed
  • 1 – Use element size in the criteria file
  • 2 – Set value manually
remeshtarg: target size of remeshed elements during auto-remeshing
rmedges: remesh edge domains during auto-remeshing
  • 0 - do not remesh edge domains
  • 1 - remesh edge domains
remeshfail: percentage of failed elements needed to trigger auto-remeshing
rmzone: how much of the morphed mesh to remesh
  • 0 – all morphed elements
  • 1 – only failed elements
  • 2 – failed elements + 1 row
  • 3 – failed elements + 2 rows
  • 4 – failed elements + 3 rows
remeshsize: bias toward similar element size during remeshing
  • 0 - off
  • 1 - on
remeshskew: use skew control when auto-remeshing
  • 0 - off
  • 1 - on
remeshpres: preserve shapes when auto-remeshing
  • 0 - off
  • 1 - on
rmthreed: remesh 3D elements with pyras and tretras during auto-remeshing
  • 0 - do not remesh 3D and 2D face domains
  • 1 - remesh 3D and 2D face domains
mvon: morphing of entities inside of morph volumes
  • -1 – inactive and skin only
  • 0 – inactive
  • 1 – active
  • 2 – active and skin only
mvmode: method for calculating morph volume edge curvature
  • 0 - Lagrange
  • 1 - spline
mvreparam: either maintain the initial continuity between linked edges or reset it
  • 0 – maintain during morphing and during adjustment
  • 1 – maintain during morphing but reset after adjustment
  • 2 – reset during morphing but maintain after adjustment
  • 3 – reset during morphing and after adjustment
mvtol: 0.0 - 1.0, mapping tolerance - accuracy increases as tolerance decreases
mvconnreg: which connectors get registered to morphvolumes during creation and after adjustment
  • 0 – all
  • 1 – displayed connectors
  • 2 - none
mvconnreal: treatment of registered connectors during morphing
  • 0 – maintain
  • 1 – unrealize
  • 2 – unrealize + rerealize
connectors: style of morphing for connectors (add 10 to use the large domain solver to smooth over distortions in the mesh around clusters during morphing)
  • 0 – use domains/morph volumes
  • 1 - solve all as clusters
  • 2 - solve all as stretchable
  • 3 - solve seam and area connectors as stretchable and others as clusters
  • 4 – as 3 above but treat equations as clusters
  • 5 – as 3 above but do not apply special treatment to equations
onedrot: rotation of clusters (1d domains and morphconstraints), connectors, and equations
  • 0 - no rotation
  • 1 - tilting only (out-of-plane)
  • 2 - spinning only (in-plane)
  • 3 - full rotation
globalsystemid: ID of system used for morphing (use 0 for the global system)
globalmethod: method for passing down perturbations of global handles to the mesh
  • 1 - direct (to nodes)
  • 2 - hierarchical (to local handles)
  • 3 - mixed method (to local handles or nodes directly if outside local domains)
globalsolve: method for solving global domains
  • 1 - geometric
  • 2 - spatial
  • 3 - kriging
onedmethod: method used to determine the relationship between 1D domains and their surrounding domains
  • 1 - independent
  • 2 - secondary
  • 3 - main
  • 4 - cluster
savemorphlist: save morph list with HM binary format file
  • 0 – do not save morph list with file
  • 1 – save morph list with file
morphlibarch: if the morphing library is used and what the preferred computation method is for it
  • 0 – Do not use morphing library (large domain solver)
  • 1 – Use morphing library but only with single CPU
  • 2 – Use morphing library with multiple CPUs
  • 3 – Use morphing library and use GPU if available
bigdomainsolve: when the large domain solver runs
  • 0 - manual
  • 1 - on release
  • 2 - real time
morphlibunfold: whether the large domain solver runs when the mesh gets folded
  • 0 – never unfold
  • 1 – ask to unfold
  • 2 – always unfold
bigdomainlimit: smallest number of elements in domain for it to be considered a "large domain"
fesolver: type of solver to use for small domains
  • 0 - influence coefficients
  • 1 – linear static (OptiStruct)
  • 2 - non-linear explicit (Radioss)
  • 3 - kriging
fesolve: when the small domain solver runs
  • 0 - manual
  • 1 - on release
  • 2 - real time (interactive)
fesolverlimit: number of elements at or below which a domain is considered a small domain
feuser: properties used when running linear static or nonlinear explicit small domain solvers
  • 0 - automatically generate properties and materials
  • 1 - use properties and materials in the model
qaautofix: invoke the large domain solver to unfold small domains which become folded during morphing
  • 0 – off
  • 1 – autofix on release
  • 2 – autofix in real time (interactive)
kriging: when the kriging solver runs
  • 0 - off
  • 1 - manual
  • 3 - automatic
krigtype: kriging will be applied to the following entities:
  • 0 - none
  • 1 - global domains
  • 2 - local domains
  • 3 - local and global domains
  • 4 - morph volumes
  • 5 - morph volumes and global domains
  • 6 - morph volumes and local domains
  • 7 - morph volumes, local, and global domains
krigdrift: drift value for kriging
  • 0 - none
  • 1 - constant
  • 2 - linear
  • 3 - quadratic
  • 4 - cubic
  • 5 - trigonometric
krigcovar: covariance value for kriging
  • 0 - h
  • 1 - h^2 * log(h)
  • 2 - h^3
  • 3 - exp(-1/x)
krignugget: use nugget value
  • 0 - off
  • 1 - on
krignugval: value of nugget used for kriging
ires: when to display fea results after morphing
  • 0 - off
  • 1 - manual
  • 2 - on release
  • 3 - real time
irescon: plotting style for fea results
  • 0 - contour plot
  • 1 - assign plot
iresmin: set the scale minimum value for fea results plotting
  • 0 - find minimum value
  • 1 - use value given in iresminval
iresminval: value of scale minimum used when plotting fea results
iresmax: set the scale maximum value for fea results plotting
  • 0 - find maximum value
  • 1 - use value given in iresmaxval
iresmaxval: value of scale maximum used when plotting fea results
irescomp: results component for fea results plotting
  • 0 - magnitude
  • 1 - x component
  • 2 - y component
  • 3 - z component
iresmesh: color of mesh during fea results plotting
  • Range is 1 through 64 inclusive
iresmmres: minimum/maximum title plotting during fea results plotting
  • 0 - do not plot minimum and maximum titles
  • 1 - plot minimum and maximum titles
iresplinfo: info title plotting during fea results plotting
  • 0 - do not plot info titles
  • 1 - plot info titles
iressolver: solver used for fea results plotting
  • 1 - linear static
  • 2 - nonlinear explicit
  • 3 - stamping 1-step
  • 4 - stamping incremental
iresstmpx: x component of the stamping direction for the 1-step solver
iresstmpy: y component of the stamping direction for the 1-step solver
iresstmpz: z component of the stamping direction for the 1-step solver
partitionmethod: algorithm used for partitioning 2D domains which are at least 33%
  • 0 - element based
  • 1 - node based
partitionmethodtria: algorithm used for partitioning 2D domains which are at least 67% trias
  • 0 - element based
  • 1 - node based
domainangle: break angle, in degrees, for determining partition lines
partitionorder:
  • 1 - divide when angle exceeds the domainangle
  • 2 - divide when angle exceeds the domainangle and when the angle between elements changes more than the curvetolerance
curvetolerance: the tolerance value (in degrees) for curvature changes which determine partition lines
partitionusegeometry: partition along surface edges of associated geometry
  • 0 - off
  • 1 - on
partitionaddgeometry: merge partitioned domains and those created from geometry (where applicable)
  • 0 - off
  • 1 - on
internalpart: partition faces inside solid meshes
  • 0 - off
  • 1 - on
value
The new value of the parameter.

Example

To update the current biasing style for handles to sinusoidal:

*morphupdateparameter biasstyle 1

Errors

Incorrect usage results in a Tcl error. To detect errors, you can use the catch command:
if { [ catch {*morphupdateparameter...} ] } {
   # Handle error
}