electromagneticSource

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

    Описание

    пример

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

    пример

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

    пример

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

    пример

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

    Примеры

    свернуть все

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

    emagmodel = createpde('electromagnetic','magnetostatic');
    importGeometry(emagmodel,'PlateHolePlanar.stl');
    electromagneticSource(emagmodel,'CurrentDensity',10)
    ans = 
      ElectromagneticSourceAssignment with properties:
    
            RegionType: 'Face'
              RegionID: 1
         ChargeDensity: []
        CurrentDensity: 10
    
    

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

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

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

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

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

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

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

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

    Figure contains an axes. The axes 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 = @(region,state)0.3.*sqrt(region.x.^2 + region.y.^2);
    electromagneticSource(emagmodel,'ChargeDensity',rho)
    ans = 
      ElectromagneticSourceAssignment with properties:
    
            RegionType: 'Face'
              RegionID: 1
         ChargeDensity: @(region,state)0.3.*sqrt(region.x.^2+region.y.^2)
        CurrentDensity: []
    
    

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

    свернуть все

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

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

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

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

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

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

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

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

    Столкнитесь с ID в виде вектора из положительных целых чисел. Найдите идентификаторы поверхности при помощи pdegplot с 'FaceLabels' набор аргумента значения имени к '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,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