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');

    Импортируйте и постройте геометрию, представляющую пластину отверстием.

    gm = importGeometry(emagmodel,'PlateHoleSolid.stl');
    pdegplot(gm,'FaceLabels','on','FaceAlpha',0.3)

    Figure contains an axes object. The axes object contains 3 objects of type quiver, patch, line.

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

    bc1 = electromagneticBC(emagmodel,'Voltage',0,'Face',3:6)
    bc1 = 
      ElectromagneticBCAssignment with properties:
    
               RegionType: 'Face'
                 RegionID: [3 4 5 6]
                  Voltage: 0
        MagneticPotential: []
               Vectorized: 'off'
    
    

    Примените граничное условие напряжения на поверхность, ограничивающую отверстие.

    bc2 = electromagneticBC(emagmodel,'Voltage',1000,'Face',7)
    bc2 = 
      ElectromagneticBCAssignment with properties:
    
               RegionType: 'Face'
                 RegionID: 7
                  Voltage: 1000
        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 = @(location,~)location.x.^2;
    electromagneticBC(emagmodel,'Edge',1:emagmodel.Geometry.NumEdges, ...
                                'Voltage',bc)
    ans = 
      ElectromagneticBCAssignment with properties:
    
               RegionType: 'Edge'
                 RegionID: [1 2 3 4]
                  Voltage: @(location,~)location.x.^2
        MagneticPotential: []
               Vectorized: 'off'
    
    

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

    свернуть все

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

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

    Геометрический тип области в виде 'Edge' для 2D модели или 'Face' для 3-D модели.

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

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

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

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

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

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

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

    Типы данных: 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,~)

    Решатель вычисляет и заполняет данные в location массив структур и передачи эти данные к вашей функции. Можно задать функцию так, чтобы ее выход зависел от этих данных. Можно использовать любое имя вместо location. Чтобы использовать дополнительные аргументы в вашей функции, перенесите свою функцию (который берет дополнительные аргументы) с анонимной функцией, которая берет только location аргумент. Например:

    emagVal = @(location,~) myfunWithAdditionalArgs(location,arg1,arg2...)
    electromagneticBC(model,'Edge',3,'Voltage',emagVal)
    

    Если вы вызываете electromagneticBC с Vectorized установите на 'on', затем местоположение может содержать несколько точек оценки. Если вы не устанавливаете Vectorized или используйте Vectorizedoff, затем решатели передают всего одну точку оценки в каждом вызове.

    location данные являются структурой, содержащей эти поля:

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

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

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

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

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

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

    • ID субдомена

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

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

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

    Для непостоянной относительной проницаемости, относительной проницаемости и плотности заряда, выходной параметр, возвращенный указателем на функцию, должен иметь размер 1- Np, где Np = numel(location.x) число точек.

    Для непостоянной плотности тока и магнитного потенциала на контуре, выходной параметр, возвращенный указателем на функцию, должен иметь размер 1- Np для 2D проблемы и 3- Np для 3-D проблемы.

    Введенный в R2021a