コード例 #1
0
from hopf.simulation import Simulation

# Sphere integrator
s = Simulation()
s.load_initial_conditions('collapse3.mat')

# Medium regularization
s.sigma = 0.10
s.run_simulation(tmax=500, numpoints=500, sim='sphere-midpoint')
s.post_process()
s.save_results('data/collapse3_sphere_sigma10_sim_long.mat')

# Runge-Kutta, medium regularization
s.sigma = 0.10
s.run_simulation(tmax=500, numpoints=500, sim='rk4')
s.post_process()
s.save_results('data/collapse3_rk4_sigma10_sim_long.mat')

# Lie-Poisson, medium regularization
s.sigma = 0.10
s.run_simulation(tmax=500, numpoints=500, sim='lie-poisson')
s.post_process()
s.save_results('data/collapse3_lp_sigma10_sim_long.mat')

# Midpoint, medium regularization
s.sigma = 0.10
s.run_simulation(tmax=500, numpoints=500, sim='midpoint')
s.post_process()
s.save_results('data/collapse3_mp_sigma10_sim_long.mat')
コード例 #2
0
from hopf.simulation import Simulation

# Sphere integrator
s = Simulation()
s.load_initial_conditions('svs5_poles.mat')
s.sigma = 0.25
s.run_simulation(h=0.3, tmax=1000, sim='sphere-midpoint-momentum')
s.post_process()
s.save_results('data/svs5_poles_sphere_long_025.mat')

# RK4 integrator
s = Simulation()
s.load_initial_conditions('svs5_poles.mat')
s.sigma = 0.25
s.run_simulation(h=0.3, tmax=1000, sim='rk4')
s.post_process()
s.save_results('data/svs5_poles_rk4_long_025.mat')

# MP integrator
s = Simulation()
s.load_initial_conditions('svs5_poles.mat')
s.sigma = 0.25
s.run_simulation(h=0.3, tmax=1000, sim='midpoint')
s.post_process()
s.save_results('data/svs5_poles_mp_long_025.mat')

# LP integrator
s = Simulation()
s.load_initial_conditions('svs5_poles.mat')
s.sigma = 0.25
s.run_simulation(h=0.3, tmax=1000, sim='lie-poisson')
コード例 #3
0
theta = np.linspace(0, 2*np.pi, N, endpoint=False)

X = np.array([r*np.cos(theta), r*np.sin(theta), z*np.ones(N)]).T

print X



#phi = inverse_hopf(X)

# Save initial conditions
save_initial_conditions('equatorial_ring_40.mat', gamma, X, sigma)

# Sphere integrator
s = Simulation()
s.load_initial_conditions('equatorial_ring_40.mat')
s.run_simulation(tmax=50, sim='sphere-midpoint')
s.post_process()
s.save_results('data/equatorial_sphere.mat')

# RK4 integrator
s = Simulation()
s.load_initial_conditions('equatorial_ring_40.mat')
s.run_simulation(tmax=50, sim='rk4')
s.post_process()
s.save_results('data/equatorial_rk4.mat')

# Midpoint integrator
s = Simulation()
s.load_initial_conditions('equatorial_ring_40.mat')
コード例 #4
0
import timeit
from hopf.util.matlab_io import save_variables
from numpy import logspace



setup_stmt = """
from hopf.simulation import Simulation
s = Simulation()
s.load_initial_conditions('pd_initial_conditions.mat')

"""

from hopf.simulation import Simulation
s = Simulation()
s.load_initial_conditions('pd_initial_conditions.mat')


for integrator in ['rk2', 'sphere-midpoint', 'midpoint', 'lie-poisson']:

    for n, h in enumerate(logspace(-3, -1, 10)):
        # Statement to time (run simulation but do not save results)
        stmt="s.run_simulation(h=%f, tmax=20, sim=\'%s\')" % (h, integrator)
        t = timeit.Timer(stmt=stmt, setup=setup_stmt)
        
        time = t.timeit(number=1)/1

        s.run_simulation(h=h, tmax=20, sim=integrator)

        # Save output in new file
コード例 #5
0
from hopf.simulation import Simulation
from numpy import logspace
import scipy

## Simulations for different time scales (sphere integrator)

s = Simulation()
s.load_initial_conditions('pd_initial_conditions.mat')

for n, h in enumerate(logspace(-4, -1, 10)):
    s.run_simulation(tmax=10, h=h, sim='sphere-midpoint', diagnostics=True)
    s.post_process()

    filename = 'data/pd_sphere_order_%d.mat' % n
    s.save_results(filename)

## Simulations for different time scales (RK2 integrator)

s = Simulation()
s.load_initial_conditions('pd_initial_conditions.mat')

for n, h in enumerate(logspace(-4, -1, 10)):
    s.run_simulation(tmax=10, h=h, sim='rk2', diagnostics=True)
    s.post_process()

    filename = 'data/pd_rk_order_%d.mat' % n
    s.save_results(filename)


## Simulations for different time scales (Lie-Poisson integrator)
コード例 #6
0
from hopf.simulation import Simulation

# Sphere integrator
s = Simulation()
s.load_initial_conditions('svs5_poles.mat')
s.run_simulation(tmax=100, sim='sphere-midpoint-momentum')
s.post_process()
s.save_results('data/svs5_poles_sphere.mat')

# RK4 integrator
s = Simulation()
s.load_initial_conditions('svs5_poles.mat')
s.run_simulation(tmax=100, sim='rk4')
s.post_process()
s.save_results('data/svs5_poles_rk4.mat')
コード例 #7
0
from hopf.simulation import Simulation

# Sphere integrator
s = Simulation()
s.load_initial_conditions('collapse3.mat')

# No regularization
#s.sigma = 0.0
#s.run_simulation(tmax=15, numpoints=75, sim='sphere-midpoint')
#s.post_process()
#s.save_results('data/collapse3_sphere_sigma00_sim.mat')

# Medium regularization
s.sigma = 0.10
s.run_simulation(tmax=15, numpoints=75, sim='sphere-midpoint')
s.post_process()
s.save_results('data/collapse3_sphere_sigma10_sim.mat')

# Large regularization
s.sigma = 0.25
s.run_simulation(tmax=15, numpoints=75, sim='sphere-midpoint')
s.post_process()
s.save_results('data/collapse3_sphere_sigma25_sim.mat')

# Runge-Kutta, medium regularization
s.sigma = 0.10
s.run_simulation(tmax=15, numpoints=75, sim='rk4')
s.post_process()
s.save_results('data/collapse3_rk4_sigma10_sim.mat')

# Lie-Poisson, medium regularization
コード例 #8
0
from hopf.simulation import Simulation

##### Long time

# Sphere integrator
s = Simulation()
s.load_initial_conditions('pd_initial_conditions.mat')
s.run_simulation(tmax=1000, sim='sphere-midpoint')
s.post_process()
s.save_results('data/pd_sphere_long.mat')

# RK4 integrator
s = Simulation()
s.load_initial_conditions('pd_initial_conditions.mat')
s.run_simulation(tmax=1000, sim='rk4')
s.post_process()
s.save_results('data/pd_rk4_long.mat')

# Midpoint integrator
s = Simulation()
s.load_initial_conditions('pd_initial_conditions.mat')
s.run_simulation(tmax=1000, sim='midpoint')
s.post_process()
s.save_results('data/pd_mp_long.mat')

# Lie-Poisson integrator
s = Simulation()
s.load_initial_conditions('pd_initial_conditions.mat')
s.run_simulation(tmax=1000, sim='lie-poisson')
s.post_process()
s.save_results('data/pd_lp_long.mat')
コード例 #9
0
from hopf.simulation import Simulation

s = Simulation()
s.load_initial_conditions('random40.mat')
s.sigma = 0.10
s.run_simulation(h = 0.1, tmax=2000, numpoints=1000, sim='sphere-midpoint')
s.post_process()
s.save_results('data/generic40_T200_sphere.mat')

s = Simulation()
s.load_initial_conditions('random40.mat')
s.sigma = 0.10
s.run_simulation(h = 0.1, tmax=2000, numpoints=1000, sim='rk4')
s.post_process()
s.save_results('data/generic40_T200_rk4.mat')

s = Simulation()
s.load_initial_conditions('random40.mat')
s.sigma = 0.10
s.run_simulation(h = 0.1, tmax=2000, numpoints=1000, sim='midpoint')
s.post_process()
s.save_results('data/generic40_T200_mp.mat')

s = Simulation()
s.load_initial_conditions('random40.mat')
s.sigma = 0.10
s.run_simulation(h = 0.1, tmax=2000, numpoints=1000, sim='lie-poisson')
s.post_process()
s.save_results('data/generic40_T200_lp.mat')