electromagneticSource

Задайте плотность тока или взимайте плотность за электромагнитную модель

    Описание

    пример

    electromagneticSource(emagmodel,'CurrentDensity',J) задает плотность тока для магнитостатической модели.

    пример

    electromagneticSource(emagmodel,'ChargeDensity',rho) задает взимают плотность за электростатическую модель.

    пример

    electromagneticSource(___,RegionType,RegionID) задает текущую плотность, или взимайте плотность за заданную область геометрии. Используйте этот синтаксис с любым из входных параметров от предыдущих синтаксисов.

    пример

    emagSource = electromagneticSource(___) возвращает электромагнитный исходный объект.

    Примеры

    свернуть все

    Задайте плотность тока на целой геометрии для магнитостатического анализа.

    emagmodel = createpde('electromagnetic','magnetostatic');
    importGeometry(emagmodel,'PlateHoleSolid.stl');
    electromagneticSource(emagmodel,'CurrentDensity',[0;0;10])
    ans = 
      ElectromagneticSourceAssignment with properties:
    
            RegionType: 'Cell'
              RegionID: 1
         ChargeDensity: []
        CurrentDensity: [3x1 double]
    
    

    Задайте плотность заряда на отдельных поверхностях в электростатическом анализе.

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

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

    Создайте 2D геометрию с двумя поверхностями. Во-первых, импортируйте и постройте 2D геометрию, представляющую пластину отверстием.

    gm = importGeometry(emagmodel,'PlateHolePlanar.stl');
    pdegplot(gm,'EdgeLabels','on','FaceLabels','on')

    Figure contains an axes object. The axes object contains an object of type line.

    Затем заполните отверстие путем добавления поверхности и постройте получившуюся геометрию.

    gm = addFace(gm,5);
    pdegplot(gm,'FaceLabels','on')

    Figure contains an axes object. The axes object contains an object of type line.

    Задайте значения плотности заряда отдельно для поверхностей 1 и 2.

    sc1 = electromagneticSource(emagmodel,'Face',1,'ChargeDensity',0.3)
    sc1 = 
      ElectromagneticSourceAssignment with properties:
    
            RegionType: 'Face'
              RegionID: 1
         ChargeDensity: 0.3000
        CurrentDensity: []
    
    
    sc2 = electromagneticSource(emagmodel,'Face',2,'ChargeDensity',0.28)
    sc2 = 
      ElectromagneticSourceAssignment with properties:
    
            RegionType: 'Face'
              RegionID: 2
         ChargeDensity: 0.2800
        CurrentDensity: []
    
    

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

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

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

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

    geometryFromEdges(emagmodel,@circleg);

    Задайте плотность заряда в зависимости от x-и y-координат, ρ=0.3x2+y2.

    rho = @(location,~)0.3.*sqrt(location.x.^2 + location.y.^2);
    electromagneticSource(emagmodel,'ChargeDensity',rho)
    ans = 
      ElectromagneticSourceAssignment with properties:
    
            RegionType: 'Face'
              RegionID: 1
         ChargeDensity: @(location,~)0.3.*sqrt(location.x.^2+location.y.^2)
        CurrentDensity: []
    
    

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

    свернуть все

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

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

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

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

    Для получения дополнительной информации смотрите Больше О.

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

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

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

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

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

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

    Пример: electromagneticSource(emagmodel,'CurrentDensity',10,'Face',1:3)

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

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

    свернуть все

    Обработайте к электромагнитному источнику, возвращенному как ElectromagneticSourceAssignment объект. Для получения дополнительной информации смотрите ElectromagneticSourceAssignment 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