\documentclass[11pt]{article}
\usepackage[a4paper,margin=18mm]{geometry}
\usepackage{tikzphysics}
\pagestyle{empty}
\begin{document}
\section*{Comparing processes on one pressure--volume frame}
\begin{center}
\begin{tikzpicture}[>=latex,pv width=7cm,pv height=5cm,font=\small]
 \node[pv diagram] (F) {};
 \node[isobaric process,pv show axes=false] (B) at (F.center) {};
 \node[isothermal process,pv show axes=false,dashed] (I) at (F.center) {};
 \node[adiabatic process,pv show axes=false,densely dotted,thick] (A) at (F.center) {};
 \node[above] at (F.pressure-end) {$P$};
 \node[right] at (F.volume-end) {$V$};
 \node[below left] at (F.origin) {$0$};
 \draw[thin,densely dashed] (I.start-pressure)--(I.start)--(I.start-volume);
 \draw[thin,densely dashed] (I.end-pressure)--(I.end)--(I.end-volume);
 \node[left] at (I.start-pressure) {$P_0$};
 \node[below] at (I.start-volume) {$V_0$};
 \node[below] at (I.end-volume) {$V_1$};
 \foreach \n in {B,I,A}{\fill (\n.end) circle (1.5pt);}
 \node[right] at (B.end) {isobaric};
 \node[right] at (I.end) {isothermal};
 \node[right] at (A.end) {adiabatic};
 \fill (I.start) circle (1.7pt);
 \foreach \n in {B,I,A}{\draw[->] (\n.process-40)--(\n.process-48);}
\end{tikzpicture}
\end{center}
The three processes start at the same state. Solid, dashed and dotted curves
remain distinct in black and white. Hiding axes retains every named coordinate
and percentage anchor. All overlaid nodes share the same axis dimensions and limits.

\bigskip
\begin{center}
\begin{tikzpicture}[>=latex,pv width=7cm,pv height=4cm,font=\small]
 \node[isothermal process,pv start volume=3,pv start pressure=1,pv end volume=1] (C) {};
 \draw[->] (C.process-40)--(C.process-50);
 \node[right] at (C.volume-end) {$V$};
 \node[above] at (C.pressure-end) {$P$};
 \fill (C.start) circle (1.5pt) node[above right] {start};
 \fill (C.end) circle (1.5pt) node[above right] {end};
\end{tikzpicture}
\end{center}
Reversing the volume endpoints draws compression. Process percentages continue
to run from the specified start state to the specified end state.

\clearpage
\section*{Circular connections and configurable energy diagrams}
\begin{center}
\begin{tikzpicture}[>=latex,font=\small]
 \node[heat engine,thermal device size=2cm] (E) {$E$};
 \foreach \angle in {45,135,225,315}{
  \coordinate (P\angle) at (\angle:2.4cm);
  \draw[->] (P\angle)--(E);
 }
 \node at (0,-2.5) {Automatic connections meet the circle};
\end{tikzpicture}
\end{center}
\begin{center}
\begin{tikzpicture}[>=latex,font=\small]
 \pic (H) {heat pump diagram={
  thermo diagram separation=2.5cm,
  thermo diagram work length=1.8cm,
  thermal device size=1.4cm,
  reservoir width=4cm,
  thermo hot label={$T_H=300\,\mathrm{K}$},
  thermo cold label={$T_C=270\,\mathrm{K}$},
  thermo refrigerator label={HP}}};
 \fill (H-heat-hot-50) circle (1.3pt);
 \fill (H-heat-cold-50) circle (1.3pt);
 \fill (H-work-50) circle (1.3pt);
 \node[below=12pt] at (H-cold.south) {Heat pump: work enters, heat moves from cold to hot};
\end{tikzpicture}
\end{center}
\begin{center}
\begin{tikzpicture}[>=latex,font=\small,every thermo flow/.append style={dashed}]
 \pic[rotate=90,scale=.8,transform shape] (R) {heat engine diagram};
\end{tikzpicture}
\end{center}
Black dots mark the 50-percent heat and work coordinates of the heat pump.
The final engine is rotated and scaled with its nodes, connections and labels.
The dashed arrows demonstrate document-level style customization.

\clearpage
\section*{Cycle states and projections}
\begin{center}
\begin{tikzpicture}[>=latex,pv width=7cm,pv height=4.5cm,font=\small]
 \node[carnot cycle,carnot temperature ratio=.7,carnot expansion ratio=1.5] (C) {};
 \node[right] at (C.volume-end) {$V$};
 \node[above] at (C.pressure-end) {$P$};
 \foreach \s/\pos in {A/above left,B/above right,C/below right,D/above left}{
  \draw[thin,densely dashed] (C.state-\s-volume)--(C.state-\s)--(C.state-\s-pressure);
  \fill (C.state-\s) circle (1.5pt) node[\pos] {\s};
  \node[below] at (C.state-\s-volume) {$V_\s$};
 }
 \foreach \branch in {hot,expansion,cold,compression}{\draw[->] (C.\branch-40)--(C.\branch-50);}
\end{tikzpicture}
\end{center}
The cycle is derived from an absolute-temperature ratio of 0.7, a hot isothermal
expansion ratio of 1.5, and $\gamma=1.4$. Each state has independent pressure and
volume projection anchors. All branches join at the same four physical states.

\bigskip
\begin{center}
\begin{tikzpicture}[>=latex,font=\small]
 \node[rectangular cycle,pv width=6cm,pv height=3.5cm,rotate=15] (R) {};
 \foreach \s/\pos in {A/below left,B/above left,C/above right,D/below right}{
  \fill (R.state-\s) circle (1.5pt) node[\pos] {\s};
 }
 \foreach \branch in {AB,BC,CD,DA}{\draw[->] (R.\branch-45)--(R.\branch-55);}
\end{tikzpicture}
\end{center}
Rotated rectangular cycle: geometry, states and percentage branch anchors rotate
together. Text and axis annotations remain under the document author's control.
\end{document}
