computeB method

  1. @override
double computeB(
  1. double h
)
override

Computes the right hand side of the SPOOK equation

Implementation

@override
double computeB(double h) {
  final a = this.a;
  final b = this.b;
  final ni = axisA;
  final nj = axisB;
  final nixnj = _tmpVec1;
  final njxni = _tmpVec2;
  final ga = jacobianElementA;
  final gb = jacobianElementB;

  // Caluclate cross products
  ni.cross(nj, nixnj);
  nj.cross(ni, njxni);

  ga.rotational.copy(njxni);
  gb.rotational.copy(nixnj);

  final g = math.cos(maxAngle) - ni.dot(nj);
  final gW = computeGW();
  final giMf = computeGiMf();

  final B = -g * a - gW * b - h * giMf;

  return B;
}