public class HexElement extends FemElement3d
ModelComponent.NavpanelVisibility
Modifier and Type | Field and Description |
---|---|
static double[] |
INTEGRATION_COORDS_GAUSS_27 |
static double[] |
INTEGRATION_COORDS_GAUSS_64 |
static double[] |
INTEGRATION_COORDS_GAUSS_8 |
static double[] |
INTEGRATION_COORDS_LOBATTO_27 |
static double[] |
INTEGRATION_COORDS_LOBATTO_64 |
static double[] |
INTEGRATION_COORDS_LOBATTO_8 |
static double[] |
NODAL_EXTRAPOLATION_27 |
static double[] |
NODAL_EXTRAPOLATION_64 |
static double[] |
NODAL_EXTRAPOLATION_8 |
myProps
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
COPY_REFERENCES
TRANSPARENT, TWO_DIMENSIONAL
Constructor and Description |
---|
HexElement() |
HexElement(FemNode3d[] nodes) |
HexElement(FemNode3d n0,
FemNode3d n1,
FemNode3d n2,
FemNode3d n3,
FemNode3d n4,
FemNode3d n5,
FemNode3d n6,
FemNode3d n7)
Creates a HexElement from eight nodes.
|
Modifier and Type | Method and Description |
---|---|
void |
addTetElement(TetElement e) |
void |
clearTetElements() |
static double |
computeVolume(FemNode3d n1,
FemNode3d n2,
FemNode3d n3,
FemNode3d n4,
FemNode3d n5,
FemNode3d n6,
FemNode3d n7,
FemNode3d n8) |
boolean |
coordsAreInside(Vector3d coords) |
HexElement |
copy(int flags,
java.util.Map<ModelComponent,ModelComponent> copyMap)
Create a copy of this component.
|
static double[] |
createHexIntegrationCoords(double[] locs,
double[] wgts)
Computes hexahedral integration coordinates using a tensor product
of the supplied 1D quadrature rule.
|
IntegrationPoint3d[] |
getDefaultIntegrationPoints() |
void |
getdNds(Vector3d dNds,
int i,
Vector3d coords) |
int[] |
getEdgeIndices() |
int[] |
getFaceIndices() |
HexElement[] |
getFaceNeighbors() |
double[] |
getIntegrationCoords() |
IntegrationPoint3d[] |
getIntegrationPoints() |
double |
getN(int i,
Vector3d coords) |
double[] |
getNodalExtrapolationMatrix() |
double[] |
getNodeCoords() |
int |
getParity() |
FaceNodes3d[] |
getQuadFaces() |
TetElement |
getTetElement(int i) |
IntegrationPoint3d |
getWarpingPoint() |
boolean |
hasEdge(FemNode3d n0,
FemNode3d n1) |
boolean |
hasFace(FemNode3d n0,
FemNode3d n1,
FemNode3d n2,
FemNode3d n3) |
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.
|
static boolean |
mapICoordsToNodes(double[] coords) |
static boolean |
mapIPointsToNodes(IntegrationPoint3d[] ipnts,
double[] nodalInterp,
FemNode3d[] nodes) |
int |
numIntegrationPoints() |
int |
numTetElements() |
boolean |
removeTetElement(TetElement e) |
void |
render(Renderer renderer,
RenderProps props,
int flags) |
void |
renderWidget(Renderer renderer,
double size,
RenderProps props) |
void |
setFaceNeighbors(HexElement[] nbrs) |
void |
setIntegrationPoints(IntegrationPoint3d[] ipnts,
double[] nodalExtrapMat) |
void |
setIntegrationPoints(IntegrationPoint3d[] ipnts,
double[] nodalExtrapMat,
boolean mapToNodes) |
int |
setNeighborParities()
Rescursively sets the partities of a nodes neighbors, starting with this
element, so as to try and obtain conforming tesselation.
|
void |
setNodalExtrapolationMatrix(double[] nem) |
static void |
setParities(java.util.List<HexElement> hexes) |
void |
setParity(int parity) |
TetElement[] |
tesselate(int parity) |
addAuxiliaryMaterial, addNodeForce, addNodeStiffness, clearState, computeCentroid, computeCovariance, computeDirectedRenderSize, computeGravityWeights, computeJacobian, computePosition, computePressures, computeRenderCoordsAndGradient, computeRestVolumes, computeVolumes, computeWarping, connectToHierarchy, createElement, createElement, createFrameAttachment, createIntegrationPoints, createPointAttachment, disconnectFromHierarchy, getAllPropertyInfo, getAuxiliaryMaterials, getCopyReferences, getElementWidgetSize, getElementWidgetSizeMode, getFaces, getFrame, getH, getIncompressConstraints, getIncompressIndex, getIntegrationData, getLagrangePressures, getMarkerCoordinates, getNaturalCoordinates, getNaturalCoordinates, getNaturalCoordinatesGSS, getNaturalCoordinatesOld, getNaturalCoordinatesStd, getNodeCoords, getNodeNeighbors, getNodes, getNumEdges, getNumFaces, getPoint, getPressureWeightMatrix, getRestVolumes, getStiffnessWarper, getVolumes, getWarpingData, hasFace, invalidateRestData, isInvertedAtRest, materialsAreInvertible, numAuxiliaryMaterials, numPoints, numPressureVals, removeAuxiliaryMaterial, scaleDistance, setElementWidgetSize, setElementWidgetSizeMode, setFrame, setIncompressIndex, setStiffnessWarper, triangulateFace, updateBounds
containsNode, createRenderProps, getDensity, getDensityMode, getEffectiveMaterial, getHardReferences, getIndex, getLocalNodeIndex, getMass, getMaterial, getRestVolume, getSelection, getVolume, hasActiveNodes, hasControllableNodes, integrationPointsInterpolateToNodes, isDuplicatable, isInverted, isMassExplicit, numberString, numNodes, prerender, propertyChanged, render, scaleMass, setDensity, setDensityMode, setIndex, setInverted, setMass, setMassExplicit, setMaterial, updateRestVolumeAndMass
getRenderHints, getRenderProps, isSelectable, numSelectionQueriesNeeded, setRenderProps, updateRenderProps
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, hasState, isConnectedToHierarchy, isFixed, isMarked, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setSelected, updateReferences, write
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences
getProperty
getChildren, hasChildren
isWritable, write
public static final double[] INTEGRATION_COORDS_GAUSS_8
public static final double[] INTEGRATION_COORDS_GAUSS_27
public static final double[] INTEGRATION_COORDS_GAUSS_64
public static final double[] INTEGRATION_COORDS_LOBATTO_8
public static final double[] INTEGRATION_COORDS_LOBATTO_27
public static final double[] INTEGRATION_COORDS_LOBATTO_64
public static final double[] NODAL_EXTRAPOLATION_8
public static final double[] NODAL_EXTRAPOLATION_27
public static final double[] NODAL_EXTRAPOLATION_64
public HexElement()
public HexElement(FemNode3d n0, FemNode3d n1, FemNode3d n2, FemNode3d n3, FemNode3d n4, FemNode3d n5, FemNode3d n6, FemNode3d n7)
public HexElement(FemNode3d[] nodes)
public boolean integrationPointsMapToNodes()
integrationPointsMapToNodes
in class FemElement
true
if there is a one-to-one mapping between
integration points and nodespublic IntegrationPoint3d[] getDefaultIntegrationPoints()
public void setIntegrationPoints(IntegrationPoint3d[] ipnts, double[] nodalExtrapMat)
public void setIntegrationPoints(IntegrationPoint3d[] ipnts, double[] nodalExtrapMat, boolean mapToNodes)
public IntegrationPoint3d[] getIntegrationPoints()
getIntegrationPoints
in class FemElement3d
public IntegrationPoint3d getWarpingPoint()
getWarpingPoint
in class FemElement3d
public boolean coordsAreInside(Vector3d coords)
coordsAreInside
in class FemElement3d
public int numIntegrationPoints()
numIntegrationPoints
in class FemElement3d
public double[] getIntegrationCoords()
getIntegrationCoords
in class FemElement3d
public double[] getNodeCoords()
getNodeCoords
in class FemElement3d
public void setNodalExtrapolationMatrix(double[] nem)
public double[] getNodalExtrapolationMatrix()
getNodalExtrapolationMatrix
in class FemElement3d
public double getN(int i, Vector3d coords)
getN
in class FemElement3d
public void getdNds(Vector3d dNds, int i, Vector3d coords)
getdNds
in class FemElement3d
public int[] getEdgeIndices()
getEdgeIndices
in class FemElement3d
public int[] getFaceIndices()
getFaceIndices
in class FemElement3d
public int getParity()
public void setParity(int parity)
public void setFaceNeighbors(HexElement[] nbrs)
public HexElement[] getFaceNeighbors()
public void addTetElement(TetElement e)
public boolean removeTetElement(TetElement e)
public void clearTetElements()
public int numTetElements()
public TetElement getTetElement(int i)
public TetElement[] tesselate(int parity)
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 FemElement3d
public static double computeVolume(FemNode3d n1, FemNode3d n2, FemNode3d n3, FemNode3d n4, FemNode3d n5, FemNode3d n6, FemNode3d n7, FemNode3d n8)
public boolean isInside(Point3d pnt)
isInside
in class FemElement3d
pnt
- point to check if is insidepublic FaceNodes3d[] getQuadFaces()
public int setNeighborParities()
public static void setParities(java.util.List<HexElement> hexes)
public boolean hasEdge(FemNode3d n0, FemNode3d n1)
hasEdge
in class FemElement3d
public boolean hasFace(FemNode3d n0, FemNode3d n1, FemNode3d n2, FemNode3d n3)
hasFace
in class FemElement3d
public HexElement copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
CopyableComponent
COPY_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 CopyableComponent
copy
in class FemElement3d
flags
- flags to control the copyingcopyMap
- map to possible existing instances of referenced
componentspublic static double[] createHexIntegrationCoords(double[] locs, double[] wgts)
locs
- 1D locations in [-1 1]wgts
- associated weightspublic static boolean mapIPointsToNodes(IntegrationPoint3d[] ipnts, double[] nodalInterp, FemNode3d[] nodes)
public static boolean mapICoordsToNodes(double[] coords)