public abstract class ShellElement3d extends FemElement3dBase implements Boundable, FrameAttachable
FemElement.ElementClassModelComponent.FilePathSaveType, ModelComponent.NavpanelVisibility| Modifier and Type | Field and Description |
|---|---|
static PropertyList |
myProps |
setScannedNodesInPostscan, writeNodeRefsByNumberenforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNamesCOPY_REFERENCES, REST_POSITIONTRANSPARENT, TWO_DIMENSIONAL| Constructor and Description |
|---|
ShellElement3d() |
| Modifier and Type | Method and Description |
|---|---|
void |
computeJacobian(Matrix3d J,
Vector3d ncoords) |
void |
computeLocalPosition(Vector3d pnt,
Vector3d ncoords)
Compute position within element based on natural coordinates
|
abstract double |
computeNodeNormal(Vector3d nrm,
FemNode3d node)
Computes the shell element normal, with respect to current coordinates,
at a specific node, and returns the (cross product) area associated with
that normal.
|
abstract double |
computeRestNodeNormal(Vector3d nrm,
FemNode3d node)
Computes the shell element normal, with respect to rest coordinates, at a
specific node, and returns the (cross product) area associated with that
normal.
|
double |
computeRestVolumes()
Computes the rest volume associated with this element and stores the
result in the
myRestVolume field. |
double |
computeVolumes()
Computes the volume associated with this element and stores the result in
the
myVolume field. |
void |
connectToHierarchy(CompositeComponent hcomp)
Called by the system after this component, or an ancestor of this
component, is added to the component hierarchy (i.e., added as
a child of another CompositeComponent).
|
ShellElement3d |
copy(int flags,
java.util.Map<ModelComponent,ModelComponent> copyMap)
Create a copy of this component.
|
static ShellElement3d |
createElement(FemNode3d[] nodes,
double thickness,
boolean membrane,
boolean flipped) |
void |
disconnectFromHierarchy(CompositeComponent hcomp)
Called by the system after this component, or an ancestor of this
component, is removed from the component hierarchy (i.e., removed as a
child of its parent).
|
double |
doComputeVolume(boolean isRest) |
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
double |
getDefaultThickness() |
void |
invalidateRestData()
Invalidate data that relies on the element's rest position,
such as rest Jacobians and the base stiffness for co-rotated
stiffness.
|
abstract double |
nearestPoint(Point3d near,
Point3d pnt) |
abstract int |
numPlanarIntegrationPoints()
Number of integration points in the shell plane.
|
void |
setDefaultThickness(double newThickness) |
addConsistentGravity, addConsistentMass, advanceState, clearRotationData, computeConsistentMass, computeCovariance, computeDirectedRenderSize, computeGravityWeights, computeRenderCoordsAndGradient, containsEdge, containsFace, containsFace, containsNode, coordsAreInside, createFrameAttachment, createIntegrationPoints, createPointAttachment, getAllIntegrationPoints, getCopyReferences, getDeformation, getDeformation, getdNds, getEdgeIndices, getElementClass, getElementWidgetSize, getElementWidgetSizeMode, getFaceIndices, getFaces, getFemModel, getFrame, getIntegrationCoords, getIntegrationData, getIntegrationPoints, getIntegrationShapeMatrix, getInvB, getInvB, getInverseNodeOrdering, getMarkerCoordinates, getN, getNaturalCoordinates, getNaturalCoordinates, getNaturalCoordinatesGSS, getNodalAveragingMatrix, getNodalExtrapolationMatrix, getNodeCoords, getNodeCoords, getNodeMassWeights, getNodeNeighbors, getNodes, getNumFaces, getRotation, getRotation, getState, getStiffnessWarper, getTriangulatedFaceIndices, getWarpingData, getWarpingPoint, invalidateRotationData, isInside, isInvertedAtRest, notifyStateVersionChanged, numAllIntegrationPoints, numIntegrationPoints, renderWidget, requiresAdvance, setElementWidgetSize, setElementWidgetSizeMode, setFrame, setNodes, setState, setStiffnessWarper, triangulateFaceaddAugmentingMaterial, addAuxiliaryMaterial, computeCentroid, containsNode, createRenderProps, defaultRenderPropsAreNull, getAugmentingMaterials, getAuxiliaryMaterials, getDensity, getDensityMode, getEffectiveMaterial, getHardReferences, getIndex, getLocalNodeIndex, getMass, getMaterial, getPlasticDeformation, getPoint, getRestVolume, getSelection, getStateVersion, getStrainEnergy, getVolume, hasActiveNodes, hasControllableNodes, hasState, integrationPointsInterpolateToNodes, integrationPointsMapToNodes, invalidateMassIfNecessary, isDuplicatable, isInverted, isLinear, isMassExplicit, materialsAreInvertible, numAugmentingMaterials, numAuxiliaryMaterials, numberString, numNodes, numPoints, prerender, propertyChanged, removeAugmentingMaterial, removeAuxiliaryMaterial, render, render, scaleDistance, scaleMass, setDensity, setDensityMode, setExplicitMass, setIndex, setInverted, setMass, setMaterial, setPlasticDeformation, unsetExplicitMass, updateBounds, updateRestVolumeAndMassgetRenderHints, getRenderProps, isSelectable, isVisible, numSelectionQueriesNeeded, setRenderProps, setVisible, updateRenderPropscheckFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, isFixed, isMarked, isScanning, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setScanning, setSelected, setWritable, updateReferences, writeequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcomputeCentroid, computeCovariance, getPoint, numPoints, updateBoundscreateFrameAttachmentcreatePointAttachmentgetHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, setWritable, updateReferencesgetPropertygetChildren, hasChildrenpostscanisWritable, writegetAuxVarDerivative, getAuxVarState, numAuxVars, setAuxVarStatepublic static PropertyList myProps
public PropertyList getAllPropertyInfo()
HasPropertiesgetAllPropertyInfo in interface HasPropertiesgetAllPropertyInfo in class FemElement3dBasepublic abstract int numPlanarIntegrationPoints()
public double computeVolumes()
FemElementmyVolume field.
The method should return the minimum Jacobian determinant ratio (det(J)/det(J0)) over all integration points. A negative value indicates that the element is "inverted" at one or more integration points.
computeVolumes in class FemElementpublic double computeRestVolumes()
FemElementmyRestVolume field.
The method should return the minimum Jacobian determinant (det(J0)) over all integration points. A negative value indicates that the element is "inverted" in its rest position at one or more integration points.
computeRestVolumes in class FemElementpublic double doComputeVolume(boolean isRest)
public double getDefaultThickness()
public void setDefaultThickness(double newThickness)
public void invalidateRestData()
FemElementinvalidateRestData in class FemElement3dBasepublic abstract double computeRestNodeNormal(Vector3d nrm, FemNode3d node)
public abstract double computeNodeNormal(Vector3d nrm, FemNode3d node)
public void computeLocalPosition(Vector3d pnt, Vector3d ncoords)
computeLocalPosition in class FemElement3dBasepnt - position within elementncoords - natural coordinatespublic void computeJacobian(Matrix3d J, Vector3d ncoords)
computeJacobian in class FemElement3dBasepublic void connectToHierarchy(CompositeComponent hcomp)
ModelComponentBase When this method is called, ModelComponent.getParent() will return the new
parent component; the system will have set this beforehand.
connectToHierarchy in interface ModelComponentconnectToHierarchy in class FemElement3dBasehcomp - hierarchy component to which this component,
or its ancestor, was attachedpublic void disconnectFromHierarchy(CompositeComponent hcomp)
ModelComponentBase When this method is called, ModelComponent.getParent() will still return this
original parent component; the system will set this to null
after.
disconnectFromHierarchy in interface ModelComponentdisconnectFromHierarchy in class FemElement3dBasehcomp - hierarchy component from which this component,
or its ancestor, was detachedpublic ShellElement3d copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
CopyableComponentCOPY_REFERENCES
is set in flags, then any component referenced
by this component should itself be set to a copy. This
should be done first checking copyMap for an
existing copy of the referenced component. If there is no existing
copy, then a copy should be created by calling copy
recursively and adding the new copy to copyMap.copy in interface CopyableComponentcopy in class FemElement3dBaseflags - flags to control the copyingcopyMap - map to possible existing instances of referenced
componentspublic static ShellElement3d createElement(FemNode3d[] nodes, double thickness, boolean membrane, boolean flipped)