1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.control.indirect.adjoint.cost;
18
19 import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
20 import org.hipparchus.geometry.euclidean.threed.Vector3D;
21 import org.hipparchus.util.Binary64;
22
23 public class TestFieldCost implements FieldCartesianCost<Binary64> {
24
25 @Override
26 public String getAdjointName() {
27 return "";
28 }
29
30 @Override
31 public int getAdjointDimension() {
32 return getMassFlowRateFactor().getReal() == 0 ? 6 : 7;
33 }
34
35 @Override
36 public Binary64 getMassFlowRateFactor() {
37 return Binary64.ONE.multiply(10);
38 }
39
40 @Override
41 public FieldVector3D<Binary64> getFieldThrustAccelerationVector(Binary64[] adjointVariables, Binary64 mass) {
42 return new FieldVector3D<>(mass.getField(), new Vector3D(1, 2, 3));
43 }
44
45 @Override
46 public void updateFieldAdjointDerivatives(Binary64[] adjointVariables, Binary64 mass, Binary64[] adjointDerivatives) {
47
48 }
49
50 @Override
51 public Binary64 getFieldHamiltonianContribution(Binary64[] adjointVariables, Binary64 mass) {
52 return mass.getField().getZero();
53 }
54
55 @Override
56 public CartesianCost toCartesianCost() {
57 return new TestCost();
58 }
59 }