Язык: C++
Программа LJJ-CVV-MPI реализует построение вольт-амперной характеристики (ВАХ) в системе длинных джозефсоновских переходов (ДДП) с индуктивной и емкостной связью между соседними контактами. Программа написана на языке программирования C++ с использованием технологии параллельного программирования MPI.
Система N ДДП длины L описывается следующей начально-краевой задачей:
, (1)
где - матрица индуктивной связи.
Здесь x = [0,L] – координата вдоль длины контакта, t = [0,T] – время,
φl(x,t) и Vl(x,t) –
искомые функции соответственно разности фаз и напряжения в l-м ДП стека
(l = 1,...,N), β = σV0 / (dIjc) –
параметр диссипации, S – параметр индуктивной связи,
который принимает значения в интервале 0 < |S| < 0.5. Dc –
эффективная электрическая толщина ДП, нормированная на толщину диэлектрического слоя.
sc – параметр емкостной связи, I – внешний ток.
Все величины в системе (1) переведены в безразмерные.
Граничные условия:
.
Начальные условия в начале счета при
I = 0: φl(x,0) = Vl(x,0) = 0.
Далее, с ростом внешнего тока, для каждого следующего значения
I начальными условиями являются решения,
полученные для предыдущего значения I при t = T.
Для численного решения системы (1) вводится равномерная дискретная сетка по координате и используются конечно-разностные формулы второго порядка точности для аппроксимации производных. Тем самым получаем задачу Коши относительно искомых функций в узлах дискретной сетки. Эта задача решается 4-шаговым методом Рунге Кутта.
Расчет ВАХ сводится к многократному решению задачи (1) при последовательном увеличении и затем уменьшении внешнего тока. Значения напряжения усредняются по длине контакта, по всем контактам и по заданному интервалу времени. Более подробно математическая постановка задачи, метод численного решения и особенности параллельной реализации изложены в работе [1].
Для запуска программы необходимо скомпилировать файл с исходным кодом (рекомендуется компилятор Intel) и запустить скрипт script_mpi.sh (см.ниже ссылку на архив программы). В скрипте в команде запуска программы в строке, начинающейся с mpirun, после имени исполняемого файла необходимо указать значения основных параметров модели, через пробелы, в следующем порядке: количество контактов, длина контакта, параметр индуктивной связи, параметр емкостной связи. Остальные параметры модели при необходимости можно поменять в файле с исходным кодом.
Подробное описание порядка запуска и пояснение к конкретному примеру запуска программу дано в файле readme. Архив включает, помимо этого файла, программу на MPI-С++, скрипт для запуска программы, а также результат работы программы с конкретными входными параметрами.
Архив программы.
Литература:
- М.В.Башашин, Е.В.Земляная, И.Р.Рахмонов, Ю.М.Шукринов, П.Х.Атанасова, А.В.Волохова.
Компьютерные исследования и моделирование, 2016, т.8, №4, стр.593–604.