МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «ТАМБОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМЕНИ Г.Р. ДЕРЖАВИНА»
Д.С. Соловьев, И.А. Соловьева
ЧИСЛЕННЫЕ МЕТОДЫ
ИИХ ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
ВЗАДАЧАХ МОДЕЛИРОВАНИЯ, ОПТИМИЗАЦИИ И УПРАВЛЕНИЯ
ГАЛЬВАНИЧЕСКИМИ ПРОЦЕССАМИ
Учебное пособие
Тамбов 2019
УДК 519.6 |
Рекомендовано к печати |
ББК 22.193 |
Учебно-методическим советом |
С60 |
ТГУ имени Г.Р. Державина |
Р е ц е н з е н т ы :
доктор технических наук, профессор, профессор кафедры «Прикладная геометрия и компьютерная графика» ФГБОУ ВО «ТГТУ» С.И. Лазарев;
доктор технических наук, доцент, профессор кафедры «Математическое моделирование и информационные технологии» ФГБОУ ВО «ТГУ им. Г.Р. Державина» С.В. Ковалев
Соловьев, Д.С.
С60 Численные методы и их программная реализация в задачах моделирования, оптимизации и управления гальваническими процессами [Электронный ресурс] : учебное пособие / Д.С. Соловьев, И.А. Соловьева ; М-во науки и высш. обр. РФ, ФГБОУ ВО «Тамб. гос. ун-т им. Г.Р. Державина». – Электрон. дан. (1 файл). – Тамбов, 2019. – Режим доступа: https://elibrary.tsutmb.ru/dl/docs/elib534.pdf. ограниченный. –
Загл. с экрана.
ISBN 978-5-00078-262-0
Учебное пособие содержит материалы по наиболее распространенным численным методам и их программной реализации на языке высокого уровня для ЭВМ, применяемым при решении задач моделирования, оптимизации и управления гальваническими процессами.
Пособие предназначено для бакалавров направления 01.03.02 – Прикладная математика и информатика, а также магистрантов, аспирантов, преподавателей высшей школы и специалистов, чья профессиональная деятельность связана с использованием ЭВМ для научных расчетов.
|
УДК 519.6 |
|
ББК 22.193 |
ISBN 978-5-00078-262-0 |
© Соловьев Д.С., Соловьева И.А., 2019 |
|
© ФГБОУ ВО «Тамбовский государственный |
|
университет имени Г.Р. Державина», 2019 |
Содержание |
|
Введение............................................................................................ |
4 |
1. Интерполяция и аппроксимация экспериментальных данных |
|
для поиска значений и вида кривых поляризации ........................ |
5 |
Контрольные вопросы............................................................... |
17 |
2. Решение задачи Коши для математического моделирования |
|
изменения концентрации компонентов электролита.................. |
19 |
Контрольные вопросы............................................................... |
30 |
3. Оптимизация и имитационное моделирование технологи- |
|
ческих параметров гальванических процессов............................ |
31 |
Контрольные вопросы............................................................... |
46 |
4. Вычисление распределения потенциалав объеме электро- |
|
лита для моделирования толщины покрытия на поверхности |
|
детали .............................................................................................. |
48 |
Контрольные вопросы............................................................... |
67 |
5. Поиск Оптимального управления гальваническим процессом |
|
нанесения покрытия....................................................................... |
68 |
Контрольные вопросы............................................................... |
79 |
Заключение...................................................................................... |
80 |
Глоссарий........................................................................................ |
81 |
Литература ...................................................................................... |
84 |
3
Введение
Внастоящее время в процессе изготовления новых изделий все большее внимание уделяется качеству наносимых гальванических покрытий. Для улучшения качества наносимого покры-
тия применяются две группы методов: электрохимические и геометрические. К первой группе методов относится использование ассиметричных, импульсных и реверсивных токовых режимов. Во второй группе методов используют биполярные электроды, защитные катоды, токонепроводящие экраны и ванны с фигурными анодами. Следует отметить, что для экспериментального поиска оптимальных токовых режимов и подбора конфигурации электролизера требуются значительные экономические и временные затраты. Постоянное расширение и совершенствование промышленных электрохимических систем порождает все новый круг задач для их моделирования, оптимизации и управления. При этом все более очевидным становится недостаточность имеющихся в наличии аналитических математических методов в электрохимии для решения прикладных задач. Это приводит к необходимости использования при расчетах всех современных математических средств: методов математической физики, математического и функционального анализа, численных методов и методов вычислений, математического моделирования и вычислительного эксперимента с использованием вычислительной техники. Повсеместное распространение вычислительной техники делает доступным использование данных методов на практике.
Применение данного пособия может быть использовано у обучающихся направления подготовки 01.03.02 «Прикладная математика и информатика» при изучении дисциплины «Численные методы», а также будет полезным в качестве дополнительной литературы по дисциплинам «Основы программирования на С», «Методы оптимизации», «Математическое и компьютерное моделирование» и «Уравнения математической физики».
4
1. ИНТ Е РП ОЛ Я ЦИЯ И АП П РОК С ИМАЦИЯ ЭК С П Е РИМЕ НТ АЛ ЬНЫ Х ДАННЫ Х ДЛ Я П ОИС К А
ЗНАЧЕ НИЙ И ВИДА К РИВЫ Х П ОЛ Я РИЗАЦИИ
Гальванический процесс включает пропускание электрического тока через раствор, называемый электролитом. Это делается путем погружения в электролит двух деталей, называемых электродами, и подключения их к цепи с батареей или другим источником питания. Электрод, подключаемый к плюсу источника питания, называется анодом, к минусу – катодом. Электроды и электролит изготавливаются из тщательно отобранных элементов или соединений. При протекании электрического тока через контур, который образуют электроды, электролит разлагается, и некоторые из атомов металла, которые он содержит, осаждаются в тонком слое поверх одного из электродов (катода), образуя гальваническое покрытие. Таким образом, можно нанести гальваническое покрытие практически всех видов металлов, включая золото, серебро, олово, цинк, медь, кадмий, хром, никель, платина и свинец. Не только химические превращения, но и изменения электрических характеристик (смещение электродных потенциалов) возникают при протекании тока через электрохимическую систему. Это влечет за собой ряд необратимых последствий, таких как, например, суммарный энергетический эффект от дополнительного скачка потенциала в электродных процессах. Данный скачок потенциала на поверхности электродов называется поляризацией. Вычисление напряжения питания ванны U с учетом поляризации имеет вид:
U = E |
|
+ F ( |
|
|
)−(E |
|
+ F |
( |
|
|
))+ |
I |
, |
(1.1) |
|
i |
|
|
i |
|
|||||||||
|
|
|
|
χ |
||||||||||
|
ap |
1 |
|
a |
|
kp |
2 |
|
|
k |
|
|
|
где Eap, Ekp – равновесные анодные и катодные потенциалы; F1, F2 – поляризация на аноде и катоде; χ – удельная электро-
проводность электролита; I – сила тока; ia , ik – средняя плотность анодного и катодного тока соответственно.
5
Из литературных источников известно, что F1 > 0, F2 < 0. Данный факт объясняется необходимостью в дополнительной энергии с целью преодоления торможения процесса на стадияххимического взаимодействия между компонентами электролита и выражается ростом напряжения в гальванической ванне; транспортировки к поверхности электрода из электролита разряжающихся ионов; перемещения ионов на разделе фаз от электролита к металлу; распространения адсорбированных ионов на электродной поверхности в локации роста и формирование кристаллической решетки.
Смещение равновесного значения потенциала под действием электрического тока подчиняется аддитивному влиянию всех видов поляризации, каждый из которых, и как следствие общая поляризация, зависят от плотности тока и скорости преобразования электрической энергии в химическую. В случае наличия лимитирующей стадии в процессе, т.е. стадии имеющей значительно меньшую скорость по сравнению с остальными, поляризация лимитирующей стадии определяет общую поляризацию. Существуют аналитические выражения, описывающие зависимость величины поляризации от плотности тока для различных частных случаев лимитирующих стадий:
– электрохимическая поляризация описывается уравнением Тафеля:
|
|
|
i |
|
|
|
|
|
|
|
ΔV = A |
|
|
, |
|
|
|
(1.2) |
|
|
|
|
|
|
|||||
|
ln |
|
|
|
|
|
|||
|
|
i0 |
|
|
|
|
|
|
|
где |
ΔV – перенапряжение; |
|
A |
– |
коэффициент |
Тафеля; |
|||
i – плотность тока; i0 – плотность обменного тока; |
|
||||||||
|
– уравнение Нернста для диффузионной поляризации: |
||||||||
|
|
RT |
|
|
aOx |
|
|
|
|
|
E = E0 + |
|
|
|
|
, |
(1.3) |
||
|
|
|
|
|
|||||
|
nF |
lg |
|
|
|
||||
|
|
|
aRed |
|
|
||||
где E0 – стандартный электродный потенциал; E – электродный потенциал; T – абсолютная температура; R – универсальная газовая постоянная; F – постоянная Фарадея; n – количество электронов, взаимодействующих в процессе; aRed, aOx, – активности восстановленной и окисленной форм участвующего в полуреакции вещества соответственно;
6
– уравнение Батлера-Фольмера для кристаллизационной поляризации:
|
|
βnF |
|
|
− |
αnF |
|
(1.4) |
|
i = i0 exp |
ΔV |
−exp |
RT |
ΔV , |
|||
|
|
RT |
|
|
|
|
|
|
где |
α, β – коэффициенты переноса катодного и анодного |
|||||||
процессов. |
|
|
|
|
|
|
|
|
|
Электрическое поле, формируемое в зависимости от конфи- |
|||||||
гурации электродов и гальванической ванны без учета влияния поляризации, называется первичным. Рассмотрим влияние поляризации на распределение электрического поля в объеме электролита. При возникновении у поверхности электрода поляризационного скачка потенциала происходит изменение конфигурации распределения электрического поля, называемое вторичным. Заметим, что если поляризационный потенциал ≈ 0, то первичное поле совпадает с вторичным, а отличие между вторичным и первичным полями полностью определяется видом функциональной зависимости поляризации от плотности тока.
Кривая поляризации для большинства процессов нанесения гальванических покрытий имеет монотонно возрастающий вид, т.е. с непрерывным увеличением плотности тока растет и величина катодной поляризации. На рисунке 1.1а демонстрируется катодная поляризационная кривая для процесса электроосаждения покрытия олово-никель из фторидхлоридных электролитов. С увеличением плотности тока увеличивается и катодная поляризация, что влечет за собой повышение плотности тока на менее нагруженных участках электрода и снижение на более нагруженных под влиянием поля поляризации. Данное явление влечет за собой более равномерное распределение плотности тока и, как следствие, толщины покрытия по длине L катода (рисунок 1.1б). Степень выравнивания распределения тока в электролите оценивается с помощью «рассеивающей способности».
Если кривая поляризации содержит падающий участок, как при электросаждении никеля в электролите Уоттса, то ток распределяется по поверхности электрода так, что участки катода, расположенные дальше от анода могут быть нагружены большим током, чем участки, ближние к аноду. Более интересные
7
зависимости распределения электрического поля характерны для электролитов с N-образной кривой поляризации, что наблюдается при электросаждении хрома в стандартном электролите или олова в сернокислом электролите.
а) |
б) |
Рис. 1.1. Монотонно возрастающая поляризационная кривая (а)
и распределение катодной плотности тока по длине плоского катода (б)
Таким образом, добиться равномерного гальванического покрытия возможно подобрав геометрические параметры электролизера и режимы электролиза с учетом физико-химических свойств электролита путем изменения конфигурации распределения электрического поля в объеме электролита.
Получение поляризационных кривых осуществляют экспериментально с применением источника питания постоянного тока. В данном методе на катоде с определенным шагом меняется плотность тока и записывается в табличном виде соответствующее ему значение потенциала относительно дополнительного электрода сравнения. К преимуществам данного метода относится быстрая оценка влияния плотности тока на поляризацию, а также возможность исследования характера монотонности поляризационной характеристики.
К полученным экспериментальным данным по поляризационным кривым применяют интерполяцию и аппроксимацию.
8
Под интерполяцией понимается процедура получения промежуточных значений величины по имеющемуся табличному набору измеренных значений. Рассмотрим задачу интерполяции.
Пусть в точках x0, x1,..., xn таких, что ikmin = a ≤ x0 <...< xn ≤ b =
ikmax ( ikmin , ikmax – минимальное и максимальное допустимые значения плотности катодного тока) известны значения функции y = F2 (ik )= f(x), то есть в диапазоне [a; b] задана табличная функция:
x |
x0 |
x1 |
… |
xi |
… |
xn |
y |
y0 |
y1 |
… |
yi |
… |
yn |
Функция φ(x) называется интерполирующей для f(x) на [a; b], если ее значения φ(x0), φ(x1), ..., φ(xn) в заданных точках x0, x1,..., xn, называемых узлами интерполяции, совпадают с заданными значениями функции f(x), то есть с y0, y1, ..., yn соответственно.
Будем строить φ(x) в виде многочлена Лагранжа n-степени Ln(x) как линейную комбинацию:
|
|
|
n |
|
|
|
|
|
|
|
ϕ(x)= Ln (x)= ∑pi (x) f (xi ), |
|
|
|
(1.5) |
|
|
|
i=0 |
|
|
|
|
где |
pi(x) – базисные многочлены, которые имеют вид: |
|
|||||
|
pi |
(x)= |
(x − x0 )(x − x1 )...(x − xi−1 )(x − xi )...(x |
− xn ) |
|
. |
(1.6) |
|
(xi − x0 )(xi − x1 )...(xi − xi−1 )(xi − xi )...(xi − xn ) |
||||||
|
Ln(x) единственный и обладает свойством |
Ln(xi) = |
f(xi) |
||||
(i = 0, 1, …, n) при известных значения функции f(x) в точках xi. Следует отметить, что нет двух одинаковых xi = xj, поэтому выражение (1.6) всегда определено. Из формулы (1.5) вытекает, что каждый раз, когда узел xk изменяется, все лагранжевы базисные многочлены (1.6) должны быть пересчитаны.
Блок-схема решения задачи интерполяции по Лагранжу представлена на рисунке 1.2.
Рассмотрим решение задачи интерполяции по Лагранжу на языке программирования С для функции катодной поляризации в процессе никелирования из примера на рисунке 1.1а.
9
|
Начало |
|
Ввод |
|
xТ, X,Y,n |
|
p=0 |
|
j=1,n,1 |
|
e=1 |
|
i=1,n,1 |
Нет |
i≠j |
|
Да |
|
e=e*(xТ-Xi)/(Xj-Xi) |
|
p=p+e*Yj |
|
Вывод p |
Конец
Рис. 1.2. Блок-схема решения задачи интерполяции полиномом Лагранжа
10
Объявляем требуемые переменные и инициализируем их исходными данными:
const int n=6;
double X[n]={0.35,0.44,0.51,0.56,0.6,0.62}; double Y[n]={0,1,2,3,4,5};
Функция, реализующая интерполяцию табличных данных многочленом Лагранжа, имеет следующий вид:
double Lagrange(double X[n], double Y[n], double t){ double p,p1,p2;
p=0;
for (int j=0; j<n; j++){//обход по числу элементов
p1=1; p2=1;//значение числителя и знаменателя дроби for (int i=0; i<n; i++){
if (i==j){//исключение деления на ноль p1=p1*1;p2=p2*1;
}
else {
p1=p1*(t-X[i]);//расчет числителя p2=p2*(X[j]-X[i]);//расчет знаменателя
}
}
p=p+Y[j]*p1/p2;//расчет значения полинома Лагранжа
}
return p;
}
Вычислим значения интерполяционного полинома Лагран-
жа в точках x = 0.4, x = 0.53 и x = 0.58:
Lagrange(X,Y,0.4);//1.033588
Lagrange(X,Y,0.53);//2.413598
Lagrange(X,Y,0.58);//3.4166
Для получения погрешности интерполяции функции f(x) полиномом Лагранжа на отрезке [a, b] используется следующая формула:
f (x)- Ln (x)= |
f (n+1)(ξ(x)) |
(x −x0 )...(x −xn ), |
(1.7) |
||
(n |
+1)! |
|
|||
|
|
|
|
||
где ξ(x) – некая, как правило, неизвестная функция.
11
В связи с тем, что ξ(x) неизвестна, то (1.7) используется для теоретической верхней оценки погрешности f (x)- Ln (x).
Следует отметить, что необходимо учитывать ошибки данных при получении табличных значений функции, когда отсутствует возможность обеспечить чистоту эксперимента. Поскольку указанные ошибки усугубляются в процессе интерполирования, прибегают к аппроксимации путем построения эмпирических формул, подбором которых получаемые экспериментальные данные «сглаживаются» (график эмпирических зависимостей не проходит через точки (xi,yi)). Наиболее распространенным методом решения данной задачи является среднеквадратичное приближение аппроксимируемой функции посредством многочлена вида:
ϕ(x) = a0 +a1x +a2x2 +... +amxm , |
(1.8) |
при этом m ≤ n; а случай m = n соответствует интерполяции.
На практике, как правило, m = 1,2,3. Мерой отклонения ϕ(x) от f(x) на множестве точек (xi, yi) (i = 0,1,…,n) по методу наименьших квадратов является сумма квадратов невязок:
n |
n |
|
S = ∑εi2 |
= ∑[ϕ(xi ,a0 ,a1,...,am )− yi ]2 . |
(1.9) |
i=0 i=0
Параметры ā, как независимые переменные, находятся из условия минимума функции S = S(a0, a1,…, am).
Тогда составляется система линейных алгебраических уравнений следующего вида:
|
|
∂S |
|
n |
|
|
|
|||
|
|
|
= 2∑[(a0xi0 +a1x1i +... +amxim − yi )xi0 ]= 0 |
|
|
|||||
|
∂a0 |
|
|
|
||||||
|
|
|
i=0 |
|
|
|
||||
|
∂S |
|
|
n |
|
|
|
|||
|
= 2∑[(a0xi0 +a1x1i |
+... +amxim − yi )x1i ]= 0 |
|
|
||||||
∂a1 |
, |
(1.10) |
||||||||
|
|
i=0 |
|
|||||||
................................ |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
||
|
|
∂S |
|
n |
|
|
|
|||
|
|
|
|
= 2∑[(a0xi0 +a1x1i +... +amxim − yi )xim ]= 0 |
|
|
||||
|
∂am |
|
|
|
||||||
|
|
i=0 |
|
|
|
|||||
12
которая имеет следующий смысл:
|
n |
n |
|
mina |
∑[yi −ϕ(xi ,a)]2 = mina |
∑si2 = mina s(a), |
(1.11) |
|
i=1 |
i=0 |
|
где a j (j = 0,1,..,m) – неизвестные системы линейных уравне-
n
ний (1.10); ck,j = ∑xik+j−2 (k = 0,1,..,m) – коэффициенты системы
i=1
n
линейных уравнений (1.9); dk = ∑yi xij – свободные члены
i=1
системы линейных уравнений (1.10).
Математически аппроксимация по методу наименьших квадратов является задачей приближения решения переопределенной системы линейных уравнений (1.10), где наилучшим приближением является то, что минимизирует сумму квадратов отклонений между значениями данных (1.9) и их соответствующими расчетными значениями.
На рисунке 1.3 приводится укрупненная схема алгоритма аппроксимации таблично заданной функции методом наименьших квадратов.
Из системы (1.10) определяются неизвестные a0, a1, …, am, например, методом Гаусса, основу которого составляет процесс их последовательного исключения, приводящий исходную систему к треугольному виду, в котором все коэффициенты, расположенные ниже главной диагонали, имеют нулевое значение.
Рассмотрим решение задачи аппроксимации таблично заданной функции методом наименьших квадратов на языке программирования С для функции катодной поляризации в процессе никелирования из примера на рисунке 1.1а.
13
Начало
Ввод m,n, X,Y
Определение
коэффициентов
ck,j
Определение
свободных членов dk
Определение
свободных членов dk
Решение
системы методом Гаусса
Вывод a0,a1,…,am
Конец
Рис. 1.3. Укрупненная схема алгоритма аппроксимации методом наименьших квадратов
14
Объявляем требуемые переменные и инициализируем их исходными данными:
const int m=3; int i,j,k,K; double z,c;
double a[m+1],b[m+1],sum[m+1][m+1];
Определяем значения коэффициентов ck,j: for(i=0;i<m+1;i++)
{
for(j=0;j<m+1;j++)
{
sum[i][j]=0; for(k=0;k<n;k++)
{
sum[i][j]+=pow(X[k],i+j);
}
}
}
Определяем значения свободных членов dk: for(i=0;i<m+1;i++)
{
b[i]=0; for(k=0;k<n;k++)
{
b[i]+=pow(X[k],i)*Y[k];
}
}
Решаем систему (1.9) методом Гаусса: for(int i=0;i<m;i++)
{
K=i;
for(int j=i+1;j<m+1;j++)
{
if(fabs(sum[K][i])<fabs(sum[j][i])) K=j;
}
15
for(int k=i;k<m+1;k++)
{
z=sum[K][k]; sum[K][k]=sum[i][k]; sum[i][k]=z;
}
z=b[K]; b[K]=b[i]; b[i]=z;
//Прямой ход метода Гаусса for(int j=i+1;j<m+1;j++)
{
c=-sum[j][i]/sum[i][i]; for(int k=i;k<m+1;k++)
{
sum[j][k]=sum[j][k]+c*sum[i][k];
}
b[j]=b[j]+c*b[i];
}
}
//Обратный ход метода Гаусса a[m]=b[m]/sum[m][m]; for(int i=m+1-2;i>=0;i--)
{
for(int k=i+1;k<m+1;k++)
{
b[i]=b[i]-a[k]*sum[i][k];
}
a[i]=b[i]/sum[i][i];
}
Результаты, полученные для интерполяции в точках x = 0.4, x = 0.53, x = 0.58 и аппроксимации экспериментальных данных полиномами (1.7) со степенями m = 1, m = 2, m = 3, приводятся на рисунке 1.4.
16
