2

I'm looking for a way of drawing one line diagrams of power distribution grids. So far I've come across CircuiTikZ, but this package seems to be oriented to a different kind of circuit diagram and doesn't include basic components such as buses. Does anyone know of a package that I could use for this?

Here is an example of such a diagram:

Aufnahmefähigkeit von Niederspannungsverteilnetzen für die Einspeisung aus Photovoltaikkleinanlagen - Georg Kerber

1

I work with Power Systems and I like LaTex. For many years, I searched a properly lib for draw one-line diagrams including power transmission lines, power transformers, generators, motors, loads, instrument transformers, etc. But until now, without success. I use Circuit Macros that uses M4 macros pre-processor to generate a .pic file and then dpic (or gpic) to generate a .tex file. It is not properly for Power Systems, but it helps.

Example code:

% `Loop.m4'
.PS
cct_init
ifdef(`AND_gate',,`include(liblog.m4)')
xgap = 0.6
define(`dimen_',0.75)
dim1 = 1; dim2 = 0.75 ; dim3=0.5
P0 : Here
box fill_(0.9) wid 1 "Xingu" "\SI{500}{\kV}"
P01 : Here
move to P0
move down 0.4
"$R_0=\SI{1,682}{\ohm}$" wid 0.1 ht 0.1 at Here ljust
move to P01
source(right_ dim2, G); llabel(,YY,); rlabel(,18~\%,)
P1 : Here
move down 0.2
line thick 3*linethick up 0.4 
move up 0.1
"$s$" wid 0.1 ht 0.1 at Here
move to P1
move right 0.1
move down 0.1
arrow right 0.2
move down 0.1
move left 0.2
"$I^s$" wid 0.1 ht 0.1 at Here
move to P1
move right 1.5
move up 0.1
"$l=\SI{2600}{\km}$" wid 0.1 ht 0.1 at Here
move to P1
line right 3.0
P2 : Here
move down 0.2
line thick 3*linethick up 0.4 
move up 0.1
"$r$" wid 0.1 ht 0.1 at Here
move to P2
source(right_ dim2, G); llabel(,YY,); rlabel(,18~\%,)
P3 : Here
box fill_(0.9) wid 1 "Nova Igua\c{c}u" "\SI{500}{\kV}"
move to P3
move down 0.4
"$Z_0=a+b$" wid 0.1 ht 0.1 at Here ljust
move to P1
move right 0.6
move up  0.3
RELE : BOX_gate(PP,,,,21)
line left 0.15 from last [].In1
move left 0.1
"$V^s$"
line left 0.15 from last [].In2
move left 0.1
"$I^s$"
move to P1
move right 0.2
move down 0.2
"$R_0=\SI{2600}{\km}$" wid 0.1 ht 0.1 at Here ljust
move to P1
move right 2.8
move down 0.2
"$R_0=\SI{2600}{\km}$" wid 0.1 ht 0.1 at Here rjust
.PE 

Using M4 macros and dpic according to manual is possible to generate a .tex file for generate the following figure (I did few changes in the .tex file, modifying some text).

enter image description here

I want to write a lib for Power Systems to including in Circuit Macros.

1

For interest, here is Renzo Fabián's code without all those moves:

.PS
log_init
xgap = 0.6
define(`dimen_',0.75)
  dim1 = 1; dim2 = 0.75 ; dim3=0.5
  X: box fill_(0.9) wid 1 "Xingu" "\SI{500}{\kV}"
  { "$R_0=\SI{1,682}{\ohm}$" wid 0.1 ht 0.1 at X.sw below ljust }
  source(right_ dim2, G); llabel(,YY,); rlabel(,18~\%,)
  { B1: line thick 3*linethick up 0.4 with .c at Here
    "$s$" wid 0.1 ht 0.1 }
  { arrow right 0.2 from last line.c+(0.1,-0.1) }
  { "$I^s$" wid 0.1 ht 0.1 at last line.start below }
  line right 3.0 "$l=\SI{2600}{\km}$" wid 0.1 ht 0.1 above
  { B2: line thick 3*linethick up 0.4 with .c at Here
    "$r$" wid 0.1 ht 0.1 above }
  source(right_ dim2, G); llabel(,YY,); rlabel(,18~\%,)
  NI: box fill_(0.9) wid 1 "Nova Igua\c{c}u" "\SI{500}{\kV}"
  "$Z_0=a+b$" wid 0.1 ht 0.1 at NI.sw below ljust
  RELE : BOX_gate(PP,,,,) with .w at B1+(0.6,0.3)
  line left 0.15 from last [].In1
  "$V^s$" rjust
  line left 0.15 from last [].In2
  "$I^s$" rjust
  "$R_0=\SI{2600}{\km}$" wid 0.1 ht 0.1 at B1+(0.2,-0.2) ljust
  "$R_0=\SI{2600}{\km}$" wid 0.1 ht 0.1 at B1+(2.8,-0.2) rjust
.PE

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.