electromagneticBC

Примените граничные условия к электромагнитной модели

    Описание

    пример

    electromagneticBC(emagmodel,RegionType,RegionID,'Voltage',V) добавляет условие контура напряжения к emagmodel. Граничное условие применяется к областям типа RegionType с идентификационными номерами в RegionID.

    пример

    electromagneticBC(emagmodel,RegionType,RegionID,'MagneticPotential',A) добавляет граничное условие магнитного потенциала к emagmodel. Граничное условие применяется к областям типа RegionType с идентификационными номерами в RegionID.

    electromagneticBC(___,'Vectorized','on') использует векторизованное вычисление функции, когда вы передаете указатель на функцию в качестве аргумента. Если указатель на функцию вычисляется векторизированным образом, то использование этого аргумента экономит время. См. Векторизация. Для получения дополнительной информации об этой оценке см. «Неконстантные граничные условия».

    Используйте этот синтаксис с любыми входными параметрами из предыдущих синтаксисов.

    пример

    emagBC = electromagneticBC(___) возвращает объект электромагнитного граничного условия.

    Примеры

    свернуть все

    Примените граничные условия напряжения к двум ребрам квадрата.

    emagmodel = createpde('electromagnetic','electrostatic');
    geometryFromEdges(emagmodel,@squareg);
    bc1 = electromagneticBC(emagmodel,'Edge',1,'Voltage',100)
    bc1 = 
      ElectromagneticBCAssignment with properties:
    
               RegionType: 'Edge'
                 RegionID: 1
                  Voltage: 100
        MagneticPotential: []
               Vectorized: 'off'
    
    
    bc3 = electromagneticBC(emagmodel,'Edge',3,'Voltage',200)
    bc3 = 
      ElectromagneticBCAssignment with properties:
    
               RegionType: 'Edge'
                 RegionID: 3
                  Voltage: 200
        MagneticPotential: []
               Vectorized: 'off'
    
    

    Применить граничное условие магнитного потенциала к контуру окружности.

    emagmodel = createpde('electromagnetic','magnetostatic');
    geometryFromEdges(emagmodel,@circleg);
    electromagneticBC(emagmodel,'Edge',1,'MagneticPotential',0)
    ans = 
      ElectromagneticBCAssignment with properties:
    
               RegionType: 'Edge'
                 RegionID: 1
                  Voltage: []
        MagneticPotential: 0
               Vectorized: 'off'
    
    

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

    Создайте электромагнитную модель для электростатического анализа.

    emagmodel = createpde('electromagnetic','electrostatic');

    Создайте геометрию и включите ее в модель.

    geometryFromEdges(emagmodel,@circleg);

    Задайте электростатический потенциал на контуре с помощью функцииV(x,y)=x2.

    bc = @(region,~)region.x.^2;
    electromagneticBC(emagmodel,'Edge',1:emagmodel.Geometry.NumEdges,'Voltage',bc)
    ans = 
      ElectromagneticBCAssignment with properties:
    
               RegionType: 'Edge'
                 RegionID: [1 2 3 4]
                  Voltage: @(region,~)region.x.^2
        MagneticPotential: []
               Vectorized: 'off'
    
    

    Входные параметры

    свернуть все

    Электромагнитная модель, заданная как ElectromagneticModel объект. Модель содержит 2-D геометрию, сетку, электромагнитные свойства материалов, электромагнитные источники и граничные условия.

    Пример: emagmodel = createpde('electromagnetic','electrostatic')

    Тип геометрической области, заданный как 'Edge'.

    Пример: electromagneticBC(emagmodel,'Edge',1,'Voltage',100)

    Типы данных: char | string

    Идентификатор ребра, заданный как вектор положительных целых чисел. Поиск идентификаторов ребра при помощи pdegplot с 'EdgeLabels' значение-имя аргумента установлено в 'on'.

    Типы данных: double

    Напряжение, заданное как действительное число или указатель на функцию. Используйте указатель на функцию, чтобы задать напряжение, которое зависит от координат или от решения. Для получения дополнительной информации смотрите Определение неконстантных параметров электромагнитной модели.

    Типы данных: double | function_handle

    Магнитный потенциал, заданный как действительное число или указатель на функцию. Используйте указатель на функцию, чтобы задать магнитный потенциал, который зависит от координат или от решения. Для получения дополнительной информации смотрите Определение неконстантных параметров электромагнитной модели.

    Типы данных: double | function_handle

    Выходные аргументы

    свернуть все

    Указатель на электромагнитное граничное условие, возвращаемый как ElectromagneticBCAssignment объект. Для получения дополнительной информации смотрите Свойства ElectromagneticBCAssignment.

    Подробнее о

    свернуть все

    Определение неконстантных параметров электромагнитной модели

    В Partial Differential Equation Toolbox™ Производными используйте указатель на функцию, чтобы задать эти электромагнитные параметры, когда они зависят от координат или решения:

    • Относительная диэлектрическая проницаемость материала

    • Относительная проницаемость материала

    • Плотность заряда как источник

    • Плотность тока как источник

    • Напряжение на контуре

    • Магнитный потенциал на контуре

    Для примера используйте указатели на функцию, чтобы задать относительную диэлектрическую проницаемость, плотность заряда и напряжение в контур для этой модели.

    electromagneticProperties(emagmodel, ...
                             'RelativePermittivity', ...
                              @myfunPermittivity)
    electromagneticSource(emagmodel, ...
                          'ChargeDensity',@myfunCharge, ...
                          'Face',2)
    electromagneticBC(emagmodel, ...
                      'Voltage',@myfunBC, ...
                       'Edge',2)

    Функция должна иметь форму:

    function emagVal = myfun(location,state)

    Решатель передает location и state данные для вашей функции:

    • location - Структура, содержащая следующие поля:

      • location.x - X-координата точки или точки

      • location.y - Y-координата точки или точки

      • location.z - Для осесимметричной геометрии z-координата точки или точки

      • location.r - Для осесимметричной геометрии r-координата точки или точки

    • state - структура, содержащая эти поля для нелинейных задач:

      • state.u - Электрический или магнитный потенциал в соответствующих точках структуры местоположения

      • state.ux - Оценки x-составляющей электрического или магнитного поля в соответствующих точках структуры местоположения

      • state.uy - Оценки y-составляющей электрического или магнитного поля в соответствующих точках структуры местоположения

      • state.uz - Для осесимметричной геометрии оценки z-составляющей электрического или магнитного поля в соответствующих точках структуры местоположения

      • state.ur - Для осесимметричной геометрии оценки r-составляющей электрического или магнитного поля в соответствующих точках структуры местоположения

    Электромагнитные свойства материала (относительная проницаемость или относительная проницаемость) и электромагнитный источник (плотность заряда или плотность тока) получают эти данные от решателя:

    • location.x, location.y, location.z, location.r

    • Идентификатор поддомена

    • state.u, state.ux, state.uy, state.uz, state.ur

    Граничные условия (напряжение или магнитный потенциал на контуре) получают эти данные от решателя:

    • location.x, location.y, location.z, location.r

    • location.nx, location.ny, location.nz, location.nr

    • state.u

    Если свойства зависят от электрического или магнитного потенциала, убедитесь, что ваша функция возвращает матрицу NaN правильного размера при state.u является NaN. Решатели проверяют, является ли задача нелинейной путем прохождения NaN значения состояния и поиск возвращенных NaN значения.

    Введенный в R2021a