コード例 #1
0
    integrate (fState11, l1, r11, v11);
    setState  (fState22, i2 * l2);
    integrate (fState22, l2, r22, v22);

    // mutual inductances
    setState  (fState12, i2 * M12);
    integrate (fState12, M12, r12, v12);
    setState  (fState21, i1 * M12);
    integrate (fState21, M12, r21, v21);

    setD (VSRC_1, VSRC_1, -r11);
    setD (VSRC_1, VSRC_2, -r12);
    setD (VSRC_2, VSRC_2, -r22);
    setD (VSRC_2, VSRC_1, -r21);
    setE (VSRC_1, v11 + v12);
    setE (VSRC_2, v22 + v21);
}

// properties
PROP_REQ [] = {
    { "L1", PROP_REAL, { 1e-3, PROP_NO_STR }, PROP_POS_RANGEX },
    { "L2", PROP_REAL, { 1e-3, PROP_NO_STR }, PROP_POS_RANGEX },
    { "k", PROP_REAL, { 0.9, PROP_NO_STR }, PROP_RNGXX (-1, 1) },
    PROP_NO_PROP
};
PROP_OPT [] = {
    PROP_NO_PROP
};
struct define_t mutual::cirdef =
{ "MUT", 4, PROP_COMPONENT, PROP_NO_SUBSTRATE, PROP_LINEAR, PROP_DEF };
コード例 #2
0
ファイル: mutual2.cpp プロジェクト: Freecore/qucs
  setState  (fState32, i2 * M23);
  integrate (fState32, M23, r32, v32);

  setD (VSRC_1, VSRC_1, -r11);
  setD (VSRC_1, VSRC_2, -r12);
  setD (VSRC_1, VSRC_3, -r13);
  setD (VSRC_2, VSRC_1, -r21);
  setD (VSRC_2, VSRC_2, -r22);
  setD (VSRC_2, VSRC_3, -r23);
  setD (VSRC_3, VSRC_1, -r31);
  setD (VSRC_3, VSRC_2, -r32);
  setD (VSRC_3, VSRC_3, -r33);
  setE (VSRC_1, v11 + v12 + v13);
  setE (VSRC_2, v21 + v22 + v23);
  setE (VSRC_3, v31 + v32 + v33);
}

// properties
PROP_REQ [] = {
  { "L1", PROP_REAL, { 1e-3, PROP_NO_STR }, PROP_POS_RANGEX },
  { "L2", PROP_REAL, { 1e-3, PROP_NO_STR }, PROP_POS_RANGEX },
  { "L3", PROP_REAL, { 1e-3, PROP_NO_STR }, PROP_POS_RANGEX },
  { "k12", PROP_REAL, { 0.9, PROP_NO_STR }, PROP_RNGXX (-1, 1) },
  { "k13", PROP_REAL, { 0.9, PROP_NO_STR }, PROP_RNGXX (-1, 1) },
  { "k23", PROP_REAL, { 0.9, PROP_NO_STR }, PROP_RNGXX (-1, 1) },
  PROP_NO_PROP };
PROP_OPT [] = {
  PROP_NO_PROP };
struct define_t mutual2::cirdef =
  { "MUT2", 6, PROP_COMPONENT, PROP_NO_SUBSTRATE, PROP_LINEAR, PROP_DEF };