Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Метод продолжения решения по параметру и наилучшая параметризация в прикладной математике и механике

..pdf
Скачиваний:
5
Добавлен:
12.11.2023
Размер:
8.08 Mб
Скачать

7.3. Алгоритмы непрерывного и дискретного продолжения...

181

Для получения вектора

построим сначала произвольное част­

ное решение

g R"

уравнения Af = 0. С этой целью достаточно

положить равными нулю последние I его составляющих

= ... =

+2) = 0, а первые т компонент найти как решение уравнений

 

anrf+2) + ... + alm +2) = alf

 

 

 

 

 

 

(7.76)

 

O m lff+2) +

• • • + am m fm +2) =

a m .

 

Проортогонализировав (но без нормировки) полученный вектор

^(/+2) _ (fj,+2)?... t £$п+2\

0, . . . , 0)г к векторам

= М)»

построим

требуемый вектор

в виде

 

 

 

 

Л«-2) _

s(l+2)

 

(7.77)

 

41) -

i

 

 

 

 

 

 

7 .3 . Алгоритмы непрерывного н дискретного продолжения по параметру решения нелинейных одномерных краевых задач

Суммируя результаты этой главы, приведем для нелинейной краевой задачи (7.1) алгоритм непрерывного и дискретного продолжения решения по параметру. Из алгоритмов непрерывного продолжения рассмотрим метод Эйлера и модифицированный метод Эйлера. Алгоритмы метода Рунге—Кутта и других методов, реализующих явные схемы интегриро­ вания задачи Коши, читатель легко может построить самостоятельно по аналогии.

В качестве примера алгоритма дискретного продолжения рассмотрим только тот, который связан с дополнительным условием вида (1.85) или (7.35). Видоизменения, необходимые для использования других условий из раздела 1.5, очевидны.

1. Метод Эйлера

Рассмотрим алгоритм метода Эйлера для интегрирования задачи Коши для уравнений продолжения по наилучшему параметру А

dy

dp

(7.78)

 

d \ = P ’ 3/IA=AO= У(0)> PU=Ao = P0>

где y(x, А) и p(A) образуют множество решений нелинейной краевой задачи (7.1).

182 Глава 7. Нелинейные краевые задачи для обыкновенных уравнений

Будем считать, что движение по параметру продолжения осуще­ ствляется с шагом дЛ, т.е.

A*+i = Aj. 4- ДА.

(7*79)

Верхний и нижний индексы «к» будут указывать, что данная функ­ ция, вектор или величина взяты при А = А*.

На каждом шаге по параметру А для определения правых частей уравнений (7.78) необходимо решать линеаризованную краевую зада­ чу (7.6). Ее будем решать с использованием ортогональной прогонки. Для этого интервал *о ^ х ^ хц, на котором строится решение нелиней­ ной краевой задачи, будем, как и в разделе 7.2, считать разбитым на N участков. Индекс *г» будет указывать, что величина, вектор или функция

сэтим индексом относится к t -му участку ®,-_i < я < я,-.

1.Прежде, чем начать процесс интегрирования задачи Коши по па­ раметру А, необходимо задать начальное состояние, определенное на­ чальным условием (7.78)

* = 0,

А0 = 0,

J/(o) = у(х , 0),

 

РО = р(0),

ог(0) =

(0........0,1) € R'+1.

(7'80)

Вектор-строка <*(0) необходим для формирования матрицы системы (7.19) при р = Л. Такой выбор вектора <Х(о) указывает, что первый шаг мы делаем фактически по параметру р.

2. Для реализации ортогональной прогонки необходимо построить I

ортонормированных однородных решений

= М ) алгебраической

системы уравнений

 

А ( = 0.

(7.81)

Как указывалось в разделе 7.2, для этого можно сначала построить I

линейно независимых решений €^0 (? = 1Л) этой системы, а потом ортонормировать их с помощью процесса Грама—Шмидта, результат которого с помощью матрицы ортогонализации П можно представить

вформе

3.Далее производится прямой хоД прогонки — построение по участ­ кам я,_1 < я < я, общих решений задачи

dYit\

 

-fa T - L(y(t)> Pk)Y(k) + м (У(к)> Рк), AY(k)(xо) = 0

(7.82)

и матриц ортогонализации Sl^(i = 1, N - 1), связывающих общие реше­ ния соседних участков на t -й границе.

7.3. Алгоритмы непрерывного и дискретнопо продолжения...

183

Линеаризованная краевая задача непрерывного продолжения (7.6) проще задачи (7.21), возникающей при дискретном продолжении, тем, что граничные условия в ней однородные (а = 6 = 0) и функция Ф = 0.

Поэтому общее решение задачи (7.82) будет состоять из I линейно

независимых решений Y ^ ( j = ТЛ) однородной задачи (7.39) и частного

решения У^+1^ неоднородной задачи (7.40). Поэтому матрицы общих

решений U ^(x) (* = 1, JV) по участкам будут состоять только из I + 1

столбцов

U§(x) = [ Y $ (x ) ... *£+»>(.)], i = TTN.

(7.83)

Они строятся последовательно как решения начальных задач вида (7.48) при а = 0 и (7.49), и связаны между собой соотношениями

 

U%(xi) =

i = - р Г М .

(7.84)

Матрица

из-за того, что,

= 0, отличается

от матрицы

ортогонализации вида (7.35) отсутствием последней строки и последнего столбца.

В результате прямого хода имеем матрицы общих решений по участ­

кам

 

 

U$(x),

i = lTN,

(7.85)

матрицы ортогонализации

 

 

n |J(* ),

i = l , N - l

(7.86)

и матрицу

 

 

D ^ = U ^ ( Xn ).

(7.87)

4.Из условия BY(xjf) = 0 находится вектор произвольных по­

стоянных Сдо = (C(jv)p • ■• I Сдор Рк)т, определяющий решение ли­ неаризованной краевой задачи непрерывного продолжения. Для этого с использованием матрицы D^ и вектора a^_j) строится и решается система уравнений вида (7.19):

где J(t) = B D ® .

(7.89)

184 Глава 7. Нелинейные краевые задачи для обыкновенных уравнений

Полученный в результате решения вектор с№ нормируется

г» )

С**1

(7.90)

(cW • cW )1/2'

Величина Р* определяется как последняя компонента вектора

Рк = С(ЛГ)|+1*(‘)

5. Обратный ход прогонки сводится к построению решения линеа­ ризованной краевой задачи по участкам в виде

Щ (х) = U § C § , х,-_, ^

х ^ xit

i = N , N - 1 ,.... 1.

(7.91)

Здесь Ik) находятся последовательно как решения систем уравне­

ний

 

 

 

 

С((0 П(0 = 4 + 1 )’

< = N -

1,

N - 2, ... , 1.

(7.92)

6. Теперь можно осуществить шаг метода Эйлера

 

А*+1 = А* + ДА, У(к+1) — У(к) + ДАl^ ),

Рк+\ =Рк+ ДАРк-

(7.93)

7. Полученные значения У(*+1) и рк+\ используются для следующего шага. Для этого нужно повторить вычисления, начиная с п. 3, положив

в них к + 1 вместо к и приняв а(ы-1) = ^(лг)' Для метода Эйлера, как известно, характерно накопление ошибки,

которая на каждом шаге имеет порядок 0(дА2).

2. Модифицированный метод Эйлера

Модифицированный метод Эйлера дает погрешность на каждом шаге по А порядка 0 (ДА3). Мы остановимся на том варианте метода, кото­ рый уже использовался в п. 1.4 (формула (1.63)). Поскольку в этом ме­ тоде все вычисления на первом полушаге полностью повторяют метод Эйлера, то мы дадим их в виде сокращенной блок-схемы. В ней обо­

значение вида {Р(х) = О}-1 —►х

означает, что х получен как решение

уравнения F(x) = 0.

 

 

1. Задание начального состояния.

 

к=0, А0= 0, У(0)=у(х,0),

Ро=р(0), а (0) = ((),..., 0 ,1)т .

(7.94)

7.3. Алгоритмы непрерывного и дискретного продолжения...

185

2. Построение I ортонормированных решений ^

(j =

1, 1) уравне­

ния А( = 0.

 

 

 

 

 

3. Определение производных Y и Р в начале интервала ДА.

3.1.

Прямой ход прогонки.

 

 

 

|

= L (y(k)I РкЩк) + м (У(к)уРк), AY(t)(x0) =

о }

(7.95)

 

 

 

 

 

 

 

-

U §(x) (i = T Jf),

f ig (i = ТГЛГ=Т).

 

3.2. Определение вектора

Л*) .

 

 

 

 

 

D(k) = U ^ (x N),

J{k)= B D ^ \

 

 

 

 

(*)'

с (‘)

 

(7.96)

с<*)

 

 

=

 

 

 

Р* = С'(лг)»+г

К

Г И -

(c W - c W ) '/2’

w

 

 

3.3. Обратный ход прогонки: последовательное решение систем

МХ>=<$.)}'’-С i=jrri^ <,эт>

построение решения линеаризованной краевой задачи

Y ( t) = U § C $ , x f - i ^ x ^ x i , * = Щ .

(7.98)

4. Построение первого приближения для функции у(х) и параме­ тра Рк+i в конце интервала ДА на fc-м шаге

У(к+1) = У{к) + AXY(k)>

Рк+1 =Рк+ ДАРЬ “ (Л) = ^(ЛГ)-

(7-99)

5.

 

Вычисление приближенных значений производных в конце ин­

тервала ДА на к-м шаге.

 

 

5.1.

Прямой ход прогонки

 

|

-

^ - = Ь(у[к+1).

1)у(1+1) + м (У(к+1)’Pk+l)>

 

 

^

+, ) Ы = 0}

1- < +1)И . i = T ^ >

(7.100)

 

 

186Глава 7. Нелинейные краевые задачи для обыкновенна упаннрнмй

5.2.Определение вектора С^*+1^

(7.101)

й ' < ‘,= (C*(*+l)^ . C*(k+l))j '

5.3. Обратный ход прогонки

1С(«)

п (0

- C

(i+1) /

с (0

* = J V - 1, 1,

(7.102)

у(*+1) =

 

 

*.-1 ^

^

t = ЛГ,Т.

(7.103)

6. Шаг модифицированного метода Эйлера — вычисление уточнен­

ных значений у(х) и р в конце интервала ДА на *-м шаге

 

А(*+1) ~

А(*) + дА»

»(*+1) = У(к) + АЧУ(к) + 1(Х+1)>/2,

(7.104)

 

Рк+l =Рк+ АЧР{к) + tfk+l))/2-

 

 

 

 

7. Переход к следующему шагу по A: a (t+1) = C*£j+1), повторение вычислений, начиная с п. 3 с заменой к на к + 1.

Хотя модифицированный метод Эйлера приводит к накоплению меньшей ошибки, чем метод Эйлера, но при достаточно большом числе шагов по А ошибка все же может оказаться существенной.

Дальнейшего уменьшения ошибки можно достичь двумя путям и . Один из них — повышать порядок точности явных схем, для чего можно воспользоваться методами типа Рунге—Кутта или Адамса—Штермера. Построенные на их основе алгоритмы продолжения решения нелиней­ ной краевой задачи будут аналогичны приведенным выше. Однако они потребуют большего времени счета и дополнительных ресурсов памяти компьютера. Второй путь — использование неявных разностных схем,

т.е. переход к дискретному продолжению решения.

3.Алгоритм дискретного продолжения решения

Мы здесь рассмотрим только алгоритм с использованием дополни­ тельного условия (1.85). Остальные дополнительные условия из п. 1.5 реализуются аналогично.

Будем рассматривать итерационный процесс при А = А*. Указыва­ ющий на это индекс к ниже будет опущен. Индекс j будет обозначать

7.3. Алгоритмы непрерывного и дискретного продолжения...

187

номер итерации. Как и при непрерывном продолжении, индекс i будет указывать на принадлежность к t -му участку х,-_i < х < х,-.

Как видно из п. 7.1, на каждой итерации приходится решать ли­ неаризованную краевую задачу (7.21). Так как она полностью совпадает с задачей (7.37), то и алгоритм решения ее методом ортогональной прогонки не отличается от изложенного в п. 7.2. Этим алгоритмом мы и будем пользоваться. Введем обозначения

= 1>(уи),ри)), M U) = М (у0),р0)), Фи) = Ф(у0),ри)). (7.105)

Пусть для предыдущего значения Л, равного A4_J = Л* - ДА, из­ вестны: вектор-функция у(х)|а=л»_, , которая является решением не­ линейной краевой задачи (7.1) и соответствующее значение параметра задачи р = p*_i; вектор-функция У(х)|а=л*_,, являющаяся решением линеаризованной краевой задачи (7.6) при А = At _i, вектор CO(JV)IA=A*_, > являющийся решением однородной части уравнения (7.71) и соответ­ ствующей вектор-функции У(х)|а=а»_, ; вектор С(лг)1а=а,-,, определяю­ щий решение уравнения (7.70) и являющийся, в силу представления (7.23), отображением вектор-функции у(х)|а=а»_, в R,+i. Учтем также, что Pt _1 = Ф /йА|а=а*-, — является (1 + 1)-й составляющей вектора Со(л)|а=а»-| и поэтоМУ известен вместе с этим вектором.

Итерационный процесс при А = А* будет состоять из следующих этапов.

1. Задание начального приближения (J = 0)

У<°>= у1а=а»-, + ДАУ|а=а,_,, Р(0) =Рк- 1 + ДАРа- I ,

 

(7.106)

^"(N)

AT)IА=А*_t + AAC0(^)IA=AI-,I C(N) С(АГ)1а=А|,_,•

2. Итерационный процесс j = 1.

2.1. Прямой ход прогонки — построение по участкам Xj_i < х < х,-, t = 1, iV матриц общих решений начальной задачи и матриц ортогонализации

_ ^O'-OyO) j . Уи; +

dx

-i

4 У ^ (х 0) = а}

д/(1“1)рp U0') j . *(?'“ф1 !)

M

£ $ (* ), i= l,N,

(7.107)

fig ,

188 Глава 7. Нелинейные краевые задачи для обыкновенных уравнений

2.2. Удовлетворение граничных условий при x = x s

 

D 0 = ! / $ ( . * ) ,

JU)= B D b \ №

= Ъ -ВГ $+ 2)(iW

 

 

-1

 

т

 

 

 

 

-.0')

(7.108)

{[4 ;)] с^

=[“]}

° 0(ЛГ) -

 

"QW

 

O')

U)

4 1/2 ’

 

0(JV)

^O(JV)

 

 

 

 

( с 1

 

 

0)

(7.109)

 

При решении уравнения (7.109) ищется его любое частное реше­ ние д^)

2.3. Использование дополнительного условия вида (1.85)

Х/Л0) . (г>0) _

_ п \

—►лО) —

С<°> .(с0) -о°> )

(7.110)

r (0) , r {j)

\ с\т (C\ N ) ~ C\ N)

 

-

 

,0)

_ J j ) c 0) , аи,(J)

 

(7.111)

[N) ~ Л

'■ 'П(Я\0(N) ^+ y3iH(NY

 

2.4. Обратный ход прогонки Последовательное решение систем

/ JJ)nU) _

CU) 1

-0)

_

jy _| |

г ( о 1,(<)"

V o ;

с(0 ’

 

ь

Построение общих решений

 

 

 

 

Х{ - 1

< а: < xit

i = A^T.

2.5. Проверка условий сходимости

(7.112)

(7.113)

Если [(cjj^ - cjjj1*) • (с |^ - с ^ ) ] " ! > е > 0, то вычисления,

начиная с п. 2.1 повторяются при j = j + 1. В противном случае можно считать итерационный процесс законченным и принять решение в виде

Чн) =

C(N) = c g )f у1а=а, = Уи\ У|а=а, = Г 0). (7.114)

Эти векторы и вектор-функции используются для задания начально­ го приближения для следующего значения Л*+) = А*+ ДА в соответствии с п. 1.

Заметим, что использование других дополнительных условий из п. 1.5 скажется только на вычислениях п. 2.3. Их реализация по аналогии не составит труда. Подробно этот вопрос рассмотрен в книге [17]. Там же в главе 4 подробно рассмотрены примеры использования приведенных здесь алгоритмов. Здесь мы рассмотрим только один из таких примеров.

7.4. Пример: большие прогибы круговой арки

189

7.4. Пример: большие прогибы круговой арки

Уравнения, описывающие большие прогибы круговой арки ради­ уса R под действием равномерной нормальной нагрузки р° (рис. 7.1) подробно рассмотрены в книге [17]. Они имеют вид

х' = (1 +cn) cost?,

3/ =

(1+cn)sin0 ,

 

0' = (1+сп)&,

п' = -(1 + cn)kq,

(7.115)

q' = (1 + сп)(кп - р),

к' =

(1 + cn)q.

 

Здесь х = x(fi) = x°/R, у = уф) = y°/R — безразмерные коорди­ наты точек оси арки; /3 — длина вдоль недеформированной оси; 0 — угол между касательной к ее оси и осью ж; к — кривизна деформиро­ ванной оси; п, q — безразмерные продольная и поперечная силы в арке; р — безразмерный параметр нагрузки; ()' = dQ/dfi; с — константа, определяющая гибкость арки.

Мы будем рассматривать условия шарнирного закрепления концов арки, которым соответствуют следующие соотношения

a:(±/3o) = ±sin/3o, 3/(±А)) = cos/30, А(±/?о) = —1.

(7.116)

Начальное недеформированное состояние арки определяется следу­ ющими соотношениями

жо = sin/3, з/о = cos/3, 0О= ~Р, «о = 0,

(7.117)

®) = 0, *о = — 1, Ро = 0.

190 Глава 7. Нелинейные краевые задачи для обыкновенных уравнений

Как видно, эти соотношения явялются решением уравнений (7.115). Итак, уравнения (7.115) с граничными условиями (7.116) составля­ ют нелинейную краевую задачу, содержащую параметр р. Кроме того,

для р = 0 известно решение (7.117) этой задачи.

В соответствии с основной идеей метода продолжения будем считать неизвестные функции х, у, 0 , n, q, к и параметр р функциями параметра продолжения А, смысл которого выяснен в п. 7.1, т.е.

х = x(fi, А),

у = у(р, А), 0 =

0(/?, A),

n = »(/?, А),

g

q = q(j3,\),

k = k(p,\),

р = р(А).

 

Тогда уравнения продолжения (7.5) запишутся в виде

 

 

— - Т

 

 

dd

 

 

 

Y '

5л = e '

 

 

dX

d\

(7.119)

 

 

 

 

— - K

- P

 

 

 

 

 

 

 

 

 

dA

dX

 

Линеаризованную краевую задачу для определения X , Y,

9 , N,

Q, К, Р получим, продифференцировав задачу (7.115), (7.116) по пара­

метру А

 

 

 

 

 

 

 

X 1 = с cos 0JV -

(1 + cn) sin 09,

 

 

Y 1 = csin 0iV + (1 + cn) cos 09,

 

 

9 ' = ckN + (1 + cn)K,

 

 

 

 

N ' =

-ckqN -

(1 + cn)(kQ + qK),

 

(7.120)

Q' = c(kn - p)N + (1 + cn)(kN + n K - P),

K' = cqN + (1+ cn)Q,

*(±A>) = У(±А>) = K(±p0) = 0.

Эта краевая задача линейна относительно неизвестных функций Х , . . . , К и параметра Р , определяющих правые части уравнений про­ должения (7.119).

Для сведения краевой задачи (7.115), (7.119) к форме (7.1) введем вектор-функции z = [х, у, 0, n, q, k]T и Z = [X, У, 9 , N, Q, К]т. Тогда задачу (7.115), (7.119) можно представить в виде

z' = F(z,p), Az{-fo) = a, Bz(fh) = b.

(7.121)

Здесь введено обозначение P(z, р) = [Pi (z, р),. . . , Pe(z, р)]г для не­ линейной вектор-функции, соответствующей уравнениям (7.115). Пря­ моугольные матрицы А,В размером 3 x 6 и трехмерные векторы а, 6

Соседние файлы в папке книги