コード例 #1
0
def run(**kwargs):
    # L-going fast wave
    arguments = [
        'time/ncycle_out=0', 'problem/wave_flag=0', 'problem/vflow=0.0',
        'mesh/refinement=static', 'mesh/nx1=32', 'mesh/nx2=16', 'mesh/nx3=16',
        'meshblock/nx1=8', 'meshblock/nx2=8', 'meshblock/nx3=8',
        'output2/dt=-1', 'time/tlim=2.0', 'problem/compute_error=true'
    ]
    athena.run('mhd/athinput.linear_wave3d',
               arguments,
               lcov_test_suffix='serial')

    os.system('rm -rf obj')
    os.system('mv obj_hybrid obj')
    os.system('mv bin/athena_hybrid bin/athena')
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], 1,
                  'mhd/athinput.linear_wave3d',
                  arguments + ['mesh/num_threads=1'])
    # 4 total threads = 2 MPI ranks x 2 OpenMP threads / rank
    athena.mpirun(kwargs['mpirun_cmd'],
                  kwargs['mpirun_opts'],
                  2,
                  'mhd/athinput.linear_wave3d',
                  arguments + ['mesh/num_threads=2'],
                  lcov_test_suffix='hybrid')
    return 'skip_lcov'
コード例 #2
0
def run(**kwargs):
    arguments = [
        'time/tlim=0', 'time/ncycle_out=0', 'mesh/nx1={0}'.format(nb1 * nx1),
        'mesh/nx2={0}'.format(nx2), 'mesh/nx3={0}'.format(nx3),
        'meshblock/nx1={0}'.format(nx1), 'meshblock/nx2={0}'.format(nx2),
        'meshblock/nx3={0}'.format(nx3),
        'problem/input_filename={0}'.format(filename_input)
    ]
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], num_ranks,
                  'mhd/athinput.from_array', arguments)
コード例 #3
0
def run(**kwargs):
    arguments = [
        'time/ncycle_out=10', 'mesh/nx1=64', 'mesh/nx2=32', 'mesh/nx3=32',
        'meshblock/nx1=16', 'meshblock/nx2=16', 'meshblock/nx3=16',
        'output2/dt=-1', 'time/tlim=1.0', 'problem/compute_error=true'
    ]
    # athena.run('hydro/athinput.jeans_3d', arguments)

    os.system('mv bin/athena_fft bin/athena')
    athena.run('hydro/athinput.jeans_3d', arguments)

    # os.system('mv bin/athena_mpi_mg bin/athena')
    # athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'],
    #               1, 'hydro/athinput.jeans_3d', arguments)
    # athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'],
    #               2, 'hydro/athinput.jeans_3d', arguments)
    # athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'],
    #               4, 'hydro/athinput.jeans_3d', arguments)

    os.system('mv bin/athena_mpi_fft bin/athena')
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], 1,
                  'hydro/athinput.jeans_3d', arguments)
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], 2,
                  'hydro/athinput.jeans_3d', arguments)
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], 4,
                  'hydro/athinput.jeans_3d', arguments)
コード例 #4
0
def run(**kwargs):
    os.system('mv obj_fft obj')
    os.system('mv bin/athena_fft bin/athena')
    arguments = [
        'time/ncycle_out=10', 'mesh/nx1=64', 'mesh/nx2=32', 'mesh/nx3=32',
        'meshblock/nx1=16', 'meshblock/nx2=16', 'meshblock/nx3=16',
        'problem/turb_flag=3', 'turbulence/rseed=1', 'output2/dt=-1',
        'time/tlim=0.3'
    ]
    athena.run('hydro/athinput.turb',
               arguments + ['job/problem_id=turb_serial'],
               lcov_test_suffix='fft')

    os.system('mv obj_mpi_fft obj')
    os.system('mv bin/athena_mpi_fft bin/athena')
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], 1,
                  'hydro/athinput.turb',
                  arguments + ['job/problem_id=turb_mpi1'])
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], 2,
                  'hydro/athinput.turb',
                  arguments + ['job/problem_id=turb_mpi2'])
    athena.mpirun(kwargs['mpirun_cmd'],
                  kwargs['mpirun_opts'],
                  4,
                  'hydro/athinput.turb',
                  arguments + ['job/problem_id=turb_mpi4'],
                  lcov_test_suffix='mpi_fft')

    return 'skip_lcov'
コード例 #5
0
def run(**kwargs):
    # L-going fast wave
    arguments = [
        'time/ncycle_out=0', 'problem/wave_flag=0', 'problem/vflow=0.0',
        'mesh/refinement=static', 'mesh/nx1=32', 'mesh/nx2=16', 'mesh/nx3=16',
        'meshblock/nx1=8', 'meshblock/nx2=8', 'meshblock/nx3=8',
        'output2/dt=-1', 'time/tlim=2.0', 'problem/compute_error=true'
    ]
    athena.run('mhd/athinput.linear_wave3d',
               arguments,
               lcov_test_suffix='serial')

    os.system('rm -rf obj')
    os.system('mv obj_mpi obj')
    os.system('mv bin/athena_mpi bin/athena')
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], 1,
                  'mhd/athinput.linear_wave3d', arguments)
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], 2,
                  'mhd/athinput.linear_wave3d', arguments)
    athena.mpirun(kwargs['mpirun_cmd'],
                  kwargs['mpirun_opts'],
                  4,
                  'mhd/athinput.linear_wave3d',
                  arguments,
                  lcov_test_suffix='mpi')
    return 'skip_lcov'
コード例 #6
0
def run():
  # L-going fast wave
  arguments = [
    'problem/wave_flag=0','problem/vflow=0.0','mesh/refinement=static',
    'mesh/nx1=32', 'mesh/nx2=16', 'mesh/nx3=16',
    'meshblock/nx1=8',
    'meshblock/nx2=8',
    'meshblock/nx3=8',
    'output2/dt=-1', 'time/tlim=2.0', 'problem/compute_error=true']
  athena.run('mhd/athinput.linear_wave3d', arguments)

  os.system('mv bin/athena_mpi bin/athena')
  athena.mpirun(1, 'mhd/athinput.linear_wave3d', arguments)
  athena.mpirun(2, 'mhd/athinput.linear_wave3d', arguments)
  athena.mpirun(4, 'mhd/athinput.linear_wave3d', arguments)
コード例 #7
0
def run(**kwargs):
    os.system('mv obj_fft obj')
    os.system('mv bin/athena_fft bin/athena')
    athena.run('hydro/athinput.fft', ['job/problem_id=fft_serial'],
               lcov_test_suffix='fft')

    os.system('mv obj_mpi_fft obj')
    os.system('mv bin/athena_mpi_fft bin/athena')
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], 1,
                  'hydro/athinput.fft', ['job/problem_id=fft_mpi1'])
    athena.mpirun(kwargs['mpirun_cmd'], kwargs['mpirun_opts'], 2,
                  'hydro/athinput.fft', ['job/problem_id=fft_mpi2'])
    athena.mpirun(kwargs['mpirun_cmd'],
                  kwargs['mpirun_opts'],
                  4,
                  'hydro/athinput.fft', ['job/problem_id=fft_mpi4'],
                  lcov_test_suffix='mpi_fft')

    return 'skip_lcov'