|
|
| Disk (const std::string &SimObjectName, ISimObjectCreator *const Creator) |
| |
|
void | FinalSetup (const double T, const double *const X, ISimObjectCreator *const Creator) |
| |
|
void | PreOdeFcn (double T, const double *X) override |
| | With CastWake: takes the disk axis from the Force input and rebuilds the wake when due.
|
| |
|
const double * | Position (const double T, const double *const X) |
| |
|
const double * | Velocity (const double T, const double *const X) |
| |
|
void | OdeFcn (const double T, const double *const X, double *const XDot) const |
| |
| bool | HasJacobians () const override |
| |
|
void | OdeJacobian (double T, const double *X, double *J, int nStates) override |
| |
|
int | GetJacobianSparsity (int nStates, int *rowPtr, int *colIdx) override |
| |
|
const environment::wake::BodyWake * | Wake () const |
| | The wake: null without an Environment or before FinalSetup.
|
| |
◆ HasJacobians()
| bool Disk::HasJacobians |
( |
| ) |
const |
|
override |
False while the disk was in contact with the seabed at the state of the last OdeFcn call: the soil load is not in OdeJacobian, so the engine's numerical Jacobian is used there (MARE-0134). HasJacobians is const and takes no state, so the contact it sees is that of the last OdeFcn call, which may have been at a perturbed or another stage's state, and there is none before the first call. FhSim reads it when it assembles the model (before any OdeFcn), to wire the solver's Jacobian, and again at each Jacobian assembly: a disk on the seabed at T = 0 is assembled as having an analytical Jacobian, and contact that starts between an OdeFcn and the next Jacobian evaluation gets the analytical block without the contact. Only the Newton matrix is affected, which may slow an implicit integrator at touchdown (MARE-0327, documented limitation; pinned by SimObject.Disk_HasJacobiansFollowsTheLastOdeFcnNotTheStateBeforeIt). OdeJacobian writes nothing while HasJacobians is false (FhSim's Jacobian checker, E12-Q3).
The documentation for this class was generated from the following file:
- webfhsim/reloadrepos/fhsim_marine_elements/src/net/Disk.h