Q:

Defining a PGF shape

I am fairly new to using tikz but I haven't found a library with the shapes I am looking for. my end goal is to make a library like the circuits library but for thermodynamic systems. I have been trying to define a shape that is a triangle inscribed on a circle (like below) but can not get it to work.
 
Here's my code:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{positioning, arrows, shapes.geometric}

\pgfdeclareshape{pump}{
    \inheritsavedanchors[from=[regular polygon=3]]
    \inheritsavedanchors[from=circle]
    \inheritanchorborder[from=circle]
    \inheritanchor[from=circle]{center}
    \inheritanchor[from=circle]{radius}
    \inheritanchor[from=circle]{north}
    \inheritanchor[from=circle]{east}
    \inheritanchor[from=circle]{south}
    \inheritanchor[from=circle]{west}
}

\begin{document}

\begin{tikzpicture}
    \node[shape=pump, draw]{};
\end{tikzpicture}

\end{document}

A:

Welcome! You need to add an appropriate background path. I am also not sure if something like 
\inheritsavedanchors[from=[regular polygon=3]]

works, at least I would be surprised. Here is a proposal for that shape. 
\documentclass[tikz,border=3mm]{standalone}
\makeatletter
\pgfdeclareshape{pump}{%
    \inheritsavedanchors[from=circle]%
    \inheritanchorborder[from=circle]%
    \inheritanchor[from=circle]{center}%
    \inheritanchor[from=circle]{radius}%
    \inheritanchor[from=circle]{north}%
    \inheritanchor[from=circle]{east}%
    \inheritanchor[from=circle]{south}%
    \inheritanchor[from=circle]{west}%
  \anchor{north corner}{%
  \pgf@x=0pt%
  \pgf@y=\radius%
  }%    
  \anchor{west corner}{%
  \pgf@xa=\radius
  \pgf@x=-0.866025\pgf@xa%
  \pgf@y=-0.5\pgf@xa%
  }%    
  \anchor{east corner}{%
  \pgf@xa=\radius
  \pgf@x=0.866025\pgf@xa%
  \pgf@y=-0.5\pgf@xa%
  }%    
  \backgroundpath{%
    \pgf@xa\radius% store radius in auxiliary length 
    \pgfpathmoveto{\pgfpoint{0pt}{\pgf@xa}}%
    \pgfpathlineto{\pgfpoint{0.866025\pgf@xa}{-0.5\pgf@xa}}%
    \pgfpathlineto{\pgfpoint{-0.866025\pgf@xa}{-0.5\pgf@xa}}%
    \pgfpathclose
    \pgfpathcircle{\pgfpointorigin}{\pgf@xa}%
  }}
\makeatother
\begin{document}

\begin{tikzpicture}
 \node[shape=pump, draw,minimum size=1cm] (p1) {};
 \node[shape=pump, draw=blue,minimum size=2cm] (p2) at (4,1){};
 \draw[red] (p1.north corner) to[out=90,in=-150] (p2.west corner);
\end{tikzpicture}

\end{document}

