public class NodeFrameNodeAttachment extends java.lang.Object implements DynamicAttachment
xw = R xl + p vw = vf - [R xl] wf + R vl
| Constructor and Description |
|---|
NodeFrameNodeAttachment(FemNode3d node,
FrameNode3d frameNode) |
| Modifier and Type | Method and Description |
|---|---|
void |
addBackRefs()
Every master component should contain a back reference to each
attachment that references it.
|
void |
addMassToMasters() |
void |
applyForces() |
boolean |
getDerivative(double[] buf,
int idx) |
MatrixBlock |
getGT(int idx)
Returns the transpose of the constraint matrix G associated
with the idx-th master component.
|
DynamicComponent[] |
getMasters() |
DynamicComponent |
getSlave()
Returns the slave DynamicMechComponent associated with this attachment.
|
void |
invalidateMasters() |
void |
mulSubGT(double[] ybuf,
int yoff,
double[] xbuf,
int xoff,
int idx)
Computes
|
void |
mulSubGTM(MatrixBlock D,
MatrixBlock M,
int idx)
Computes
|
void |
mulSubMG(MatrixBlock D,
MatrixBlock M,
int idx)
Computes
|
int |
numMasters() |
void |
removeBackRefs()
Removes the back reference to this attachment's slave component
from each of the master component.
|
void |
setSlaveAffectsStiffness(boolean affects) |
boolean |
slaveAffectsStiffness() |
void |
updateAttachment()
Update attachment to reflect changes in the slave state.
|
void |
updatePosStates() |
void |
updateVelStates() |
public NodeFrameNodeAttachment(FemNode3d node, FrameNode3d frameNode)
public boolean slaveAffectsStiffness()
slaveAffectsStiffness in interface DynamicAttachmentpublic void setSlaveAffectsStiffness(boolean affects)
setSlaveAffectsStiffness in interface DynamicAttachmentpublic void updateAttachment()
DynamicAttachmentupdateAttachment in interface DynamicAttachmentpublic void updatePosStates()
updatePosStates in interface DynamicAttachmentpublic void updateVelStates()
updateVelStates in interface DynamicAttachmentpublic void applyForces()
applyForces in interface DynamicAttachmentpublic DynamicComponent getSlave()
DynamicAttachmentnull.getSlave in interface DynamicAttachmentpublic void addMassToMasters()
addMassToMasters in interface DynamicAttachmentpublic boolean getDerivative(double[] buf,
int idx)
getDerivative in interface DynamicAttachmentpublic DynamicComponent[] getMasters()
getMasters in interface DynamicAttachmentpublic int numMasters()
numMasters in interface DynamicAttachmentpublic void invalidateMasters()
invalidateMasters in interface DynamicAttachmentpublic void mulSubMG(MatrixBlock D, MatrixBlock M, int idx)
DynamicAttachmentD -= M Gwhere D and M are matrices associated with master and slave components, respectively, and G is the constraint matrix for the attachment.
mulSubMG in interface DynamicAttachmentD - dependent matrix associated with a master componentM - matrix associated with a slave componentpublic MatrixBlock getGT(int idx)
DynamicAttachmentgetGT in interface DynamicAttachmentidx - index of the master componentpublic void mulSubGTM(MatrixBlock D, MatrixBlock M, int idx)
DynamicAttachment
T
D -= G M
where D and M are matrices associated with master and slave components,
respectively, and G is the constraint matrix for the attachment.mulSubGTM in interface DynamicAttachmentD - dependent matrix associated with a master componentM - 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.mulSubGT in interface DynamicAttachmentybuf - buffer into which to store resultyoff - offset into ybufxbuf - buffer containing right hand side vectorxoff - offset into xbufidx - master component indexpublic void addBackRefs()
DynamicAttachmentaddBackRefs in interface DynamicAttachmentpublic void removeBackRefs()
DynamicAttachmentremoveBackRefs in interface DynamicAttachment