Скачиваний:
6
Добавлен:
28.04.2022
Размер:
352 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Государственное образовательное учреждение

высшего профессионального образования

Санкт-Петербургский государственный электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

ФАКУЛЬТЕТ ЭЛЕКТРОНИКИ (ФЭЛ)

КАФЕДРА Радиотехнической электроники

КУРСОВАЯ РАБОТА (ПРОЕКТ)

По дисциплине: ПРОГРАММНЫЕ СРЕДСТВА МОДЕЛИРОВАНИЯ ЭЛЕКТРОННОЙ КОМПОНЕНТНОЙ БАЗЫ

На тему: Разработка модуля программы анализа электронного прибора

Вариант № 17

Выполнил

Оценка

студент гр. №

5201

Проверил

Синев А. Е.

Малыгин Д.

(ФИО)

(ФИО)

Дата

САНКТ-ПЕТЕРБУРГ

2019 г.

ЗАДАНИЕ на курсовую работу

По дисциплине: ПРОГРАММНЫЕ СРЕДСТВА МОДЕЛИРОВАНИЯ ЭЛЕКТРОННОЙ КОМПОНЕНТНОЙ БАЗЫ

Вариант №17

Название курсовой работы:

Модуль расчёта потенциала от линейного заряда методом интегральных уравнений.

Содержание работы:

Разработка алгоритма и С++ - программы расчёта потенциала внутри области с заданным линейным зарядом.

Исходные данные:

Замкнутая поверхность, заданная набором плоских треугольников, и распределение заряда внутри области, ограниченной этой поверхностью.

Результаты работы:

1. Программа расчёта потенциала от линейного заряда методом интегральных уравнений. 2. Методика тестирования и отладки программы.

Литература:

1. Internet.

2. Моделирование полупроводниковых приборов и технологических процессов. Последние достижения. Под ред. Д. Миллера, М.: Радио и связь, 1989.

  1. Общие сведения.

Расчёт потенциала в данной программе осуществлялся при помощи формулы:

Где – относительная диэлектрическая проницаемость, линейная плотность распределения заряда, – расстояние от точки до произвольного элемента . В данной формуле заменяется на формульное представление:

– элемент линейного заряда с поверхностной плотностью заряда τ.

Расчёт расстояния от точки до произвольного элемента был произведён следующим образом:

При расположении выбранной для расчёта точки на линейном заряде (следственно, , потенциал, как в программе, так и в теории принимает бесконечное значение). В данной программе есть возможность выбрать любые координаты x, y, z для точки , в которой будет рассчитан потенциал. Также можно задать любую длину линейного заряда. Само расположение линейного заряда выбрано на оси Х, при выбранной изометрии

Тестирование программы заключается в сравнении результатов вычисления потенциала при разном значении разбиения линейного заряда.

Рис. 2. – Расчёт потенциала произведён при разных значениях разбиения

Рис. 4. – Расчёт потенциала при R = 0

Проведем так же проверку аналитическим методом, для этого решим задачу нахождения потенциала в точке, удаленное от стержня на расстояние равное длине стержня. При этом, стержень можно разбить на элементарные отрезки dL и заряд, находящийся на них, можно принять как точечный.

Рис. 5. – Выбранный макет для решения задачи

В этом случае, используя формулу для точечного заряда, получаем:

Из рисунка:

Подставив это в предыдущую формулу получаем:

Проинтегрировав это выражение в пределах и получим потенциал, создаваемый всем зарядом, распределенным на стержне:

Так как по условию точка А была взята симметрично от концов стержня, то и равны, поэтому:

Получаем:

Так как:

Получаем:

В пределах от 0 до (так как треугольник равносторонний).

Подставив пределы интегрирования получаем:

Приведем пару примеров вычисления потенциалов в равностороннем треугольнике:

Рис. 6.– Расчет в Matchcad

  1. Код программы в Visual studio

#include "stdafx.h"

#include <iostream>

#include <stdio.h>

#include <math.h>

#include <iomanip>

#include <istream>

using namespace std;

int main()

{

double I, pi, e0, Tau, fi, L, x, y, z;

I = 0;

pi = 3.14;//число пи

e0 = 8.85e-012;//диэлектрическая проницаемость вакуума

cout << "Hello there,it's a electric potential calculation program \n";

cout << "During the work isometrics YZX was choosed \n";

cout << "Your charge is on the X-axis \n";

cout << "Tau: ";//задаем значение тау

cin >> Tau;

cout << "Length of linear source: ";

cin >> L;

cout << "Point coordinate a(x,y,z)" << endl;//задаем координаты точки а, в которой будем рассчитывать потенциал

cout << "X: ";//координата х

cin >> x;

cout << "Y: ";//координата y

cin >> y;

cout << "Z: ";//координата z

cin >> z;

double R, a, b, c, dl, step, ln, R1, R2, R3;

char ans = 'Y';

step = L;//шаг равен длине линейного заряда

ln = 2;

while (ans == 'Y' || ans == 'y')

{

if (x < L && y == 0 && z == 0)

{

cout << "The infinity potential" << endl;

system("PAUSE");

return(0);

}

else {

ln = ln * 2;

I = 0;

step = step / 2;

dl = 4 * step*step;

for (int i = 1; i >= 0; i--)

{

if (i == 1)

c = L;

else

c = 0;

R3 = (c - z)*(c - z);

b = L - step;

while (b >= step)

{

R2 = (b - y)*(b - y);

a = L - step;

while (a >= step)

{

R1 = (a - x)*(a - x);

R = sqrt(R1 + R2 + R3);

I = I + Tau * dl / R;

a = a - 2 * step;

};

b = b - 2 * step;

};

}

fi = I/(4 * pi * e0);//расчёт потенциала

cout << "N line segments on which the surface is broken : " << ln << endl;

cout << "The potential of a linear charge at a point a: ";

cout << setprecision(5)<< fi << endl;

cout << endl << "Broke more? (Y)," << endl;

cout << "No (N)" << endl;

cin >> ans;

}

}

system("PAUSE");

return(0);

}

Вывод: Исходя из полученных результатов, можно прийти к тому, что при увеличении числа разбиений, потенциал стремится к определенному значению (Рис. 2, 3). При расстоянии R = 0 потенциал имеет бесконечное значение, связано это с тем, что выбранная для расчета точка попадает на линейный заряд.

Список литературы:

  1. Internet.

  2. Моделирование полупроводниковых приборов и технологических процессов. Последние достижения. Под ред. Д. Миллера, М.: Радио и связь, 1989.

Соседние файлы в папке курсачи