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 объект. Модель содержит 2D геометрию, mesh, электромагнитные свойства материалов, электромагнитные источники и граничные условия.

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

    Геометрический тип области в виде 'Edge'.

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

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

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

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

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

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

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

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

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

    свернуть все

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

    Больше о

    свернуть все

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

    В 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.xX-координата точки или точек

      • location.yY-координата точки или точек

      • 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

    • ID субдомена

    • 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 isnan. Решатели проверяют, нелинейна ли проблема путем передачи NaN значения состояния и поиск возвращенного NaN значения.

    Введенный в R2021a