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