Added Euler equation

parent 51d6a80e
......@@ -6,7 +6,7 @@
Где
* **-w** - ожидание резльтатов(может быть долго, если много потоков, и лучше его не выставлять)
* **-t matrix/thermal/oscillation/elliptic** - задание которое запускать
* **-t matrix/thermal/oscillation/elliptic/euler** - задание которое запускать
* **-np число_потоков**
* **-o вариант** - вариант по методичке(нумерация от 1). Для матрицы не актуально
* Варинаты аргументов для разных задач:
......@@ -14,6 +14,7 @@
* **-N число\_частей\_по\_оси\_X -t\_therm временной_отрезок** - для уравнения теплопроводности
* **-t\_osc временной\_отрезок -dt\_osc шаг_по_времени -dx\_osc шаг\_по\_X** - для уравнения колебания струны
* **-dx\_osc шаг_по_X -dy\_osc шаг\_по\_Y** - для эллиптического уравнения
* **-dx\_eul шаг_по_X -dy\_eul шаг\_по\_Y -dt\_eul шаг\_по\_T -N\_eul число_шагов\_по\_X -M\_eul число_шагов\_по\_Y -M\_eul число_шагов\_по\_T** - для уравнения Эйлера
### Справка скрипта ###
```
......
This diff is collapsed.
......@@ -11,7 +11,7 @@ def _parse_arguments(argv):
parser = ArgumentParser(prog="run.py",
description='\nCompiles and run MPI tasks')
parser.add_argument("-t", "--task",dest="task", choices=['matrix','thermal','oscillation', 'elliptic'], default='matrix',
parser.add_argument("-t", "--task",dest="task", choices=['matrix','thermal','oscillation', 'elliptic', 'euler'], default='matrix',
help='Task to run', required=True)
parser.add_argument("-w", "--wait",action="store_true", dest="wait",
......@@ -44,6 +44,20 @@ def _parse_arguments(argv):
group.add_argument("-dy_ell", dest="dy", type=float, help='Specify the dy')
group = parser.add_argument_group('Euler equation options')
group.add_argument("-dx_eul", dest="dx", type=float, help='Specify the dx')
group.add_argument("-dy_eul", dest="dy", type=float, help='Specify the dy')
group.add_argument("-dt_eul", dest="dt", type=float, help='Specify the dy')
group.add_argument("-N_eul", dest="N", type=int, help='Specify the N')
group.add_argument("-M_eul", dest="M", type=int, help='Specify the M')
group.add_argument("-T_eul", dest="T", type=int, help='Specify the T')
return parser.parse_known_args(argv)
if __name__ == "__main__":
......@@ -74,6 +88,8 @@ if __name__ == "__main__":
run_args = '%d %lf %lf %lf' % (args.option, args.T, args.dx, args.dt)
elif args.task == 'elliptic':
run_args = '%d %lf %lf' % (args.option, args.dx, args.dt)
elif args.task == 'euler':
run_args = '%d %lf %lf %lf %d %d %d' % (args.option, args.dx, args.dy, args.dt, args.N, args.M, args.T)
if not args.wait:
os.system('mpirun -np %d %s %s' % (args.threads + 1, run_file, run_args))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment