コード例 #1
0
ファイル: brysonDenham.py プロジェクト: jsdelivrbot/beluga
                    max_error=200
)

guess_maker = beluga.guess_generator('auto',
                start=[0,.01],          # Starting values for states in order
                direction='forward',
                costate_guess = -0.1,
                time_integrate = 1      ## REQUIRED BECAUSE OF FIXED FINAL TIME
)

continuation_steps = beluga.init_continuation()
continuation_steps.add_step('bisection', max_divisions=30).num_cases(5)   \
                    .terminal('x',0) \
                    .initial('v',1) \
                    .terminal('v', -1)

continuation_steps.add_step('activate_constraint', name='xlim')

continuation_steps.add_step('bisection') \
                .num_cases(11) \
                .constraint('xlim', 0.0, index=1)

beluga.setup_beluga(logging_level=logging.DEBUG)

beluga.solve(ocp,
             method='traditional',
             bvp_algorithm=bvp_solver,
             steps=continuation_steps,
             guess_generator=guess_maker
)
コード例 #2
0
ファイル: hypersonic3DOF.py プロジェクト: jsdelivrbot/beluga
#                                      #  direction='forward',
#                                      #  time_integrate=0.01,
#                                      )

continuation_steps = beluga.init_continuation()

continuation_steps.add_step('bisection').num_cases(11) \
    .terminal('h', 15000) \
    .terminal('theta', 0.01*pi/180)

# continuation_steps.add_step().num_cases(11)           \
#                         .terminal('h',0)

continuation_steps.add_step('bisection').num_cases(41) \
    .terminal('theta', 5*pi/180) \
    # .terminal('phi',2*pi/180)


continuation_steps.add_step('bisection').num_cases(41) \
    .terminal('phi', 2*pi/180)

beluga.setup_beluga(logging_level=logging.DEBUG,
                    display_level=logging.DEBUG,
                    output_file='data.dill')

beluga.solve(ocp,
             method='traditional',
             bvp_algorithm=bvp_solver,
             steps=continuation_steps,
             guess_generator=guess_maker)