public class PointFem3dAttachment extends PointAttachment
ModelComponent.NavpanelVisibilityenforceUniqueCompositeNames, enforceUniqueNames, myNumber, myProps, NULL_OBJ, useCompactPathNamesCOPY_REFERENCES| Constructor and Description | 
|---|
| PointFem3dAttachment() | 
| PointFem3dAttachment(Point pnt) | 
| PointFem3dAttachment(Point pnt,
                    FemModel3d fem) | 
| PointFem3dAttachment(Point pnt,
                    FemNode[] nodes,
                    double[] coords) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addMassToMaster(MatrixBlock mblk,
               MatrixBlock sblk,
               int idx) | 
| void | addMassToMasters() | 
| int | addTargetJacobian(SparseBlockMatrix J,
                 int bi) | 
| void | applyForces() | 
| void | computeNodeCoordinates() | 
| PointFem3dAttachment | copy(int flags,
    java.util.Map<ModelComponent,ModelComponent> copyMap)Create a copy of this component. | 
| static PointFem3dAttachment | create(Point pnt,
      FemElement3d elem,
      Point3d loc,
      double reduceTol)Create an attachment that connects a point to a FemElement
 within a specified element. | 
| double | getCoordinate(int idx) | 
| VectorNd | getCoordinates() | 
| void | getCurrentPos(Vector3d pos)Returns the current position of the attached point, in world coordinates. | 
| void | getCurrentVel(Vector3d vel,
             Vector3d dvel) | 
| boolean | getDerivative(double[] buf,
             int idx) | 
| FemElement | getElement() | 
| void | getHardReferences(java.util.List<ModelComponent> refs)Appends all hard references for this component to a list. | 
| FemNode[] | getNodes() | 
| void | getRestPosition(Point3d pos) | 
| void | mulSubG(MatrixBlock D,
       MatrixBlock B,
       int idx)Computes | 
| void | mulSubGT(double[] ybuf,
        int yoff,
        double[] xbuf,
        int xoff,
        int idx)Computes | 
| void | mulSubGT(MatrixBlock D,
        MatrixBlock B,
        int idx)Computes | 
| boolean | setFromElement(Point3d pos,
              FemElement elem) | 
| boolean | setFromElement(Point3d pos,
              FemElement elem,
              double reduceTol) | 
| void | setFromFem(Point3d pos,
          FemModel3d fem) | 
| boolean | setFromFem(Point3d pos,
          FemModel3d fem,
          boolean project) | 
| void | setFromNodes(java.util.Collection<? extends FemNode> nodes,
            VectorNd weights) | 
| void | setFromNodes(FemNode[] nodes,
            double[] weights) | 
| boolean | setFromNodes(Point3d pos,
            java.util.Collection<? extends FemNode> nodes) | 
| boolean | setFromNodes(Point3d pos,
            FemNode[] nodes) | 
| void | updateAttachment()Update attachment to reflect changes in the slave state. | 
| void | updatePosStates() | 
| void | updateVelStates() | 
| void | writeItems(java.io.PrintWriter pw,
          NumberFormat fmt,
          CompositeComponent ancestor) | 
getCopyReferences, getMasterBlocks, getMasters, getPoint, getSlave, getSlaveSolveIndex, invalidateMasters, isDuplicatable, numMastersaddAttachmentJacobian, addBackRefs, addSolveBlocks, clone, connectToHierarchy, containsLoop, containsLoops, containsMaster, createOrderedList, disconnectFromHierarchy, oneMasterActive, reduceConstraints, reduceMass, reduceRowMatrix, removeBackRefscheckFlag, checkName, checkNameUniqueness, clearFlag, createTempFlag, getAllPropertyInfo, 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, writeequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitconnectToHierarchy, disconnectFromHierarchy, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferencesgetAllPropertyInfo, getPropertygetChildren, hasChildrenisWritable, writepublic PointFem3dAttachment()
public PointFem3dAttachment(Point pnt)
public PointFem3dAttachment(Point pnt, FemModel3d fem)
public FemElement getElement()
public void setFromNodes(java.util.Collection<? extends FemNode> nodes, VectorNd weights)
public boolean setFromNodes(Point3d pos, java.util.Collection<? extends FemNode> nodes)
public void setFromNodes(FemNode[] nodes, double[] weights)
public boolean setFromElement(Point3d pos, FemElement elem)
public boolean setFromElement(Point3d pos, FemElement elem, double reduceTol)
public void setFromFem(Point3d pos, FemModel3d fem)
public boolean setFromFem(Point3d pos, FemModel3d fem, boolean project)
public VectorNd getCoordinates()
public double getCoordinate(int idx)
public void updatePosStates()
updatePosStates in class DynamicAttachmentpublic void getCurrentPos(Vector3d pos)
PointAttachmentgetCurrentPos in class PointAttachmentpos - used to return current point positionpublic void updateVelStates()
updateVelStates in class DynamicAttachmentpublic void updateAttachment()
updateAttachment in class DynamicAttachmentpublic void applyForces()
applyForces in class PointAttachmentpublic void getRestPosition(Point3d pos)
public void mulSubGT(MatrixBlock D, MatrixBlock B, int idx)
DynamicAttachment
       T
 D -= G  B
 
 where D and B are matrices associated with master and slave components,
 respectively, and G is the constraint matrix for the attachment.D - dependent matrix associated with a master componentB - matrix associated with a slave componentpublic void mulSubG(MatrixBlock D, MatrixBlock B, int idx)
DynamicAttachmentD -= B Gwhere D and B are matrices associated with master and slave components, respectively, and G is the constraint matrix for the attachment.
D - dependent matrix associated with a master componentB - matrix associated with a slave componentpublic void mulSubGT(double[] ybuf,
                     int yoff,
                     double[] xbuf,
                     int xoff,
                     int idx)
DynamicAttachment
       T
 y -= G  x
 
 where y and x are vectors associated with master and slave components,
 respectively, and G is the constraint matrix for the attachment.ybuf - buffer into which to store resultyoff - offset into ybufxbuf - buffer containing right hand side vectorxoff - offset into xbufidx - master component indexpublic void writeItems(java.io.PrintWriter pw,
                       NumberFormat fmt,
                       CompositeComponent ancestor)
                throws java.io.IOException
writeItems in class PointAttachmentjava.io.IOExceptionpublic int addTargetJacobian(SparseBlockMatrix J, int bi)
addTargetJacobian in class PointAttachmentpublic void computeNodeCoordinates()
public static PointFem3dAttachment create(Point pnt, FemElement3d elem, Point3d loc, double reduceTol)
pnt - Point to be attachedelem - FemElement3d to attach the point toloc - point location with respect to the element. If null,
 will be assumed to be pnt.getPosition().reduceTol - try to reduce the number of attached nodes by
 removing those whose coordinate values are less then this number.
 A value of zero ensures no reduction. If reduction is desired,
 a value around 1e-5 is reasonable.public void addMassToMasters()
addMassToMasters in class DynamicAttachmentpublic void addMassToMaster(MatrixBlock mblk, MatrixBlock sblk, int idx)
public boolean getDerivative(double[] buf,
                             int idx)
getDerivative in class DynamicAttachmentpublic FemNode[] getNodes()
public void getHardReferences(java.util.List<ModelComponent> refs)
ModelComponentBasegetHardReferences in interface ModelComponentgetHardReferences in class DynamicAttachmentrefs - list to which hard references are appendedpublic PointFem3dAttachment 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 PointAttachmentflags - flags to control the copyingcopyMap - map to possible existing instances of referenced
 components