Перейти к содержанию
    

X-Shadow

Участник
  • Постов

    47
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о X-Shadow

  • Звание
    Участник
    Участник
  1. Большое спасибо за помощь! Потенциал на границе х=10 должен быть равен нулю т.к там металл который подключен к земле. Производная тоже должна быть равна нулю т.к внутри металла электрического поля нет (рассматриваем идеальный случай). Касательно почему не в пакетах TCAD. Я сначала хочу получить аналитический результат а потом сравнить его с симуляцией. Сейчас пытаюсь реализовать это в MATLAB но пока как то туго. Собственно код: global coef_A coef_B; coef_A = 1.5477e+10; coef_B = 9.7420e+03; U = 1; %значение y(-20e-7) dy1 = 0; %значение y'(-20e7) err = 1e-1; %допустимая ошибка значения y(10e-7) end_val = 2; %значение в точке y(10e-7) xspan_neg = [-20e-7 : 1e-8 : -1e-8]; %интервалы xspan_pos = [1e-8 : 1e-8 : 10e-7]; while end_val > err %пока конечное значение больше ошибки y0_neg = [U dy1]; %вектор потенциала и производной в точке -20у-7 [X1,Y1] = ode45('neg_diff_eq',xspan_neg,y0_neg); %вычисляем функцию y(x) и y'(x) на участке [-20e-7; 0] U1 = Y1(end,1); %значение y(+0), первое условие непрерывности dU1 = 0.5391*Y1(end,2); %значение y'(+0), второй условие непрерывности y0_pos = [U1 dU1]; %формируем вектор [X2,Y2] = ode45('pos_diff_eq',xspan_pos,y0_pos); %вычисляем функцию y(x) и y'(x) на участке [0; 10e-7] end_val = abs(Y2(end,1)); %полученное значение значение y(10e-7) dy1 = dy1 - 1e4; %уменьшаем значение первой производной end X = [X1; X2]; Y = [Y1; Y2]; %склеиваем графики subplot(2,1,1); %рисуем plot(X,Y(:,1)); subplot(2,1,2); plot(X,Y(:,2)); А сами функции выглядят так: function [ dydx ] = neg_diff_eq( x , y ) dydx = zeros(2,1); % create zero array dydx(1) = y(2); dydx(2) = 0; end function [ dydx ] = pos_diff_eq( x , y ) global coef_A coef_B; dydx = zeros(2,1); % create zero array dydx(1) = y(2); dydx(2) = coef_A*(1+coef_B*y(1))^(3/2)-1; end Но в итоге решение почемуто не сходится. Матлаб просто зависает пытаясь это решить
  2. Я задал этот вопрос на хелпе матлаба и там человек предложил решение http://www.mathworks.com.au/matlabcentral/...ential-equation. Опуская матлабовские функции этот мужик предлагает решить подобную задачу следующим образом (как я понял): разбить систему на 2 уравнения и решать их как будто 2 разных дифура с нач условиями. Значения первых производных не известны поэтому для начала приравнять обе к 0 (касательно правой части отрезка это верно т.к там она и равна нулю). Затем решить 2 уравнения отдельно друг от друга и проверить условие в районе точки 0. Если не сходятся то изменить начальное условие (увеличить или уменьшить начальное значение производной) и повторять пока не будут выполняться условия в районе точки 0. Все бы хорошо кроме одного нюанса - я точно знаю что производная в правом участке y'(10)=0 (ну или около нуля т.к в этом месте полупроводник имеет контакт с металлом и на границе т.к это оммический переход потенциалы должны быть равны а следовательно первая производная от функции потенциала тоже равна 0), это условие из физики. Т.е как бы мы это и не меняем. Но вот получается что второе уравнение никак не зависит от изменения параметров в первом. Фактически мы просто подгоняем решение первого уравнения чтобы оно сходилось с решением второго хотя на самом деле решение второго уравнения должно зависеть от граничного условия в точке х=-20 (в этой точке мы прикладываем потенциал U). Или может я чтото не так понял?
  3. Похоже что матлаб врятли сможет решить это встроенными функциями. Они все расчитаны на то что производная как и сама функция гладкие а следуя условию a*y'(-0)=c*y'(+0) выходит что первая производная кусочно гладкая. Поэтому врятли это можно решить встроенными функциями, скорее всего придется писать свой алгоритм
  4. Вообще это задача посути есть моделирование электрического потенциала под затвором в МДП транзисторе. Участок где вторая производная равна нулю есть диэлектрик и там действительно согласно закону потенциал меняется линейно. В другой же части моделируется полупроводник. Из за аккумуляции носителей заряда возле границы полупроводник-диэлектрик (точка 0) потенциал там меняется не линейно. Условия y(-0)=y(+0) и a*y'(-0)=c*y'(+0) есть условия непрерывности потенциала и вектора электрической индукции соответственно. Большое спасибо, был бы очень благодарен за какой нибудь маленький примерчик
  5. Здравствуйте. Столкнулся с проблемой при решении системы дифференциальных уравнений которая представлена на рисунке в приложении. Эта система содержит два интервала. Из за того что это система уравнений второго порядка и я не знаю значений для первых производных на границах (y'(-20) и y'(10)) то это задача с граничными условиями и в теории может быть решена с помощью функции bvp4c. Проблема в том как прописать эту систему уравнений вместе с условием непрерывности в районе точки 0 (снизу изображения). Я попытался сделать следующее (функция для передачи в bvp4c): function [ dydx ] = tode( x , y ) dydx = zeros(2,1); % create zero array dydx(1) = y(2); if (x > 0) dydx(2) = b/a*((1+y(1))^(3/2)-1); elseif (x <= 0) dydx(2) = 0; end; end Однако эта функция не включает в себя условие с первыми производными. Подскажите пожалуйста как можно решить данную проблему? Спасибо.
  6. Большое спасибо за совет. Для поверхностного волновода неоднородностью может служить диэлектрик с иной проницаемостью. А какого плана должна быть неоднородность? Всмысле какой ширины/длины? Хотя впринципе здесь можно использовать уже параметрический анализ если предположить что ширина неоднородности равна ширине волновода
  7. Я понимаю что ситуация другая и прошу прощения что ввел в заблуждение. Дело в том что расчет поверхностных волноводов толком нигде в литературе не описан. Да, пишут что есть такие волноводы и рассматривают двухмерную модель и получают аналитическую формулу которая как раз таки и применима только в невесомости и вакууме. Я прекрасно понимаю что подобная задача точно может быть решена только путем моделирования да и в итоге не факт что моделирование и реальность будут одинаковыми и скорее всего придется донастраивать уже вживую. Но тк подобные расчеты требуют огромного вычислительного времени я подумал применить упрощенную модель дабы получить хоть какойто начальный результат от которого уже можно отталкиваться в симуляции
  8. Благодарю за книгу. Объясню суть проблемы. Не стал писать сразу дабы не загружать пост, попытался сможелировать расчитанный аналитически вариант (2) но результат вышел неверный. Суть проблемы в том что это не микрополосковая линия а волновод со всеми вытекающими. Частота очень высокая (60 ГГц). Земли нет, волновод направляет поверхностную волну. Необходимо сделать сочленение двух полноводов с разной шириной. Проблема усугубляется тем что волноводы с потерями а следовательно Z0 и ZL комплексные числа. При помощи шлейфа можно согласовать 2 волновода причем как с условием минимального отражения Z0=ZL так и с условием максимальной передачи мощности Z0=ZL* (ZL* комплексно сопряженное). Я понимаю что точное значение можно получить только путем симуляции но делать симуляцию по 2 параметрам это ставить расчет на месяц и то не факт что с удачным исходом. Поэтому я хотел посчитать приблизительное значение аналитически чтобы в дальшейшем от него отталкиваться.
  9. Здравствуйте. Пытаюсь согласовать микрополосковую линию на комплексную нагрузку при помощи заглушки (stub matching, прошу прощения, не знаю как звучит этот термин в русской литературе). Из теории: есть линия передачи с характеристическим импедансом Z0 и комплексная нагрузка ZL (см. рис. stub_matching.png). Чтобы согласовать линию хочу использовать метод согласования параллельной заглушкой (открытой или закороченной что впринципе не так важно т.к линия работает в узкополосном режиме). Для этого необходимо поместить заглушку длиной _b_ (для согласования мнимой части импеданса) на расстоянии _a_ от нагрузки (для согласования действительной части импеданса). Из практики: я расчитал микрополосковую линию на необходимый импеданс. Далее вопрос в том как поместить заглушку относительно линии (см. рис. stub_matching2.png)? Какой из вариантов верный? Спасибо.
  10. Вопрос не в коменте а в одном из параметров компонента (если 2 раза кликнуть по компоненту то в появившемся окне справа сверху будет окно параметров), в коменте он просто ссылкой идет
  11. Дело в том что параметр Value отображается в виде коментария и соответственно переходит и на печатную плату тоже. Как можно в схеме поменять значение этого параметра для отдельной room?
  12. Здравствуйте. Есть блок повторяющийся 3 раза на плате. Я развел один блок и скопировал Room. Как можно теперь назначить разные номиналы элементов в разных румах? (у резистора есть параметр Value)
  13. Или как еще вариант, можно ли компоненты из блоков А1...А4 перенести в блок В чтобы они стали принадлежать ему и тогда можно будет просто скопировать рум?
  14. Вероятно отказ идет из за того что у элементов из 4 румов одинаковый Channel Offset. Как можно его сбросить и назначить заново со сквозной нумерацией в блоке В?
  15. А как это правильно сделать? Я выделил уже разведенный блок В1 и нажал Design -> Rooms -> Create rectangle room from selected components. Создалась room и я назвал ее D1. Выделил все компоненты блока B2 и проделал ту же операцию. Теперь пытаюсь скопировать D1 в D2 но копируются только проводники и компоненты блока В а блока А не копируются хотя в component class они присутствуют. В чем может быть проблема? Причем при копировании поле Channel Class пустое Ничего не понимаю. В настройках проекта указал что вообще не нужно генерировать румы и классы. Потом повторил создание рума из выделенных компонентов. Результат тот же самый хотя в классах для этих румов содержатся правильные компоненты
×
×
  • Создать...