public class PyramidElement extends FemElement3d
FemElement.ElementClass
ModelComponent.NavpanelVisibility
myProps
setScannedNodesInPostscan, writeNodeRefsByNumber
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
COPY_REFERENCES, REST_POSITION
TRANSPARENT, TWO_DIMENSIONAL
Constructor and Description |
---|
PyramidElement() |
PyramidElement(FemNode3d[] nodes) |
PyramidElement(FemNode3d n1,
FemNode3d n2,
FemNode3d n3,
FemNode3d n4,
FemNode3d n5)
Creates a PyramidElement from five nodes.
|
Modifier and Type | Method and Description |
---|---|
boolean |
coordsAreInside(Vector3d coords)
Queries whether or not a set of natural coordinates are inside this
element.
|
static PyramidElement[] |
createCubeTesselation(FemNode3d p0,
FemNode3d p1,
FemNode3d p2,
FemNode3d p3,
FemNode3d p4,
FemNode3d p5,
FemNode3d p6,
FemNode3d p7,
int apexNode)
Create a tesselation for a cubic configuration of nodes, using a 3
pyramids.
|
void |
getdNds(Vector3d dNds,
int i,
Vector3d coords) |
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() ). |
double |
getN(int i,
Vector3d coords) |
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.
|
boolean |
integrationPointsMapToNodes()
Queries whether there is a one-to-one mapping between integration points
and nodes.
|
boolean |
isInside(Point3d pnt)
Tests whether or not a point is inside an element.
|
int |
numIntegrationPoints()
Returns the number of integration points actually used by this element
(not including the warping point, if any).
|
void |
render(Renderer renderer,
RenderProps props,
int flags) |
void |
renderWidget(Renderer renderer,
double size,
RenderProps props) |
computeJacobian, computeLocalPosition, computeRestVolumes, computeVolumes, copy, createElement, createElement, getH, getIncompressConstraints, getIncompressIndex, getLagrangePressures, getPressureWeightMatrix, getRestVolumes, getVolumes, numPressureVals, scaleDistance, setIncompressIndex
addConsistentGravity, addConsistentMass, advanceState, clearRotationData, computeConsistentMass, computeCovariance, computeDirectedRenderSize, computeGravityWeights, computeRenderCoordsAndGradient, connectToHierarchy, containsEdge, containsFace, containsFace, containsNode, createFrameAttachment, createIntegrationPoints, createPointAttachment, disconnectFromHierarchy, getAllIntegrationPoints, getAllPropertyInfo, 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, invalidateRestData, invalidateRotationData, isInvertedAtRest, notifyStateVersionChanged, numAllIntegrationPoints, requiresAdvance, setElementWidgetSize, setElementWidgetSizeMode, setFrame, setNodes, setState, setStiffnessWarper, triangulateFace
addAugmentingMaterial, 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, invalidateMassIfNecessary, isDuplicatable, isInverted, isLinear, isMassExplicit, materialsAreInvertible, numAugmentingMaterials, numAuxiliaryMaterials, numberString, numNodes, numPoints, prerender, propertyChanged, removeAugmentingMaterial, removeAuxiliaryMaterial, render, scaleMass, setDensity, setDensityMode, setExplicitMass, setIndex, setInverted, setMass, setMaterial, setPlasticDeformation, unsetExplicitMass, updateBounds, updateRestVolumeAndMass
getRenderHints, getRenderProps, isSelectable, isVisible, numSelectionQueriesNeeded, setRenderProps, setVisible, updateRenderProps
checkFlag, 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, write
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, setWritable, updateReferences
getProperty
getChildren, hasChildren
postscan
isWritable, write
getAuxVarDerivative, getAuxVarState, numAuxVars, setAuxVarState
public PyramidElement()
public PyramidElement(FemNode3d n1, FemNode3d n2, FemNode3d n3, FemNode3d n4, FemNode3d n5)
public PyramidElement(FemNode3d[] nodes)
public boolean integrationPointsMapToNodes()
integrationPointsMapToNodes
in class FemElement
true
if there is a one-to-one mapping between
integration points and nodespublic IntegrationPoint3d[] getIntegrationPoints()
FemElement3dBase
FemElement3dBase.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 FemElement3dBase
public IntegrationPoint3d getWarpingPoint()
FemElement3dBase
getWarpingPoint
in class FemElement3dBase
public boolean coordsAreInside(Vector3d coords)
FemElement3dBase
coordsAreInside
in class FemElement3dBase
true
if ncoords
are inside this element.public int numIntegrationPoints()
FemElement3dBase
FemElement3dBase.getIntegrationPoints()
, but in some cases (such as shell elements being
used as membrane elements), it will be less.numIntegrationPoints
in class FemElement3dBase
public double[] getIntegrationCoords()
FemElement3dBase
4*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 FemElement3dBase
public double[] getNodeCoords()
getNodeCoords
in class FemElement3dBase
public double[] getNodeMassWeights()
getNodeMassWeights
in class FemElement3dBase
public MatrixNd getNodalAveragingMatrix()
FemElement3dBase
FemElement3dBase.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 FemElement3dBase
public MatrixNd getNodalExtrapolationMatrix()
FemElement3dBase
FemElement3dBase.getIntegrationShapeMatrix()
.getNodalExtrapolationMatrix
in class FemElement3dBase
public double getN(int i, Vector3d coords)
getN
in class FemElement3dBase
public void getdNds(Vector3d dNds, int i, Vector3d coords)
getdNds
in class FemElement3dBase
public static PyramidElement[] createCubeTesselation(FemNode3d p0, FemNode3d p1, FemNode3d p2, FemNode3d p3, FemNode3d p4, FemNode3d p5, FemNode3d p6, FemNode3d p7, int apexNode)
apexNode
defines the node where all three pyramid
top nodes meet. This corner will be opposite the one where all
three quad faces meet.public void render(Renderer renderer, RenderProps props, int flags)
render
in class FemElement
public void renderWidget(Renderer renderer, double size, RenderProps props)
renderWidget
in class FemElement3dBase
public int[] getEdgeIndices()
getEdgeIndices
in class FemElement3dBase
public int[] getFaceIndices()
getFaceIndices
in class FemElement3dBase
public int[] getTriangulatedFaceIndices()
getTriangulatedFaceIndices
in class FemElement3dBase
public boolean isInside(Point3d pnt)
FemElement3dBase
isInside
in class FemElement3dBase
pnt
- point to check if is inside