public class ShellTriElement extends ShellElement3d
FemElement.ElementClassModelComponent.FilePathSaveType, ModelComponent.NavpanelVisibility| Modifier and Type | Field and Description |
|---|---|
static double[] |
INTEGRATION_COORDS_GAUSS_9 |
static double[] |
INTEGRATION_COORDS_MEMBRANE |
myPropssetScannedNodesInPostscan, writeNodeRefsByNumberenforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNamesCOPY_REFERENCES, REST_POSITIONTRANSPARENT, TWO_DIMENSIONAL| Constructor and Description |
|---|
ShellTriElement()
End of variables and static blocks declarations
|
ShellTriElement(FemNode3d[] nodes,
double thickness,
boolean membrane)
Creates a new triangle element from three nodes, arranged
counter-clockwise around the elements outer facing normal.
|
ShellTriElement(FemNode3d p0,
FemNode3d p1,
FemNode3d p2,
double thickness)
Creates a new triangle element from three nodes, arranged
counter-clockwise around the elements outer facing normal.
|
ShellTriElement(FemNode3d p0,
FemNode3d p1,
FemNode3d p2,
double thickness,
boolean membrane)
Creates a new triangle element from three nodes, arranged
counter-clockwise around the elements outer facing normal.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
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.
|
boolean |
coordsAreInside(Vector3d coords)
Queries whether or not a set of natural coordinates are inside this
element.
|
void |
getdNds(Vector3d dNds,
int n,
Vector3d rst)
Compute 1st derivative of shape function of particular node.
|
int[] |
getEdgeIndices() |
int[] |
getFaceIndices() |
double[] |
getIntegrationCoords()
Returns the natural coordinates and weights for the default integration
points associated with this element.
|
IntegrationPoint3d[] |
getIntegrationPoints()
Returns the integration points associated with this element, not
including the warping point (see
FemElement3dBase.getWarpingPoint()). |
int[] |
getInverseNodeOrdering()
Returns a node index reordering that inverts the element volume ( or
flips its orientation for shell elements).
|
double |
getN(int n,
Vector3d rst)
Compute shape function of particular node.
|
MatrixNd |
getNodalAveragingMatrix()
Returns the nodal averaging matrix for this element, used for
extrapolating values from the integration points to the element nodes for
purposes of computing average nodal values.
|
MatrixNd |
getNodalExtrapolationMatrix()
Returns the nodal extrapolation matrix for this element.
|
double[] |
getNodeCoords() |
double[] |
getNodeMassWeights() |
int[] |
getTriangulatedFaceIndices() |
IntegrationPoint3d |
getWarpingPoint()
Returns the special warping integration point which is located at
the center of the element and is used for computing stiffness warping and
other specialized applications.
|
double |
nearestPoint(Point3d near,
Point3d pnt) |
int |
numIntegrationPoints()
Returns the number of integration points actually used by this element
(not including the warping point, if any).
|
int |
numPlanarIntegrationPoints()
Number of integration points in the shell plane.
|
void |
render(Renderer renderer,
RenderProps props,
int flags) |
void |
renderWidget(Renderer renderer,
double size,
RenderProps props) |
void |
setNodes(FemNode3d p0,
FemNode3d p1,
FemNode3d p2) |
computeJacobian, computeLocalPosition, computeRestVolumes, computeVolumes, connectToHierarchy, copy, createElement, disconnectFromHierarchy, doComputeVolume, getAllPropertyInfo, getDefaultThickness, invalidateRestData, setDefaultThicknessaddConsistentGravity, addConsistentMass, advanceState, clearRotationData, computeConsistentMass, computeCovariance, computeDirectedRenderSize, computeGravityWeights, computeRenderCoordsAndGradient, containsEdge, containsFace, containsFace, containsNode, createFrameAttachment, createIntegrationPoints, createPointAttachment, getAllIntegrationPoints, getCopyReferences, getDeformation, getDeformation, getElementClass, getElementWidgetSize, getElementWidgetSizeMode, getFaces, getFemModel, getFrame, getIntegrationData, getIntegrationShapeMatrix, getInvB, getInvB, getMarkerCoordinates, getNaturalCoordinates, getNaturalCoordinates, getNaturalCoordinatesGSS, getNodeCoords, getNodeNeighbors, getNodes, getNumFaces, getRotation, getRotation, getState, getStiffnessWarper, getWarpingData, invalidateRotationData, isInside, isInvertedAtRest, notifyStateVersionChanged, numAllIntegrationPoints, 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, 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 final double[] INTEGRATION_COORDS_GAUSS_9
public static final double[] INTEGRATION_COORDS_MEMBRANE
public ShellTriElement()
public ShellTriElement(FemNode3d p0, FemNode3d p1, FemNode3d p2, double thickness)
public ShellTriElement(FemNode3d p0, FemNode3d p1, FemNode3d p2, double thickness, boolean membrane)
public ShellTriElement(FemNode3d[] nodes, double thickness, boolean membrane)
public double getN(int n,
Vector3d rst)
getN in class FemElement3dBasen - Node indexrst - Integration point (i.e. Gauss point)public void getdNds(Vector3d dNds, int n, Vector3d rst)
getdNds in class FemElement3dBasepublic double[] getNodeCoords()
getNodeCoords in class FemElement3dBasepublic double[] getNodeMassWeights()
getNodeMassWeights in class FemElement3dBasepublic int[] getInverseNodeOrdering()
FemElement3dBasegetInverseNodeOrdering in class FemElement3dBasepublic int[] getEdgeIndices()
getEdgeIndices in class FemElement3dBasepublic int[] getFaceIndices()
getFaceIndices in class FemElement3dBasepublic int[] getTriangulatedFaceIndices()
getTriangulatedFaceIndices in class FemElement3dBasepublic double[] getIntegrationCoords()
FemElement3dBase4*num, where num is the number of
coordinates, and the information for each coordinate consists of a
4-tuple giving the three natural coordinates followed by the weight.getIntegrationCoords in class FemElement3dBasepublic int numIntegrationPoints()
FemElement3dBaseFemElement3dBase.getIntegrationPoints(), but in some cases (such as shell elements being
used as membrane elements), it will be less.numIntegrationPoints in class FemElement3dBasepublic IntegrationPoint3d[] getIntegrationPoints()
FemElement3dBaseFemElement3dBase.getWarpingPoint()). In
some cases, such as with membrane elements, only the first n
points of these points are actaully used, where n is the number
returned by FemElement3dBase.numIntegrationPoints().getIntegrationPoints in class FemElement3dBasepublic int numPlanarIntegrationPoints()
ShellElement3dnumPlanarIntegrationPoints in class ShellElement3dpublic IntegrationPoint3d getWarpingPoint()
FemElement3dBasegetWarpingPoint in class FemElement3dBasepublic boolean coordsAreInside(Vector3d coords)
FemElement3dBasecoordsAreInside in class FemElement3dBasetrue if ncoords are inside this element.public MatrixNd getNodalAveragingMatrix()
FemElement3dBaseFemElement3dBase.getNodalExtrapolationMatrix().
However, since the purpose of this matrix is for computing nodal
averages, simpler matrices can sometimes be used, such as an identity or
permutation matrix that assigns the value at each node to that of a
specific integration point. Element subclasses may override this method
to supply such simplified matrices.getNodalAveragingMatrix in class FemElement3dBasepublic MatrixNd getNodalExtrapolationMatrix()
FemElement3dBaseFemElement3dBase.getIntegrationShapeMatrix().getNodalExtrapolationMatrix in class FemElement3dBasepublic double nearestPoint(Point3d near, Point3d pnt)
nearestPoint in class ShellElement3dpublic double computeRestNodeNormal(Vector3d nrm, FemNode3d node)
ShellElement3dcomputeRestNodeNormal in class ShellElement3dpublic double computeNodeNormal(Vector3d nrm, FemNode3d node)
ShellElement3dcomputeNodeNormal in class ShellElement3dpublic void render(Renderer renderer, RenderProps props, int flags)
render in class FemElementpublic void renderWidget(Renderer renderer, double size, RenderProps props)
renderWidget in class FemElement3dBase