  # GetDP Electromagnetics general solver 2D
  getdpEMGeneral2D: &getdpEMGeneral2D
    key: getdpEMGeneral2D
    command: runGetdp
    DOF_variable: AZ

    constraints:
      - MagneticVectorPotential_2D
      - CurrentLoad_2D
      - VoltageLoad_2D
      - Lin2D
      - name: Voltage_2D
        limitedTo: circdom
      - name: Current_2D
        limitedTo: circdom
      - name: target_power
        limitedTo: circdom
        
    case_constants:
      - target_power

    networks:
      - name: ElectricalCircuit
        typeKey: circdom

    domain_groups:
      em_nc:
        non_conducting_domain: [this]
      em_cc:
        conducting_domain: [this]
      source_dom:
        source_domain: [this]
      #permag_dom:
      #  magnet_domain: [this]
      em_sibc:
        sibc_domain: [this]
      stranded_source_dom:
        stranded_source_domain: [this]
      circdom:
        circuit_domain: [this]

    bc_groups:
      infinity: Sur_INFINITY_B
      flux_parallel: Sur_FLUXPARALLEL_B
      flux_normal: Sur_FLUXNORMAL_B
      symm_axis: Sur_SYMMAXIS_B
      interface: Sur_INTERFACE_B
      sibc: Sur_SIBC_B

    flags:
      material:
        bhNLFlag:
          condition: BHModel
          isNLFlag: true
        # muCNLFlag: mu_C
        # muNLFlag: mu

    argumentPosition:
      Current_2D:
        time: -1
      Voltage_2D:
        time: -1
      frequency:
        time: -1
      BHModel:
        magIntensity: 1
      mu:
        temperature: 2
      sigma:
        temperature: 1
      target_power:
        time: -1


    postValues:
      muTest:
        name: muTest
        term:
          - '1/(nu_nu0[{d a},#1] * mu0)'
        type: RESIDUAL_FOR_ADAPTIVE
        domains:
          - non_conducting_domain, conducting_domain, source_domain, sibc_domain, stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: true
        default: true
      sigmaTest:
        name: sigmaTest
        term:
          - 'sigma[#1]'
          - '0'
        type: RESIDUAL_FOR_ADAPTIVE
        domains:
          - conducting_domain, source_domain, sibc_domain, stranded_source_domain
          - non_conducting_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: true
        default: true
      jheatTest:
        name: Joule_heat
        safeName: Joule_heat,_W/m3
        units: '\frac{W}{m^3}'
        term:
          - '0.5*sigma[#1]*SquNorm[Dt[{a}]+{ur}/GeomCoeff[]] '
          - '0.5*SquNorm[Nc[]*{istr}/area[]]/(FillFactor[]*sigma[#1]) '
          - '0'
        type: RESIDUAL_FOR_ADAPTIVE
        domains:
          - conducting_domain, source_domain
          - stranded_source_domain
          - non_conducting_domain, sibc_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: true
        default: false

      Bfield:
        name: Magnetic Flux Density
        safeName: Magnetic_Flux_Density_B,_[T]
        symbol: B
        units: T
        term:
          - Norm[ {d a} ]
        type: NODE_FIELD
        domains:
          - non_conducting_domain, conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        hidden: false
        default: true
        locked: true

      Bfield_re:
        name: Magnetic Flux Density
        safeName: Magnetic_Flux_Density_B_re,_[T]
        symbol: B_{re}
        units: T
        term:
          - Re[{d a}]
        type: NODE_FIELD
        components: 3
        domains:
          - non_conducting_domain, conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        hidden: false
        default: true

      Bfield_im:
        name: Magnetic Flux Density
        safeName: Magnetic_Flux_Density_B_im,_[T]
        symbol: B_{im}
        units: T
        term:
          - Im[{d a}]
        type: NODE_FIELD
        components: 3
        domains:
          - non_conducting_domain, conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        hidden: false
        default: true

      Jheat:
        name: Joule heat
        safeName: Joule_heat,_[W_m^-3]
        units: '\frac{W}{m^3}'
        term:
          - '0.5*Norm[sigma[#1]*(Dt[{a}]+{ur}/GeomCoeff[])*(Dt[{a}]+{ur}/GeomCoeff[])] '
          - '0.5*SquNorm[Nc[]*{istr}/area[]]/(FillFactor[]*sigma[#1]) '
        type: NODE_FIELD
        domains:
          - conducting_domain, source_domain
          - stranded_source_domain
        smoothing: 1
        exportToVTK: true
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true
        locked: true

      rSigma:
        name: rSigma
        term:
          - 'Abs[(Norm[sigma[#1] * Vector[1,1,1] - sigma[#2] * Vector[1,1,1]])/(Norm[sigma[#3] * Vector[1,1,1]])]'
        type: RESIDUAL
        valueRegister: 1
        domains:
          - conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}[1]]"
            2:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
            3:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: true
        default: true

      rSigmaMax:
        name: Electrical Conductivity
        term:
          - '#1'
        type: MAX_VAL
        valueRegister: 2
        domains:
          - conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        hidden: true
        default: true

      rMu:
        name: rMu
        term:
          - 'Abs[(Norm[ nu_nu0[{d a},#1] * Vector[1,1,1] - nu_nu0[{d a},#2] * Vector[1,1,1]])/( Norm[nu_nu0[{d a},#3] * Vector[1,1,1]])]'
        type: RESIDUAL
        valueRegister: 3
        domains:
          - conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}[1]]"
            2:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
            3:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: true
        default: true
      rMuMax:
        name: Magnetic Permeability
        term:
          - '#3'
        type: MAX_VAL
        valueRegister: 4
        domains:
          - conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        hidden: true
        default: true

      CurrDens:
        name: Current Density
        safeName: Current_Density_J,_[A_m^-2]
        symbol: J
        units: '\frac{A}{m^2}'
        term:
          - 'Norm[sigma[#1]*(Dt[{a}]+{ur}/GeomCoeff[])] '
          - 'Nc[]/area[]*Norm[{istr}] '
        type: NODE_FIELD
        domains:
          - conducting_domain, source_domain
          - stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true
        locked: true

      CurrDens_re:
        name: Current Density
        safeName: Current_Density_J_re,_[A_m^-2]
        symbol: J_{re}
        units: '\frac{A}{m^2}'
        term:
          - "-Re[sigma[#1]*(Dt[{a}]+{ur}/GeomCoeff[])]  "
          - "-Nc[]/area[]*Re [{istr}]"
        type: NODE_FIELD
        components: 3
        domains:
          - conducting_domain, source_domain
          - stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true

      CurrDens_im:
        name: Current Density
        safeName: Current_Density_J_im,_[A_m^-2]
        symbol: J_{im}
        units: '\frac{A}{m^2}'
        term:
          - "-Im[sigma[#1]*(Dt[{a}]+{ur}/GeomCoeff[])]"
          - "-Nc[]/area[]*Im [{istr}]"
        type: NODE_FIELD
        components: 3
        domains:
          - conducting_domain, source_domain
          - stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true

      aActivePower:
        name: Active Power
        safeName: Active_Power_[W]
        units: W
        term:
          - 'GeomCoeff[] * Norm[sigma[#1]*(Dt[{a}]+{ur}/GeomCoeff[])*(Dt[{a}]+{ur}/GeomCoeff[])]/(rmsCoeff[]^2) '
          - ' Fs[Sqrt[area[]*4/3.14]*Sqrt[3.14*Freq*sigma[#1]/(2*nu_nu0[{d a},#1])]] *GeomCoeff[] * SquNorm[{istr}/area[]] * Nc[]^(2*(1-a_litz[]))/(FillFactor[]*sigma[#1]*rmsCoeff[]^2) '
        type: INTEGRAL
        domains:
          - conducting_domain, source_domain
          - stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true
        locked: true
        sumAllDomains: true
      # abSkinEffPower:
        # term:
          # - ' Fs[Sqrt[area[]*4/3.14]*Sqrt[3.14*Freq*sigma[]/(2*nu_nu0[])]] *GeomCoeff[] * SquNorm[{istr}/area[]] * Nc[]^(2*(1-a_litz[]))/(FillFactor[]*sigma[#1]*rmsCoeff[]^2) '
        # type: INTEGRAL
        # name: 'Skin Effect Power [W]'
        # domains:
          # - stranded_source_domain
        # smoothing: 1
        # args:
            # 1:
                # physics: physicsInductionHeating
                # string: "<T>[{T}]"

      # acProximityPower:
        # term:
          # - ' Gs[Sqrt[area[]*4/3.14]*Sqrt[3.14*Freq*sigma[]/(2*nu_nu0[])]] *GeomCoeff[]* SquNorm[{d a}*nu_nu0[]]*Nc[]/(FillFactor[]*sigma[#1]*rmsCoeff[]^2) '
        # type: INTEGRAL
        # name: 'Proximity Effect Power [W]'
        # domains:
          # - stranded_source_domain
        # smoothing: 1
        # args:
            # 1:
                # physics: physicsInductionHeating
                # string: "<T>[{T}]"

      # aeProximityPower:
        # term:
          # - ' Ds[0.003*Sqrt[3.14*Freq*  sigma[]/nu_nu0[]]] * GeomCoeff[] * SquNorm[{d a}*nu_nu0[]]/sigma[] '
        # type: INTEGRAL
        # name: 'Proximity Effect Power 2 [W]'
        # domains:
          # - stranded_source_domain
        # smoothing: 1
        # args:
            # 1:
                # physics: physicsInductionHeating
                # string: "<T>[{T}]"

      bApparentPower:
        name: Apparent Power
        safeName: Apparent_Power_[VA]
        units: VA
        term:
          - 'Abs[{U}*Conj[{I}]]/(rmsCoeff[]^2) '
          - 'Abs[{Ustr}*Conj[{Istr}]]/(Nc[]^a_litz[]*rmsCoeff[]^2) '
        type: GLOBAL
        domains:
          - source_domain
          - stranded_source_domain
        smoothing: 1
        hidden: false
        default: true
        locked: true

      cMagneticEnergy:
        name: Magnetic Energy
        safeName: Magnetic_Energy_[J]
        units: J
        term:
          - 'GeomCoeff[] * 1/2 *nu_nu0[{d a},#1]*{d a}*Conj[{d a}] / (rmsCoeff[]^2) '
        type: INTEGRAL
        domains:
          - non_conducting_domain, conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true

      ecVoltage:
        name: Voltage RMS
        safeName: Voltage.RMS_[V]
        units: V
        term:
          - ' Norm[{Uz}]/(Nc[]^a_litz[]*rmsCoeff[]) '
        type: GLOBAL
        domains:
          - circuit_domain
        smoothing: 1
        hidden: false
        default: true
        locked: true
      eaVoltage:
        name: Voltage Real
        safeName: Voltage.Real_[V]
        units: V
        term:
          - ' Re[{Uz}]/(Nc[]^a_litz[]) '
        type: GLOBAL
        domains:
          - circuit_domain
        smoothing: 1
        hidden: false
        default: true

      ebVoltage:
        name: Voltage Imaginary
        safeName: Voltage.Imaginary_[V]
        units: V
        term:
          - ' Im[{Uz}]/(Nc[]^a_litz[]) '
        type: GLOBAL
        domains:
          - circuit_domain
        smoothing: 1
        hidden: false
        default: true

      fResistance:
        name: Resistance
        safeName: Resistance_[Ohm]
        units: Ohm
        term:
          - ' Re[{Uz}*{Iz_post}^-1] '
        type: GLOBAL
        domains:
          - circuit_domain
        smoothing: 1
        hidden: false
        default: true

      fInductance:
        name: Inductance
        safeName: Inductance_[uH]
        units: uH
        term:
          - ' 1e6*Im[{Uz}*{Iz_post}^-1]/(2*3.14*Freq) '
        type: GLOBAL
        domains:
          - circuit_domain
        smoothing: 1
        hidden: false
        default: true
        locked: true
      ccInducedCurrent:
        name: Induced Current.RMS
        safeName: Induced_Current.RMS_[A]
        units: A
        term:
          - ' Norm[{I}]/rmsCoeff[] '
        type: GLOBAL
        domains:
          - conducting_domain
        smoothing: 1
        hidden: false
        default: true
      caInducedCurrentReal:
        name: Induced Current.Real
        safeName: Induced_Current.Real_[A]
        units: A
        term:
          - ' Re[{I}] '
        type: GLOBAL
        domains:
          - conducting_domain
        smoothing: 1
        hidden: false
        default: true
      cbInducedCurrentImag:
        name: Induced Current.Imaginary
        safeName: Induced_Current.Imaginary_[A]
        units: A
        term:
          - ' Im[{I}] '
        type: GLOBAL
        domains:
          - conducting_domain
        smoothing: 1
        hidden: false
        default: true

      SurfCurrDens:
        name: Surface Current Density
        safeName: Surface_Current_Density_J,_[A_m^-1]
        description: "For Surface impedance domains only."
        symbol: J
        units: '\frac{A}{m}'
        term:
          - "-1/(Complex[1,1]* Sqrt[3.14*Freq/(nu_nu0[]*sigma[#1])])*Norm[(Dt[{a}]+{ur})]  "
        type: BOUNDARY_NODE_FIELD
        components: 1
        domains:
          - Sur_SIBC_B
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true
      SurfCurrDens_re:
        name: Surface Current Density
        safeName: Surface_Current_Density_J_re,_[A_m^-1]
        description: "For Surface impedance domains only."
        symbol: J_{re}
        units: '\frac{A}{m}'
        term:
          - "-1/(Complex[1,1]* Sqrt[3.14*Freq/(nu_nu0[]*sigma[#1])])*Re[(Dt[{a}]+{ur})]  "
        type: BOUNDARY_NODE_FIELD
        components: 3
        domains:
          - Sur_SIBC_B
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true
      SurfCurrDens_im:
        name: Surface Current Density
        safeName: Surface_Current_Density_J_im,_[A_m^-1]
        description: "For Surface impedance domains only."
        symbol: J_{im}
        units: '\frac{A}{m}'
        term:
          - "-1/(Complex[1,1]* Sqrt[3.14*Freq/(nu_nu0[]*sigma[#1])])*Im[(Dt[{a}]+{ur})]"
        type: BOUNDARY_NODE_FIELD
        components: 3
        domains:
          - Sur_SIBC_B
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true
      SurfJheat:
        name: Surface_Joule_heat
        safeName: Surface_Joule_heat,_[W_m^-2]
        description: "For Surface impedance domains only."
        units: '\frac{W}{m^2}'
        term:
          - '0.5 * Re[Complex[1,1]* Sqrt[3.14*Freq/(nu_nu0[]*sigma[#1])]] * SquNorm[1/(Complex[1,1]* Sqrt[3.14*Freq/(nu_nu0[]*sigma[#1])]) *  (Dt[{a}]+{ur})] '
        type: BOUNDARY_NODE_FIELD
        domains:
        - Sur_SIBC_B
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true
      JheatSurfIntegral:
        name: Surface Joule Heat
        safeName: Surface_Joule_Heat_[W]
        description: "For Surface impedance domains only."
        units: W
        term:
          - '0.5 * GeomCoeff[] * Re[Complex[1,1]* Sqrt[3.14*Freq/(nu_nu0[]*sigma[#1])]] * SquNorm[1/(Complex[1,1]* Sqrt[3.14*Freq/(nu_nu0[]*sigma[#1])]) *  (Dt[{a}]+{ur})]'
        type: BOUNDARY_INTEGRAL
        domains:
          - Sur_SIBC_B
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true

      dcSourceCurrent:
        name: Source Current.RMS
        safeName: Source_Current.RMS_[A]
        units: A
        term:
          - ' Norm[{Iz_post}]/Sqrt[2]'
        type: GLOBAL
        domains:
          - circuit_domain
        smoothing: 1
        hidden: false
        default: true
        locked: true
      daSourceCurrentReal:
        name: Source Current.Real
        safeName: Source_Current.Real_[A]
        units: A
        term:
          - ' Re[{Iz_post}] '
        type: GLOBAL
        domains:
          - circuit_domain
        smoothing: 1
        hidden: false
        default: true
      dbSourceCurrentImag:
        name: Source Current.Imaginary
        safeName: Source_Current.Imaginary_[A]
        units: A
        term:
          - ' Im[{Iz_post}] '
        type: GLOBAL
        domains:
          - circuit_domain
        smoothing: 1
        hidden: false
        default: true

      mu:
        name: Relative Permeability
        safeName: Relative_Permeability_mu
        symbol: '\mu'
        units: '-'
        term:
          - '1/(Norm[nu_nu0[{d a},#1]*Vector[1,1,1]/Norm[Vector[1,1,1]]* mu0])'
        type: NODE_FIELD
        domains:
          - non_conducting_domain, conducting_domain, source_domain, sibc_domain, stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: false

      Avecpot:
        name: Magnetic vector potential
        safeName: Magnetic_Vector_Potential_A,_[T/m]
        symbol: A
        units: '\frac{T}{m}'
        term:
          - Norm[ {a} ]
        type: NODE_FIELD
        domains:
          - non_conducting_domain, conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        hidden: false
        default: false

      Avecpot_re:
        name: Magnetic vector potential
        safeName: Magnetic_Vector_Potential_A_re,_[T/m]
        symbol: A_{re}
        units: '\frac{T}{m}'
        term:
          - Re[ {a} ]
        type: NODE_FIELD
        domains:
          - non_conducting_domain, conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        hidden: false
        default: false

      Avecpot_im:
        name: Magnetic vector potential
        safeName: Magnetic_Vector_Potential_A_im,_[T/m]
        symbol: A_{im}
        units: '\frac{T}{m}'
        term:
          - Im[ {a} ]
        type: NODE_FIELD
        domains:
          - non_conducting_domain, conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        hidden: false
        default: false

      TotalPower:
        name: Total Active Power
        safeName: Total_Active_Power_[W]
        units: W
        term:
          - 'GeomCoeff[] * Norm[sigma[#1]*(Dt[{a}]+{ur}/GeomCoeff[])*(Dt[{a}]+{ur}/GeomCoeff[])]/(rmsCoeff[]^2) '
          - ' Fs[Sqrt[area[]*4/3.14]*Sqrt[3.14*Freq*sigma[#1]/(2*nu_nu0[{d a},#1])]] *GeomCoeff[] * SquNorm[{istr}/area[]] * Nc[]^(2*(1-a_litz[]))/(FillFactor[]*sigma[#1]*rmsCoeff[]^2) '
        type: TOTAL_VALUE
        domains:
          - conducting_domain, source_domain
          - stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true
        
      ScalingPower:
        name: Scaling Active Power
        safeName: Scaling_Active_Power_[W]
        units: W
        term:
          - ' GeomCoeff[] * Norm[sigma[#1]*(Dt[{a}]+{ur}/GeomCoeff[])*(Dt[{a}]+{ur}/GeomCoeff[])]/(rmsCoeff[]^2) / target_power[]'
          - ' Fs[Sqrt[area[]*4/3.14]*Sqrt[3.14*Freq*sigma[#1]/(2*nu_nu0[{d a},#1])]] *GeomCoeff[] * SquNorm[{istr}/area[]] * Nc[]^(2*(1-a_litz[]))/(FillFactor[]*sigma[#1]*rmsCoeff[]^2) / target_power[] '
        type: SCALING_VALUE
        domains:
          - conducting_domain, source_domain
          - stranded_source_domain
        scalingConstraints:
          - Current_2D
        smoothing: 1
        valueRegister: 11
        enableIfDefined: 'target_power'
        equationForScaling: '1/Sqrt[#11]'
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: true
        default: true        
        
      TotalMagneticEnergy:
        name: Total Magnetic Energy
        safeName: Total_Magnetic_Energy_[J]
        units: J
        term:
          - 'GeomCoeff[] * 1/2 *nu_nu0[{d a},#1]*{d a}*Conj[{d a}] / (rmsCoeff[]^2) '
        type: TOTAL_VALUE
        domains:
          - non_conducting_domain, conducting_domain, source_domain, stranded_source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: true

      LorentzForce:
        name: Lorentz Force Density
        safeName: Lorentz_Force_Density_f,_[N_m^-3]
        symbol: f
        units: '\frac{N}{m^3}'
        term:
          - "(1/rmsCoeff[])^2*Re[{d a}/\\Conj[ sigma[#1]*(Dt[{a}]+{ur}/GeomCoeff[]) ]]"
          - '0'
        type: NODE_FIELD
        components: 3
        domains:
          - conducting_domain, source_domain
          - non_conducting_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: false

      xForceTM:
        name: Magnetic Force X
        safeName: Magnetic_Force_X_[N]
        units: N
        term:
          # - ' (GeomCoeff[] == 2*3.14 ? 0 : 1) * CompX[ - nu_nu0[{d a},#1] * GeomCoeff[] /(rmsCoeff[]^2) * (SquDyadicProduct[{d a}] - SquNorm[{d a}] * TensorDiag[0.5, 0.5, 0.5])* {d ln} ]'
          - ' (GeomCoeff[] == 2*3.14 ? 0 : 1) * CompX[ - nu_nu0[{d a},#1] * GeomCoeff[] /(rmsCoeff[]^2) * (TensorV[CompX[{d a}]*Conj[{d a}], CompY[{d a}]*Conj[{d a}], CompZ[{d a}]*Conj[{d a}]] - {d a}*Conj[{d a}] * TensorDiag[0.5, 0.5, 0.5]) *{d ln} ]'
        type: INTEGRAL
        domains:
          - non_conducting_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: false

      yForceTM:
        name: Magnetic Force Y
        safeName: Magnetic_Force_Y_[N]
        units: N
        term:
          # - 'CompY[ - nu_nu0[{d a},#1] * GeomCoeff[] /(rmsCoeff[]^2) * (SquDyadicProduct[{d a}] - SquNorm[{d a}] * TensorDiag[0.5, 0.5, 0.5]) *{d ln} ]'
          - ' CompY[ - nu_nu0[{d a},#1] * GeomCoeff[] /(rmsCoeff[]^2) * (TensorV[CompX[{d a}]*Conj[{d a}], CompY[{d a}]*Conj[{d a}], CompZ[{d a}]*Conj[{d a}]] - {d a}*Conj[{d a}] * TensorDiag[0.5, 0.5, 0.5]) *{d ln} ]'
        type: INTEGRAL
        domains:
          - non_conducting_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: false

      fLorentzForceX:
        name: Integral Lorentz Force X
        safeName: Integral_Lorentz_Force_X_[N]
        units: N
        term:
          - "(GeomCoeff[] == 2*3.14 ? 0 : 1) * CompX[(1/rmsCoeff[])^2*Re[{d a}/\\Conj[ sigma[#1]*(Dt[{a}]+{ur}/GeomCoeff[]) ]]]"
        type: INTEGRAL
        domains:
          - conducting_domain, source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: false

      fLorentzForceY:
        name: Integral Lorentz Force Y
        safeName: Integral_Lorentz_Force_Y_[N]
        units: N
        term:
          - "GeomCoeff[] * CompY[(1/rmsCoeff[])^2*Re[{d a}/\\Conj[ sigma[#1]*(Dt[{a}]+{ur}/GeomCoeff[]) ]]]"
        type: INTEGRAL
        domains:
          - conducting_domain, source_domain
        smoothing: 1
        args:
            1:
                physics: physicsInductionHeating
                string: "<T>[{T}]"
        hidden: false
        default: false

