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

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

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

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

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

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

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

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

    Тип геометрической области, заданный как 'Face'.

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

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

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

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

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

    свернуть все

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

    Подробнее о

    свернуть все

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

    В 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.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