*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.