public class QuadhexElement extends FemElement3d
FemElement.ElementClassModelComponent.FilePathSaveType, ModelComponent.NavpanelVisibilitymyPropssetScannedNodesInPostscan, writeNodeRefsByNumberenforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNamesCOPY_REFERENCES, REST_POSITIONTRANSPARENT, TWO_DIMENSIONAL| Constructor and Description |
|---|
QuadhexElement() |
QuadhexElement(FemNode3d[] nodes) |
QuadhexElement(HexElement hex,
FemNode3d[] quadraticNodes)
Create a QuadhexElement based on the NODE POSITIONS of a given
HexElement (i.e.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
coordsAreInside(Vector3d coords)
Queries whether or not a set of natural coordinates are inside this
element.
|
void |
getdNds(Vector3d dNds,
int i,
Vector3d coords) |
int[] |
getEdgeIndices() |
int[] |
getFaceIndices() |
double |
getH(int i,
Vector3d coords)
Returns the value of the pressure shape function.
|
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 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() |
Matrix |
getPressureWeightMatrix()
Returns the pressure weight matrix for this element.
|
static FemNode3d[] |
getQuadraticNodes(FemNode3d n0,
FemNode3d n1,
FemNode3d n2,
FemNode3d n3,
FemNode3d n4,
FemNode3d n5,
FemNode3d n6,
FemNode3d n7) |
static FemNode3d[] |
getQuadraticNodes(HexElement hex) |
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 |
isLinear()
Returns true if the shape functions for this element are linear or
multilinear.
|
int |
numIntegrationPoints()
Returns the number of integration points actually used by this element
(not including the warping point, if any).
|
int |
numPressureVals()
Returns the number of pressure variables associated with this element.
|
void |
render(Renderer renderer,
RenderProps props,
int flags) |
void |
renderWidget(Renderer renderer,
double size,
RenderProps props) |
FemNode3d[][] |
triangulateFace(FaceNodes3d face) |
computeJacobian, computeLocalPosition, computeRestVolumes, computeVolumes, copy, createElement, createElement, getIncompressConstraints, getIncompressIndex, getLagrangePressures, getRestVolumes, getVolumes, scaleDistance, setIncompressIndexaddConsistentGravity, 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, isInside, isInvertedAtRest, notifyStateVersionChanged, numAllIntegrationPoints, requiresAdvance, setElementWidgetSize, setElementWidgetSizeMode, setFrame, setNodes, setState, setStiffnessWarperaddAugmentingMaterial, 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, isMassExplicit, materialsAreInvertible, numAugmentingMaterials, numAuxiliaryMaterials, numberString, numNodes, numPoints, prerender, propertyChanged, removeAugmentingMaterial, removeAuxiliaryMaterial, render, 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, waitgetHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, setWritable, updateReferencesgetPropertygetChildren, hasChildrenpostscanisWritable, writegetAuxVarDerivative, getAuxVarState, numAuxVars, setAuxVarStatepublic QuadhexElement(HexElement hex, FemNode3d[] quadraticNodes)
hex - A hexahedral elementquadraticNodes - the 12 edge nodespublic QuadhexElement(FemNode3d[] nodes)
public QuadhexElement()
public boolean isLinear()
FemElementisLinear in class FemElementpublic 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 IntegrationPoint3d getWarpingPoint()
FemElement3dBasegetWarpingPoint in class FemElement3dBasepublic static FemNode3d[] getQuadraticNodes(HexElement hex)
public static FemNode3d[] getQuadraticNodes(FemNode3d n0, FemNode3d n1, FemNode3d n2, FemNode3d n3, FemNode3d n4, FemNode3d n5, FemNode3d n6, FemNode3d n7)
public boolean coordsAreInside(Vector3d coords)
FemElement3dBasecoordsAreInside in class FemElement3dBasetrue if ncoords are inside this element.public 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 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 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 getN(int i,
Vector3d coords)
getN in class FemElement3dBasepublic int numPressureVals()
numPressureVals in class FemElement3dpublic double getH(int i,
Vector3d coords)
getH in class FemElement3di - index of the pressure variable; should be less
than the value returned by FemElement3d.numPressureVals()coords - coordinates at which the shape function should
be evaluated.public Matrix getPressureWeightMatrix()
FemElement3dBy default, this method returns a pressure weight matrix for the case where there is only one pressure value. Such matrices always have a single value of 1. Elements with a larger number of pressure values should override this method to return a pressure weight matrix appropriate for that element.
getPressureWeightMatrix in class FemElement3dpublic void getdNds(Vector3d dNds, int i, Vector3d coords)
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 void render(Renderer renderer, RenderProps props, int flags)
render in class FemElementpublic void renderWidget(Renderer renderer, double size, RenderProps props)
renderWidget in class FemElement3dBasepublic FemNode3d[][] triangulateFace(FaceNodes3d face)
triangulateFace in class FemElement3dBase