*update1delements

Updates 1D beams, bars, and rods, and optionally assigns properties. Alternatively, properties and offset can be calculated from a section cut on the model.

Syntax

*update1delements <option1>=<value1> <option2>=<value2> ... <optionN>=<valueN>

Type

HyperMesh Tcl Modify Command

Description

Updates 1D beams, bars, and rods, and optionally assigns properties. Alternatively, updates the element property and offset as the result of a section cut on target entities (geometry or elements). This computes sectional properties and materials from intersected entities. Orientation remains unchanged and the offset is calculated in the elemental system from elements position relative to the calculated shear center. This option is exclusive and cannot be used along with regular orient, offset, and property update.

Inputs

adjustoffset=<value>
Adjust the offset when offsetflag=1. Valid values are all, reset, and vert.
allshells=<value>
Flag to consider all neighboring shells. For orientation, use usereference=1, orientflag=1 and orientmethod=auto. For offset, use usereference=0 and offsetflag=1.
0 - Do not consider neighboring shells.
1 - Consider neighboring shells.
connectiontol=<value>
The maximum distance for autoweld on two separated domain loops. It is only applied to inflated domains (surface cut and 2D element cut). This is used only when updating 1D elements using a section cut.
Value < 0.0 - Autoweld is applied in all cases.
Value = 0.0 - No autoweld is applied (default).
Value > 0.0 - Autoweld is applied between two domains only if the minimum perpendicular distance between both domains is less than the connectiontol value.
consolidateprops=<value>
Flag to define if properties should be consolidated. This is used only if consolidationtol is equal to or greater than 0.0.
If true, only one PBEAM property is created for each unique beam section-material pair.
consolidationtol=<value>
The tolerance value (percentage) to consolidate similar beam sections while applying a section cut. If the maximum relative variation for the area, inertias, and warping constant between two beam sections is less than the tolerance value, both beam sections are considered as equivalent. In that case, only one unique beam section is created.
Value < 0.0 - No consolidation is done.
Value > 0.0 - Consolidation is done between all beam sections computed at once on the same section cut process.
contacttol=<value>
The maximum contact distance between two separated domains; this applies to meshed domains. This is used only when updating 1D elements using a section cut. Default is 1.0.
Value < 0.0 - The maximum contact value is considered as 0.8-times the average element size.
Value = 0.0 - No contact.
Value > 0.0 - Defines the maximum contact distance between elements from two different domain loops. The contact is then ensured by a classical MPC method, using a mortar finite element method.
createpropfromdata=<flag>
This is used to create property from metadata. This is used only when propflag=1, usereference=1, and propmethod=bydata.
0 - Do not create property (default).
1 - Create property.
createsketch=<flag>
The flag to create a sketch if updated by section cut.
0 - Do not create sketch (default).
1 - Create sketch.
cutlocation=<label>
Section cut location. This is used only when updating 1D elements using a section cut.
Start – Section cut location at the start node of the 1D element.
Mid – Section cut location at the mid of the 1D element.
End – Section cut location at the end node of the 1D element.
0.0 to 1.0 – Parametric location to define the cut (variable cut).
Taper – Location of the section cut at both ends of the 1D element based on taper angle.
If cutlocation is not defined, the plane base point is considered as the section cut location.
defaultmaterial=<value>
Flag accounting for material in section cut. This is used for elastic sectiontype. If the value is not set to geometric, the average moment of inertia is evaluated considering Young's modulus and Poisson’s ratio from entity intersected by a plane. It results in the evaluation of stiffness terms as EA /EIyy /EIzz /GJ of the full section. The material impacts the centroid, shear centre location, and warping properties. If a region is fully defined (no mix of entities with and without material assigned), the max, mean, nearest, and user values are ignored. If a region is missing material property, this parameter defines how to consider material for undefined regions.
geometric - Section properties are derived from the area moments of inertia without considering any material. You can select a target material to assign to the created property.
max - Applies the highest Young's modulus (and related Nu) from the list of materials seen in intersection.
mean - Applies the averaged Young's modulus (and Nu) from the list of materials seen in intersection.
nearest - Applies the highest Young's modulus (and related Nu) from the closest region with material assigned.
user - Applies target material for this region. This requires material selection.
detatchelements=<label>
Flag to define if 1D elements should be detached from the model. If true and if the 1D element is sharing a node with 2D or 3D elements, the start and/or end node is duplicated.
inputentitytype=<entity_type>
The type of input entity. Valid value is elems. This is used only when usereference=0.
inputmark=<mark_id>
The ID of the mark of input entities. Valid values are 1 and 2. This is used only when usereference=0.
mergetol=<value>
The merge tolerance to close gaps while updating by section cut. If sectiontype=shell, all segments extremities in tolerance are merged. If sectiontype=solid and targetenttype=SURFS, or targetenttype=ELEMS for 2D elements, segments in tolerance are merged to create closed loops.
offsetends=<method>
The method of offsetting element ends. This is used only when offsetflag=1. Valid values are start (offset at start/end A), end (offset at end/end B), and startend (offset at both ends).
offsetflag=<flag>
0 - Do not update element offset values.
1 - Update element offset values.
offsetlateral=<value>
The lateral offset direction. Valid values are pos or neg. This is used when offsetflag=1.
offsetmethod=<method>
The element offset method. This is used only when offsetflag=1. Valid values are:
auto (when adjustoffset=auto).
reset (when adjustoffset=reset).
tocentroid - Add offset to match beamsection centroid.
toorigin - Add offset to match beamsection shear center.
offsetnormal=<value>
The normal offset direction. Valid values are pos or neg. This is used when offsetflag=1.
orient=<value>
0 - Do not update element orientation using autoupdate1delements.
1 - Update element orientation using autoupdate1delements. This is used only when orientflag=1 and orientmethod=auto.
orientdatatype=<method>
Provide a label as metadata, which uses inclination information stored as metadata. This is used only when orientflag=1, usereference=1, and orientmethod=bydata.
orientflag=<flag>
0 - Do not update element orientation.
1 - Update element orientation, use orientmethod.
orientmetadataent=<entity_type>
The entity type to use for metadata. Valid value is lines. This is used only when orientflag=1, usereference=1 and orientmethod=bydata.
orientmetadatamark=<mark_id>
The ID of the mark for orientmetadataent. This is used only when orientflag=1, usereference=1, and orientmethod=bydata.
orientmetadataname=<label>
Provide a label as metadata name where orientation inclination exists. This is used only when orientflag=1, usereference=1, and orientmethod=bydata.
orientmetadatatype=<label>
Provide a label as byentity, to use metadata from the entity. This is used only when orientflag=1, usereference=1 and orientmethod=bydata.
orientmethod=<method>
The element orientation method. Valid values are auto (normal to plates), bydata, bynodeid, and bysystem. This is used only when orientflag=1.
orientnodeid=<id>
The ID of the orientation node. This is used only when orientflag=1 and orientmethod=bynodeid
orientsysid=<id>
The ID of the orientation system. This is used only when orientflag=1 and orientmethod=bysystem
orientvector=<id>
The ID of the orientation vector. This is used only when orientflag=1 and orientmethod=bysystem
planebase={<value>}
Location of the plane for the section cut. This is used only when cutlocation is not provided and when updating 1D elements using a section cut.
planeheight=<value>
Height of the plane to define finite plane for the section cut. This is used only when updating 1D elements using a section cut.
planenormal={<value>}
Normal of the plane for the section cut. This is used only when cutlocation is not provided and when updating 1D elements using a section cut.
planewidth=<value>
Width of the plane to define finite plane for the section cut. This is used only when updating 1D elements using a section cut.
propcardimage=<value>
Defines the card image of the property created from input beamsection.
propdatalabel=<label>
Provide a label as metadata, which uses property information stored as metadata. If beam section exists, a beam property is created. If thickness exists, a shell property is created. This is used only when propflag=1, usereference=1 and propmethod=bydata.
0 - Do not update label.
1 - Update label.
propflag=<flag>
Used to update the property on the elements or components.
0 - Do not update property.
1 - Update property.
propid=<id>
The ID of the property to apply to elements or components. This is used only when propflag=1 and propmethod=byid.
propmetadataentitytype=<entity_type>
The entity type to use for metadata. Valid value is lines. This is used only when propflag=1, usereference=1 and propmethod=bydata.
propmetadatamark=<mark_id>
The ID of the mark for propmetadataentitytype. This is used only when propflag=1, usereference=1 and propmethod=bydata.
propmetadatatype=<label>
Provide a label as byentity, to use metadata from the entity. This is used only when propflag=1, usereference=1 and propmethod=bydata.
propmethod=<method>
The method of updating the property. Valid values are bydata and byid. This is used only when propflag=1.
refentid=<entity_id>
The ID of the material to be assigned to the 1D property. This is used only when updating 1D elements using a section cut.
refentmark=<mark_id>
The ID of the mark of reference entities. Valid values are 1 and 2. This is used only when usereference=1.
refentname=<name>
The name of the material to be assigned to the 1D property. This is used only when updating 1D elements using a section cut.
refentsearchtol=<tolerance>
The search tolerance used by the reference entity (default = -1). This is used only when usereference=1.
refenttype=<entity_type>
The type of reference entity. Valid entities are lines and materials. This is used only when usereference=1. Materials entity is only supported when updating 1D elements using a section cut.
refmethod=<method>
Use metadata from the input entity. Valid value is byentity. This is used only when usereference=1.
sectiontype=<value>
The type of beamsection. Valid values are elastic (default), shell, or solid.
taperangle=<value>
Angle between the adjacent 1D elements. This is used only when cutlocation=taper.
If the angle formed by 2 adjacent elements is lower than this threshold limit, a single cut is done at common node. The same beam section entity is assigned to both elements (considering the correct end station per element). If the angle is greater than the threshold value, a cut is performed per adjacent element using its x-axis as the plane normal.
This is used only when updating 1D elements using a section cut.
targetenttype=<entity_type>
The type of target entity. Valid values are elements, surfaces, and solids. This is used only when updating 1D elements using a section cut.
targetmark=<mark_id>
The ID of the mark for target entities. Valid values are 1 and 2. This is used only when updating 1D elements using a section cut.
thickness=<method>
The method of assigning shell thickness in case multiple neighboring shells have different thickness values. This is used only when offsetflag=1. Valid values are avg, max and min.
translatebeam=<value>
New position to translate the 1D element after executing a section cut. Valid values are:
none - No translation is done (default).
shearcenter - 1D element is translated to a beam section shear center.
centroid - 1D element is translated to a beam section centroid.
usercompsbydata=<flag>
Used only when propflag=1 and either propmethod=bymethod and usereference=1, or propmethod=byid.
0 - Do not apply property to components (default).
1 - Apply property to components.
usereference=<flag>
0 - Update elements from user input (default).
1 - Update elements by using metadata from entities.
vertexangle=<value>
The angle used to smooth curves while defining the beamsection topology. Valid values are 0 to 90 (default = 60).

Examples

Update 1D elements using a section cut:
*createmark elements 1 300-305
*createmark elements 2 586-591 619-638 652-658
Using single cut method with infinite plane and beam section and property consolidation, using a tolerance of 10%:
*update1delements inputenttype=elems inputmark=1 targetenttype=elems targetmark=2 planebase={700 0 0} planenormal={1 0 0} refentid=1 connectiontol=0.0 contacttol=-1.0 consolidationtol=10.0 consolidateprops=1
Using single cut method with finite plane:
*update1delements inputenttype=elems inputmark=1 targetenttype=elems targetmark=2 planebase={502.6 206.1 38} planenormal={0 0 -1} planewidth=200 refentid=1 planeheight=200 connectiontol=0.0 contacttol=-1.0 detatchelements=1 translatebeam=shearcenter
Using variable cut method with infinite plane and translating 1D elements to beam section shear center:
*update1delements inputenttype=elems inputmark=1 targetenttype=elems targetmark=2 cutlocation=0.5 connectiontol=0.0 contacttol=-1.0 detatchelements=1 translatebeam=shearcenter
Using variable cut method with finite plane:
*update1delements inputenttype=elems inputmark=1 targetenttype=elems targetmark=2 planewidth=10 planeheight=10 cutlocation=0.5 connectiontol=0.0 contacttol=-1.0
Using taper cut method with infinite plane:
*update1delements inputenttype=elems inputmark=1 targetenttype=elems targetmark=2 cutlocation=taper taperangle=15 connectiontol=0.0 contacttol=-1.0
Using taper cut method with finite plane:
*update1delements inputenttype=elems inputmark=1 targetenttype=elems targetmark=2 planewidth=10 planeheight=10 cutlocation=taper taperangle=15 connectiontol=0.0 contacttol=-1.0
To add offset to match shear center:
*createmark elems 1 "by config" bar2
*update1delements inputenttype=elem inputmark=1 offsetflag=1 offsetmethod=toorigin

Errors

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

Version History

2020

2021.1 Added new options connectiontol, contacttol, cutlocation, planebase, planeheight, planenormal, planewidth, refentid, refentname, refentsearchtol, refenttype, taperangle, targetenttype, and targetmark.

2021.2 - Added new options consolidationtol, consolidateprops, detatchelements, and translatebeam.

2022 - Added new values "tocentroid" and "toorigin" to the offsetmethod option.

2022.1 2022.1 – Added new optional arguments defaultmaterial, propcardimage and sectiontype.

2022.2 - Added new sectiontype value solid and new options createsketch and mergetol.

2022.3 - Added new option vertexangle.