exponenta event banner

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

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

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

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

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

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

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

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

    свернуть все

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

    Подробнее

    свернуть все

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

    В дифференциальном уравнении 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