Model.morphupdateparameter#

Model.morphupdateparameter(parameter, value)#

Updates integer/real morphing parameters.

Parameters:
  • parameter (hwString) –

    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.

    • 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:

      > -1: Remesh all morphed elements since the last remesh.

      < -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: Rremesh 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 - Lagrangeinear static ()

      2 - Non-linear explicit ()

      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 (double) – The new value of the parameter.

Example#

Update the current bias style for handles to sinusoidal#
import hm
import hm.entities as ent

model = hm.Model()

model.morphupdateparameter(parameter="biasstyle", value=1)