Let $X$ be a path connected topological space and $x_0 \in X$ be a basepoint. Let $f:X \rightarrow X$ be a continuous map and further assume that $f(x_0)=x_0$. Moreover, we assume that $x_0$ has a contractible neighborhood $N \subseteq X$. The mapping torus of $f$ is the quotient space $M_f$ of product space $X \times I$ ($I=[0,1]$) given by $$ M_f:= X \times I/ (x,1) \sim (f(x),0).$$ Let $m_0=(x_0,1/2)$ be the basepoint of $M_f$. Now we want to show that the fundamental group of mapping torus is$$\pi_1(M_f,m_0) \cong \mathbb{Z} \ltimes_{f_{\ast}} G.$$Here $f_{\ast}$ is the induced homomorphism from $\pi_1(X,x_0)$ to $\pi_1(X,x_0)$. For simplicity, we just assume $f_{\ast}$ is an isomorphism. And $G:=\pi_1(X,x_0)$.
The idea for calculating the fundamental group is to use Seifert-van Kampen theorem. We let $U \subseteq M_f$ be the subspace which is the image of $X \times (0,1)$ under the quotient map. And we let $V \subseteq M_f$ be the subspace which is the image of $(X \times [0,1/3))\bigcup (X \times (2/3,1]) \bigcup (N \times I)$ under the quotient map. Now we know that $M_f=U \bigcup V$ and $U,V,U \bigcap V$ are all path connected. We can calculate directly that $\pi_1(U)=G=\pi_1(X)$ and $\pi_1(U \bigcap V)=G \ast G=\pi_1(X) \ast \pi_1(X)$. Now my question is how to use Seifert-van Kampen theorem to calculate $\pi_1(V)$ and then $\pi_1(U \bigcup V)=\pi_1(M_f,m_0)$? Or where can I find the references which give me the details on calculating the fundamental group of mapping torus? Thanks.