*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
domcountforbig: if the number of 2D and 3D domains in the model exceeds this threshold, the large domain solver will be used for all of them instead of solving for influence coefficients, except for cases where the number of domains being morphed is 20 times less than this threshold
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
}

Version History

2024.1 - Added new parameter domcountforbig.