|
NLEVSD Библиотека "JINRLIB"
Вы
Автор: Т.Бояджиев
Язык: Фортран посетитель.
РЕШЕНИЕ НЕЛИНЕЙНОЙ ЗАДАЧИ НА СОБСТВЕННЫЕ ЗНАЧЕНИЯ
ДЛЯ СИСТЕМЫ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ПЕРВОГО ПОРЯДКА
Программа NLEVSD служит для решения нелинейной задачи
на собственные значения для системы из NDE <= 32 обыкновенных
дифференциальных уравнений первого порядка вида:
F ( x,y,y',p ) = 0, m = 1,2, ... NDE
m
на интервале (a, b), где a < b, с граничными условиями:
L ( a, y(a) ) = 0, l = 1,2,...,NBCL,
l
R ( b, y(b) ) = 0, r = NBCL+1,...,NDE.
r
Здесь p - искомый параметр.
Предполагается, что задано также "условие нормировки" в точке XP
( a <= XP <= b )
H (y,p) = 0.
Для поиска решения { y(x), p } применяется непрерывный аналог
метода Ньютона вместе с методом сплайн - коллокации в гауссовых
узлах сетки.
Обращение:
----------
CALL NLEVSD (X,Y,PRM,XP,NDE,NBCL,NPAR,NNOD,HX,W,U,V,YO,
RHSU,RHSV,INTEGS,TIMES,NITEM,ITER,EPS,FUN,DFUN,
BCOND,DBCOND,PCOND,DPCOND,DETAILS,IFAIL)
Здесь:
X - сетка из NNOD узлов (задается пользователем);
Y - массив из 2NDE*NNOD элементов;
на входе содержит начальное приближение,
на выходе содержит решение y(x) в узлах сетки;
PRM - на выходе содержит собственное значение p;
NPAR = 1;
HX - массив из NNOD-1 шагов сетки (задается пользователем);
W - рабочий массив из 8*NNOD*NDE**2 элементов;
U,V,YO,RHSU,RHSV - рабочие массивы из 2*NDE*NNOD элементов;
INTEGS - INTEGER массив размера 2*NNOD-2;
TIMES - число обращений к подпрограмме;
NITEM - максимальное число итераций (задается пользователем);
ITER - число итераций;
EPS - абсолютная точность (задается пользователем);
BCOND - подпрограмма вычисления левых частей граничных условий;
DBCOND - подпрограмма вычисления производных Фреше левых частей
граничных условий;
PCOND - подпрограмма вычисления левой части условия;
DPCOND - подпрограмма вычисления производной Фреше левой части условия;
DETAILS - INTEGER - уровень печати;
IFAIL - флаг итераций (IFAIL=0 - итерационный процесс сходится
за ITER итераций).
Архив программы с исходными текстами.
|