类 TestProblem7
java.lang.Object
org.hipparchus.ode.TestProblemAbstract
org.hipparchus.ode.TestProblem7
- 所有已实现的接口:
-
OrdinaryDifferentialEquation
该类用于ODE积分器的junit测试。
这个特定问题对应于固体物体在固体坐标系x、y和z轴上的无扭矩运动,其惯性矩I₁、I₂和I₃。我们在这里使用Landau和Lifchitz的《理论物理课程,力学卷1》中的符号。
无扭矩运动的方程在固体坐标系中由方程36.5给出:
I₁ dΩ₁/dt + (I₃ - I₂) Ω₂ Ω₃ = 0 I₂ dΩ₂/dt + (I₁ - I₃) Ω₃ Ω₁ = 0 I₃ dΩ₃/dt + (I₂ - I₁) Ω₁ Ω₂ = 0
惯性矩和初始条件为:I₁ = 3/8,I₂ = 1/2,I₃ = 5/8,Ω₁ = 5,Ω₂ = 0,Ω₃ = 4。这对应于固体坐标系中描述绕Z轴的大极圆运动的角速度。该运动几乎是不稳定的,因为M²仅略大于2EI₂。将Ω₁增加到√(80/3) ≈ 5.16398将意味着M²=2EI₂,极圆将退化为两个相交的椭圆。
无扭矩运动可以在旋转体坐标系中使用Jacobi椭圆函数进行解析求解
τ = t √([I₃-I₂][M²-2EI₁]/[I₁I₂I₃]) Ω₁ (τ) = √([2EI₃-M²]/[I₁(I₃-I₁)]) cn(τ) Ω₂ (τ) = √([2EI₃-M²]/[I₂(I₃-I₂)]) sn(τ) Ω₃ (τ) = √([M²-2EI₁]/[I₃(I₃-I₁)]) dn(τ)
这个问题只解决了旋转速率部分,而TestProblem8
解决了完整的运动(旋转速率和旋转)。
-
构造器概要
-
方法概要
修饰符和类型方法说明double[]
computeTheoreticalState
(double t) 计算指定时间的理论状态。double[]
doComputeDerivatives
(double t, double[] y) 从类继承的方法 org.hipparchus.ode.TestProblemAbstract
computeDerivatives, getCalls, getDimension, getErrorScale, getEventDetectors, getFinalTime, getInitialState, getInitialTime, getTheoreticalEventsTimes
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.hipparchus.ode.OrdinaryDifferentialEquation
init
-
构造器详细资料
-
TestProblem7
public TestProblem7()简单构造函数。
-
-
方法详细资料
-
doComputeDerivatives
public double[] doComputeDerivatives(double t, double[] y) - 指定者:
-
doComputeDerivatives
在类中TestProblemAbstract
-
computeTheoreticalState
public double[] computeTheoreticalState(double t) 从类复制的说明:TestProblemAbstract
计算指定时间的理论状态。- 指定者:
-
computeTheoreticalState
在类中TestProblemAbstract
- 参数:
-
t
- 需要状态的时间 - 返回:
- 时间t处的状态向量
-