类 TestFieldProblem7<T extends CalculusFieldElement<T>>
java.lang.Object
org.hipparchus.ode.TestFieldProblemAbstract<T>
org.hipparchus.ode.TestFieldProblem7<T>
- 类型参数:
-
T
- 字段元素的类型
- 所有已实现的接口:
-
FieldOrdinaryDifferentialEquation<T>
public class TestFieldProblem7<T extends CalculusFieldElement<T>> extends TestFieldProblemAbstract<T>
该类用于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轴的大polhode的角速度运动。该运动几乎是不稳定的,因为M²仅略大于2EI₂。将Ω₁增加到√(80/3) ≈ 5.16398将意味着M²=2EI₂,polhode将退化为两个相交的椭圆。
无扭矩运动可以在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(τ)
这个问题仅解决了旋转速率部分,而FieldTestProblem8
解决了完整的运动(旋转速率和旋转)。
-
构造器概要
-
方法概要
从类继承的方法 org.hipparchus.ode.TestFieldProblemAbstract
computeDerivatives, convert, convert, getCalls, getDimension, getErrorScale, getEventDetectors, getField, getFinalTime, getInitialState, getInitialTime, getTheoreticalEventsTimes, init
-
构造器详细资料
-
TestFieldProblem7
简单构造函数。- 参数:
-
field
- 元素所属的字段
-
-
方法详细资料
-
doComputeDerivatives
- 指定者:
-
doComputeDerivatives
在类中TestFieldProblemAbstract<T extends CalculusFieldElement<T>>
-
computeTheoreticalState
从类复制的说明:TestFieldProblemAbstract
计算指定时间的理论状态。- 指定者:
-
computeTheoreticalState
在类中TestFieldProblemAbstract<T extends CalculusFieldElement<T>>
- 参数:
-
t
- 需要状态的时间 - 返回:
- 时间t处的状态向量
-