text:
\section{Introduction}
Interconnects are widely used in 2.5D/3D packages and integrated circuits (ICs) [\citen{PackagingICs_1}][\citen{PackagingICs_2}]. The power integrity/signal integrity (SI/PI) are vital to be considered in design of interconnects in high frequency region for its performance [\citen{PackagingICs_1}]-[\citen{PackagingICs_4}]. Circuit parameters, like parasitic resistance and inductance, are essential to the design of SI/PI [\citen{PackagingICs_2}][\citen{SIPI_1}].

To accurately and efficiently extract those parameters of complex interconnects in packages, many efforts have been made in the last few decades. Several volumetric integral equation (VIE) formulations are proposed to extract the wideband resistance and inductance. FastHenry is one popular open-source solver based on the magneto-quasi-static (MQS) VIE formulation in conjugate with a mesh analysis, and currents are assumed to mainly flow in the longitude direction [\citen{FastHenry}]. However, since electric currents significantly crowd towards surfaces of conductors in high frequency region, extremely fine meshes are usually required to accurately model the skin effect in highly lossy interconnects. Then, several full-wave VIE formulation are proposed to model interconnects under exterior electromagnetic waves or complex inhomogeneous media [\citen{FullWaveVIE_1}]-[\citen{FullWaveVIE_3}].

To improve the computational efficiency, surface integral equation (SIE) formulations are proposed to extract parameters of interconnects. Those formulations usually show performance improvements over their volumetric counterparts, since unknowns only reside on surfaces of interconnects. For example, several full-wave methods based on the SIE formulations are developed in [\citen{SIEFullwave1}]-[\citen{SIEFullwave6}], in which the tangential electric and magnetic fields are calculated on the surfaces of objects. Many formulations based on the SIEs and circuit theory, namely the partial element equivalent circuit (PEEC) methods, are proposed to model circuit structures [\citen{SIEPEEC_0}]-[\citen{SIEPEEC_8}]. In those formulations, electromagnetic quantities are interpreted as circuit elements, and then external excitations are applied for impedance extraction. In addition, an open-source solver, namely FastImp [\citen{FastImp}], based on the mixed potential integral equation (MPIE) formulation was developed to model arbitrarily shaped conductors [\citen{MPIE1}]-[\citen{MPIE3}]. In [\citen{MQSSIE}], an MQS SIE formulation is proposed to model interconnects with rectangular panels. Compared with other formulations, it is more efficient since the surface impedance boundary condition used to model the skin effect. However, currents are still assumed to flow in the longitude direction. Arbitrary currents cannot be easy to be modeled in complex interconnects. The Ansys Q3D extractor based on the MQS SIE formulation was developed to model interconnects in industrial applications [\citen{AnsysQ3D}].

In this article, an SIE formulation under the MQS assumption is proposed to efficiently and accurately model arbitrarily shaped interconnects in packages. To conveniently apply the charge conservation condition and external voltage sources, all electromagnetic quantities are decently transferred into circuit elements. For practical complex interconnects, the equivalent circuits may be nonplanar circuits. Therefore, a loop analysis rather than the traditional mesh analysis is developed to carefully construct matrix equations with an independent and complete set of unknowns based on graph theory. In addition, the pre-corrected Fast Fourier Transform (pFFT) [\citen{PFFT2}][\citen{PFFT}] is successfully implemented to solve matrix equation for large-scale interconnects, and an efficient preconditioner is developed to accelerate the convergence. We carried out four practical examples from simple to complex structures, including a rectangular metallic interconnect, bounding wire arrays, interconnects in a real-life circuit and the power distribution networks (PDNs) used in packages, to validate its accuracy, efficiency and scalability.

Compared with other existing techniques, contributions in this article are mainly in three aspects.
\begin{enumerate}
	\item  An SIE formulation under the MQS assumption with the triangular discretization is used to model arbitrarily shaped interconnects in packages. Through carefully interpreting the SIE formulation as an equivalent circuit, the loop analysis is successfully developed to apply the charge conservation condition and exterior excitations.

	\item An efficient preconditioner is introduced to accelerate the convergence of the proposed SIE formulation, and the pFFT algorithm is specially tailored to fast calculate the matrix-vector product for large-scale problems, Therefore, it can model practical complex interconnects.

	\item Four practical complex structures in packages are used to verify the accuracy, efficiency and flexibility of the proposed formulation. Results show that it can efficiently model large-scale interconnects, and solve the practical problems in the real-life circuits with the same level of accuracy compared with the industrial solver.
\end{enumerate}

The article is organized as follows. In Section II, the proposed SIE formulation with the triangular discretization and the modified Rao-Wilton-Glisson (RWG) basis functions are detailed presented. Then, its equivalent circuit corresponding to the SIE formulation is introduced and detailed explained. In Section III, the loop analysis with graph theory is used to apply the charge conservation condition and voltage sources. An effective preconditioner is proposed to accelerate the convergence and the pFFT algorithm is detailed shown in Section IV. Then, four numerical examples are carried out to validate the accuracy and efficiency of the proposed formulation in Section V. Finally, we draw some conclusions in Section VI.

\section{The SIE Formulation for Lossy Interconnects}
\subsection{The MQS SIE formulation}
Without loss of generality, external excitations are not included inside interconnects. The electric field in the exterior space can be expressed as
\begin{equation}\label{MPIE1}
	\mathbf{E} = -j\omega\mathbf{A}-\nabla\Phi,
\end{equation}
where $\mathbf{E}$, $\mathbf{A}$, $\Phi$ are the electric field, the vector potential and the scalar potential, respectively. $\omega$ denotes the angular frequency. $\mathbf{A}$ can be expressed in terms of the electric current density and the Green's function as
\begin{equation}\label{VectorPotential}
	\mathbf{A} = \mu_{0}\int G_{0}\left(\mathbf{r},\mathbf{r}'\right)\mathbf{J}\left(\mathbf{r}'\right)d\mathbf{r}'.
\end{equation}
By substituting (\ref{VectorPotential}) into (\ref{MPIE1}), we have
\begin{equation}\label{MPIE2}
	\mathbf{E} = -j\omega\mu_{0}\int G_{0}\left(\mathbf{r},\mathbf{r}'\right)\mathbf{J}\left(\mathbf{r}'\right)d\mathbf{r}'-\nabla\Phi,
\end{equation}
which is the well-known MPIE. In this article, we consider that the skin effect is well-developed in the high frequency region. Therefore, electric currents mainly flow towards the perimeter of interconnects. The surface impedance operator can be used to relate the tangential electric field to the surface current density, which is given by
\begin{equation}\label{ImpedanceOp}
	Z_{s} = \sqrt{j\omega\mu/\sigma},
\end{equation}
where $\sigma$ is the conductivity of the interconnect. It should be noted that (\ref{ImpedanceOp}) is only valid in the high frequency region, where the skin effect is well-developed. When parameters in the low frequency region are considered, other impedance operators, such as the generalized impedance boundary condition [\citen{GIBC_1}]-[\citen{GIBC_3}], should be used.

By considering lossy effects imposed by (\ref{ImpedanceOp}), (\ref{MPIE2}) can be modified as
\begin{equation}\label{MPIE3}
	Z_{s}\mathbf{J}\left(\mathbf{r}\right)+j\omega\mu_{0}\int G_{0}\left(\mathbf{r},\mathbf{r}'\right)\mathbf{J}\left(\mathbf{r}'\right)d\mathbf{r}' = -\nabla\Phi.
\end{equation}
(\ref{MPIE3}) is the SIE formulation to model lossy interconnects.

Since interconnects in packages are considered in this article, of which the large typical sizes are only several millimeters, the MQS assumption can be safely used. Therefore, the static Green's function in free space is used in (\ref{MPIE3}), which is given by
\begin{equation}\label{StaticGF}
	G_{0}\left(\mathbf{r},\mathbf{r}'\right) = \frac{1}{4\pi\lvert\mathbf{r}-\mathbf{r}'\rvert}.
\end{equation}
The MQS assumption also implies the electric charge conservation condition, namely $\nabla\cdot\mathbf{J} = 0$. In Section III, the loop analysis will be selected to enforce it.

\subsection{Surface Discretization Through Triangles}
Generally, volumetric or surface elements, such as tetrahedron, filament, triangle and panel, are used to divide interconnects into small ones to calculate numerical results. Volumetric elements are usually applied in VIEs, such as filaments in FastHenry [\citen{FastHenry}], voxels in VoxHenry [\citen{VoxHenry}], and tetrahedrons in [\citen{FullWaveVIE_1}], which lead to prohibitively large modeling errors of complex structures or computational cost in terms of runtime and memory to model the well-developed skin effect. For surface elements, rectangular panels with pulse basis functions are developed in [\citen{MQSSIE}], in which currents are assumed to flow in the longitude direction. Currents in arbitrary directions are not easy to be supported.

In our implementation, triangles are used to discretize the surface of interconnects. Therefore, arbitrarily shaped interconnects can be easily discretized with considerably small modeling errors. In addition, the RWG functions can be used to support currents in arbitrary direction. Therefore, triangles are much more preferred for complex interconnects.

\subsection{Construction of Matrix Equations Through Modified RWG Basis Functions}

The method of moments (MoM) is chosen to solve the electric current density in (\ref{MPIE3}). Once triangle meshes on the surface of interconnects are constructed, the modified RWG functions are used to discretize surface current density $\mathbf{J}$, which can be expressed as
\begin{equation}\label{RWG}
	{{\bf{f}}_n}({\bf{r}}) = \left\{ {\begin{array}{*{2}{cc}}
			\frac{1}{{2A_n^ + }}{\bm{\rho }}_n^ + ({\bf{r}}) &{\bf{r}}\,{\rm{ in }}\,T_n^ + \\[0.7em]
			\frac{1}{{2A_n^ - }}{\bm{\rho }}_n^ - ({\bf{r}}) &{\bf{r}}\,{\rm{ in }}\,T_n^ - \\[0.7em]
			0 &otherwise
	\end{array}} \right.
\end{equation}
Compared with the traditional RWG basis function in [\citen{RWGFunction}], it should be noted that the edge length does not exist for (\ref{RWG}) in our implementation. Then, the current density $\mathbf J$ can be expanded using the modified RWG functions
\begin{equation}\label{ExpandJ}
	{\bf{J}}({\bf{r}}) = \sum\limits_{i = 1}^{{N_e}} {{I_{{b_i}}}{{\bf{f}}_i}({\bf{r}})},
\end{equation}
where $N_e$ is the total number of edges. The expansion coefficient $I_{b_{i}}$ denotes the current flows across the edge $i$ from the triangle $T_{n}^{+}$ to $T_{n}^{-}$. Since $\mathbf{f}_n$ is scaled by its corresponding edge length, $I_{b_{i}}$ denotes the electric current rather than the current density flowing through the edge $i$ as the original RWG basis function. Such modification is imported and makes the loop analysis be easily applied as shown in Section III.

In addition, the pulse functions are used to expand $\Phi$, which is expressed as
\begin{equation}\label{ExpandPotential}
\Phi ({\bf{r}}) = \sum\limits_{i = 1}^{{N_t}} {{\varphi _i}{\Pi _i}({\bf{r}})},
\end{equation}
where $N_t$ is the overall number of triangles, $\Pi _i({\bf{r}})$ is $1$ on the $i$th triangle and 0 outside it, respectively.

We substitute (\ref{ExpandJ}) and (\ref{ExpandPotential}) into (\ref{MPIE3}), and the Galerkin scheme is selected to test (\ref{MPIE3}). The following matrix equation can be obtained
\begin{equation}\label{BranchVandI}
{{\bf{Z}}_b}{{\bf{I}}_b} = {{\bf{V}}_b},
\end{equation}
where
\begin{align}
	{\left[ {{{\bf{Z}}_b}} \right]_{ij}} &=  \frac{{j\omega \mu }}{{4\pi }}\int\limits_{{S_i}} {{{\bf{f}}_i}({\bf{r}})} \int\limits_{{S_j}} {\frac{{{{\bf{f}}_j}({\bf{r'}})}}{{\left| {{\bf{r}} - {\bf{r'}}} \right|}}d{\bf{r}}d{\bf{r'}}}\notag\\
\label{Zb}	& \quad\quad\quad\quad\quad\quad\quad\quad+{Z_s}\int\limits_{{S_i}} {{{\bf{f}}_i}({\bf{r}}){{\bf{f}}_j}({\bf{r}}')d{\bf{r}}} ,\\
\label{Vb}	{\left[ {{{\bf{V}}_b}} \right]_i}\, &= \varphi _i^ +  - \varphi _i^ - .
\end{align}
$\mathbf{V}_b$ is the potential difference between two triangles shared with the edge $i$, and $\mathbf{I}_b$ collects all unknowns in a column vector. To accurately solve (\ref{BranchVandI}), the modified nodal analysis (MNA) [\citen{NodaA}] or the mesh analysis [\citen{FastHenry}] is required to enforce the charge conversation condition. This part will be introduced in Section III.

\subsection{Physical Interpretation of (\ref{BranchVandI}) in the View of Circuit Theory}
In fact, under the MQS assumption, (\ref{BranchVandI}) can be completely interpreted through circuit theory, which makes it easy and convenient to enforce the charge conservation condition and external excitations.
\begin{figure}
	\centering
	\includegraphics[width=0.5\textwidth]{EquCircuit.jpg}
	\caption{The triangle discretization for a triangular prism interconnect, and the equivalent circuit for a triangle pair.}
	\label{CDinTp}
\end{figure}
To make the derivation clear, we introduce two domains: the electromagnetic domain and the circuit domain. As shown in Fig. \ref{CDinTp}, each triangle is treated as one circuit node in the circuit domain, and one edge between two triangles represents a circuit branch between two nodes. Under these intuitive interpretations, $\mathbf{I}_b$ and $\mathbf{V}_b$ can be regarded as branch currents and voltages in the circuit domain.

In (\ref{Zb}), $\mathbf{Z}_b$ can be separated into two parts: the resistance $\mathbf{R}_b$ and the inductance $\mathbf{L}_b$. $\mathbf{R}_b$ represents the first term of $\mathbf{Z}_b$, and $\mathbf{L}_b$ is the second term. The equivalent circuits for Row\#$i$ of $\mathbf{Z}_b$ are in Fig. \ref{CDinTp}. In the circuit domain, $\left[\mathbf{L}_b\right]_{ii}$ represents the self-inductance, while $\left[\mathbf{L}_b\right]_{ij}\left(j=1,2,\ldots,n,i\neq j\right)$ denotes voltage controlled voltage sources (VCVSs). Similarly, $\left[\mathbf{R}_b\right]_{ii}$ can be represented by a resistor $R_{ii}$, and other four terms of $\left[\mathbf{R}_b\right]_{ij}$ are treated as four current controlled voltage sources (CCVSs) [\citen{CircuitEq}], which are serially connected with $R_{ii}$. Table  \ref{EMDomain2CCDomain} summarizes the relationship between quantities in the electromagnetic domain and their corresponding physical concepts or elements in the circuit domain.

Fig. \ref{CDinTp} gives a simple example, which is a prism-shaped interconnect. 8 triangular patches are used to construct its surface, which are marked through black numbers with circles. There are 12 edges in total and the red numbers with squares are used to mark them. The equivalence in Table \ref{EMDomain2CCDomain} is applied to this interconnect, and a planar circuit is obtained as shown in Fig. \ref{EqC}. Therefore, to this point, it is fully interpreted as a circuit. In Section III, we will use graph theory to select an independent unknown set, and then solve it.

\begin{figure}
	\centering
	\includegraphics[width=0.48\textwidth]{Eq_Circuit_Rot_cut.jpg}
	\caption{The circuit corresponds to the interconnect in Fig. \ref{CDinTp} by applying the relationship between electromagnetic quantities and circuit elements in Table  \ref{EMDomain2CCDomain}.}
	\label{EqC}
\end{figure}

\renewcommand\arraystretch{1.2}
\begin{table}
	\centering
	\caption{Relationship between quantities in  the electromagnetic domain and elements in the circuit domain}\label{EMDomain2CCDomain}
	\begin{tabular}{|l|c|}
		\hline
		\textbf{EM domain}                              &\textbf{Circuit domain} \\
		\hline
		Triangle                                                  &Node   \\
		\hline
		Edge                                                       &Branch            \\
		\hline
		$\left[\mathbf{I}_{b}\right]$                    &Branch current\\
		\hline
		$\left[\mathbf{V}_{b}\right]$                    &Branch voltage\\
		\hline
		$\left[\mathbf{L}_{b}\right]_{ii}$               &Indcutor \\
		\hline
		$\left[\mathbf{L}_{b}\right]_{ij}\left(i\neq j\right)$               &VCVS\\
		\hline
		$\left[\mathbf{R}_{b}\right]_{ii}$               &Resistor \\
		\hline
	    $\left[\mathbf{R}_{b}\right]_{ij}\left(i\neq j\right)$              &CCVS \\
		\hline
	\end{tabular}
\end{table}

\section{Loop Analysis}
In Section II, (\ref{BranchVandI}) is derived to describe the relationship between the branch current and voltage. To solve it, additional constraints are required in the practical applications, such as the charge conservation law and external excitations. The MNA [\citen{NodaA}], which enforces the Kirchoff's current law, was widely used in many applications [\citen{CircuitEq}]. For each node (triangle), summation of currents flowing into and out of one circuit node should be zero, which leads to an additional matrix equation upon branch currents. Therefore, unknowns in the MNA include branch currents and node voltages. The dimension of the final matrix equation is the summation of the number of edges and triangles. Another option is to use the mesh analysis, which can enforce the Kirchoff's voltage law, and leads to a much smaller matrix equation compared with that from the MNA. However, the mesh analysis is only applicable for planar circuit, which are not true for practical complex interconnects. To overcome this issue, we propose to use the loop analysis to enforce those additional conditions for general applications.

\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{Circuit_GraphACurrent_cut.jpg}
	\caption{The graph for the circuit in Fig. \ref{EqC} and the direction of branch currents.}
	\label{TopoGraph}
\end{figure}

\begin{figure}
	\centering
	\includegraphics[width=0.499\textwidth]{Circuit_Tree_cut.jpg}
	\caption{A tree for the graph in Fig. \ref{TopoGraph} and the corresponding twigs and links. The right panel shows the tree connection.}
	\label{TreeDefinition}
\end{figure}

\subsection{Graph Theory in the Circuit Analysis}
This subsection briefly introduces some essential concepts used in our analysis, and then uses them to solve (\ref{BranchVandI}). When all elements of the equivalent circuit in Fig. \ref{EqC} are removed, a graph of its topological connection can be obtained as shown in Fig. \ref{TopoGraph}. Our following analysis is based on this graph. According to graph theory [\citen{GraphT1}], each connected graph can construct a {\it tree}, which is defined by all nodes connecting through branches, but without including any closed loops. Once a tree for the circuit is generated, all branches in the graph are divided into two groups: those in or not in the tree. Branches in the tree are called {\it twigs}, and the other branches are called {\it links}. It should be noted that the tree for a graph may have many possibilities. Fig. \ref{TreeDefinition} shows one possible tree for the graph in Fig. \ref{TopoGraph}, in which twigs are in red solid lines and links are in block dash lines.

Obviously, if there are $n$ nodes and $b$ branches for a graph with one degree of separation, the overall count of twigs should be $(n-1)$ and the overall count of links is $(b-n+1)$. The {\it degree of separation} is the number of completely separated parts, which denotes the number of fully separated conductors without any physically connection. Therefore, the overall counts of twigs and links are $(n-s)$ and $(b-n+s)$ for a graph with $s$ degree of separation, respectively.

In the loop analysis, loop currents rather than branch currents are required to be solved. The loops cannot be arbitrarily chosen, and the set of loops should be independent and complete. Generally, one possible choice is to generate the {\it fundamental loop}, which is a loop consisting of only one link and several connected twigs (see Fig. \ref{LoopIllu}). Therefore, the overall count of fundamental loops is equal to that of links. It is found that if loop currents are defined on the fundamental loops, they are independent with each other, and a set including all fundamental loops is complete. Therefore, we can easily construct such set through a tree for the graph. In Fig. \ref{LoopIllu}, all the black solid circles consist of such set.

\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{GTreeWithLoop_cut.jpg}
	\caption{The fundamental loops for the selected tree without additional source, and the corresponding transfer matrix $\mathbf A$.}
	\label{LoopIllu}
\end{figure}
\subsection{Transfer Branch Quantities to Loop Counterparts}
To get loop currents and voltages, the Kirchoff's voltage law is applied in each fundamental loop. For each loop, the summation of branch voltages must be equal to the loop voltage, which is expressed as
\begin{equation}\label{VolT}
	\mathbf{A} \mathbf{V}_b=\mathbf{V}_l,
\end{equation}
where $\mathbf{A}$ transfers the branch voltage $\mathbf{V}_b$ to the loop counterpart $\mathbf{V}_l$. Generally, the loop voltage is zero if there are no additional voltage sources in the corresponding loop. The dimension of $\mathbf{A}$ is $l \times b$, where $b$ is the overall count of branches and $l = (b-n+s)$ is the number of links. Its entries are $-1$ or $1$, which corresponds to the direction of loops and branch voltage drops. Fig. \ref{LoopIllu} gives elements of $\mathbf{A}$ for the corresponding loops. $\mathbf{A}$ is a sparse matrix and can be efficiently stored through the compressed column storage (CCS) or compressed row storage (CRS) format.

The transfer matrix from loop currents to branch counterparts is the transpose of $\mathbf{A}$, which is given by
\begin{equation}\label{CurT}
	\mathbf{A}^T \mathbf{I}_l=\mathbf{I}_b,
\end{equation}
where $\mathbf{I}_l$ is a column vector including all loop currents. By substituting (\ref{VolT}) and (\ref{CurT}) into (\ref{BranchVandI}), we have
\begin{equation}\label{LoopVandI}
	\mathbf{Z}_l \mathbf{I}_l=\mathbf{V}_l,
\end{equation}
where $\mathbf{Z}_l=\mathbf{A Z}_b \mathbf{A}^T$.

By using $\mathbf{A}$ and $\mathbf{A}^T$, branch quantities are replaced by their corresponding loop counterparts, and the dimension of the matrix equation significantly reduces from $(b+n)$ to $(b-n+s)$. For a closed surface, the number of edges is always one and a half times as the number of triangles. Therefore, the dimension of matrix equation generated by the loop analysis is about 20\% of that by the MNA.

\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{MatrixwithLoopAndSource_cut.jpg}
	\caption{The loops with a voltage source between Node\#1 and Node\#2 and the modified Matrix $\mathbf{A}$.}
	\label{LoopWithEx}
\end{figure}
\subsection{Apply Voltage Sources to the Circuit}

Generally, a voltage source is attached between two circuit nodes. The tree of a circuit does not need to be modified. It is also true for twigs, because no additional circuit nodes are added. The only difference is that an additional link is generated. Therefore, a new fundamental loop should be considered as shown in Fig. \ref{LoopWithEx}. The dimension of matrix in (\ref{LoopVandI}) is $(b-n+s+p)$ if external voltage sources are considered, where $p$ is the overall number of exterior voltage sources. The modified matrix $\mathbf A$ is shown in Fig. \ref{LoopWithEx}.

Once the loop analysis is carried out, and the external voltage source is attached to the circuit, the final matrix equation is expressed as
\begin{equation}\label{FinalME}
	{\bf{A}}{{\bf{Z}}_b}{{\bf{A}}^T}{{\bf{I}}_l} = {{\bf{V}}_l}.
\end{equation}

\section{Preconditioning and PFFT Acceleration}
When large-scale interconnects are considered, (\ref{FinalME}) have to be solved with iterative algorithms. The generalized minimal residual method (GMRES) [\citen{GMRES}] is used to solve (\ref{FinalME}) in our implementation. To speed up its convergence, a preconditioner is carefully designed and the pFFT is implemented to accelerate the matrix-vector multiplication. This section introduces the preconditioning matrix and the pFFT acceleration algorithm.

\subsection{Preconditioning}
To reduce the overall iteration number and accelerate the convergence, an efficient preconditioner is required. In this article, the preconditioner is defined as
\begin{equation}\label{Precond}
	{\bf{P}} = {\mathbf{AZ}}_b^N{{\bf{A}}^T},
\end{equation}
where $\mathbf{Z}_b^N$ is a diagonal matrix, in which the entries are obtained from $\mathbf{Z}_b$. Therefore, $\mathbf{P}$ is a symmetric matrix. The left preconditioning technique is applied to (\ref{LoopVandI}), and (\ref{LoopWithP}) can be obtained as
\begin{equation}\label{LoopWithP}
	{{\bf{P}}^{ - 1}}{{\bf{Z}}_l}{{\bf{I}}_l} = {{\bf{P}}^{ - 1}}{{\bf{V}}_l}.
\end{equation}
It is obvious that the inverse of $\mathbf P$ should be effectively calculated when the GMRES is used to solve (\ref{FinalME}). Fortunately, since $\mathbf{A}$ and $\mathbf{A}^T$ are sparse matrices and $\mathbf{Z}_b^N$ is a diagonal matrix, $\mathbf{P}$ is a sparse matrix. A direct factorization algorithm can be used to efficiently calculate the inverse of $\mathbf{P}$, such as the PARDISO solver in MKL [\citen{MKL}].

Three matrix-vector products are required to be calculated for (\ref{LoopWithP}). It should be noted that ${\widetilde {\bf{I}}_l} = {{\bf{Z}}_l}{{\bf{I}}_l}$ is very time-consuming, since $\mathbf{Z}_l$ is a full matrix. However, it is easy to calculate ${{\bf{P}}^{ - 1}}{{\bf{V}}_l}$ and ${{\bf{P}}^{ - 1}}{\widetilde {\bf{I}}_l}$ because $\mathbf{P}^{-1}$ can be effectively calculated.   $\mathbf{Z}_b$ can be separated into two parts mentioned in Section II-B. It can be expressed as
\begin{equation}\label{SepZb}
	{{\bf{Z}}_b} = {\bf{R}}_b + {\bf{L}}_b,
\end{equation}
where ${\bf{R}}_b$ is the first term of (\ref{Zb}), which is a sparse matrix, and ${\bf{L}}_b$ is the second term, which is a full matrix. Therefore, we only need to accelerate ${\bf{AL}}_b{{\bf{A}}^T}{{\bf{I}}_l}$.

\subsection{PFFT Acceleration}
\begin{figure}
	\centering
	\includegraphics[width=0.3\textwidth]{pfftGridSF.jpg}
	\caption{Flowchart through the pFFT algorithm to accelerate the matrix-vector multiplication.}
	\label{pFFTGrid}
\end{figure}

For a Toeplitz matrix, the matrix-vector multiplication can be efficiently computed using the pFFT algorithm, which implies that the time complexity can be reduced from $O\left(N^2\right)$ to $O\left(NlogN\right)$, and the memory cost is reduced to $O\left(N\right)$. By assuming uniformly distributed grids in the three-dimensional space as shown in Fig. \ref{pFFTGrid}, $G_0\left(\mathbf{r},\mathbf{r}'\right)$ is a three-level Toeplitz matrix because the Green's function is shift-invariant in the three-dimensional space. Therefore, the FFT can be used to efficiently accelerate the matrix-vector multiplication.

Assume  ${\bf{\bar \alpha }} = {{\bf{A}}^T}{{\bf{I}}_l}$, ${\bf{AL}}_b{{\bf{A}}^T}{{\bf{I}}_l}$ can be rewritten as ${\bf{AL}}_b\bf{\bar \alpha} $.
In the pFFT algorithm, the whole computation domain can be categorized into two parts: near- and far-field regions. The pFFT algorithm consists of four steps as follows.
\begin{enumerate}
\item  Construction of the project matrix from a triangle pair to its nearby grids, which can be expressed as
\begin{equation}\label{Projection}
	{\overline {\bf{Q}} _g} = {\bf{B\bar \alpha }},
\end{equation}
where $\mathbf{B}$  is the projection matrix, and ${\overline {\bf{Q}} _g} $  is equivalent point currents on the uniform grids. The collection of these grids is defined as a stencil, and the order of stencil $O_s$ is determined by the number of grids $Ng$. In general, $O_s$ grids in the $x$, $y$ and $z$ direction from its nearest grid to the center of the target triangle are selected as a $O_s$-order stencil.

\item  Construction the convolution matrix to efficiently calculate the potential between gird points through the FFT algorithm, which is expressed as
\begin{equation}\label{FFTCal}
	{\overline {\bf{\varphi }} _g} = {\bf{H}}{\overline {\bf{Q}} _g},
\end{equation}
where $\mathbf{H}$ is a Toeplitz matrix. The FFT can be used to efficiently calculate the matrix-vector multiplication ${\bf{H}}{\overline {\bf{Q}} _g}$ with $O\left(NlogN\right)$, where $N$ is the overall count of grid points.

\item  Construction of the interpolation matrix from the nearby grids to the desired triangle, which is expressed as
\begin{equation}\label{interpolation }
	{{\bf{\Phi }}_g} = {\bf{I}}{\overline {\bf{\varphi }} _g},
\end{equation}
where the interpolation matrix $\mathbf{I}$ is the transposition matrix of $\mathbf{B}$ when the Galerkin scheme is applied.

\item  For near-field regions, entries of  $\mathbf{L}_b$ are directly calculated, and are collected in $\mathbf{L}_d$. Therefore,  $\mathbf{L}_b$ can be approximated as
\begin{equation}\label{Lb}
	{\bf{L}}_b \approx {{\bf{L}}_d} + {\bf{IHB}},
\end{equation}
where $\mathbf{L}_d$, $\mathbf{I}$, $\mathbf{B}$  are all sparse matrices. Finally, the matrix-vector multiplication ${\bf{AL}}_b{{\bf{A}}^T}{{\bf{I}}_l}$ is calculated by ${\bf{A}}\left[{{\bf{L}}_d} + {\bf{IHB}}\right]{{\bf{A}}^T}{{\bf{I}}_l}$.
\end{enumerate}

\section{Numerical Results And Discussion}
In this section, four numerical examples are computed using the proposed formulation and the industrial solver Ansys Q3D, which was developed based on the SIE formulation for complex structures. The resistance and inductance are calculated, and results are compared with those from the Ansys Q3D. In addition, the effectiveness of the pFFT algorithm and the proposed preconditioner are discussed and verified. Our in-house solver is developed with C++ without any parallel computations, and all simulations are carried out on the workstation with a 3.2 GHz CPU and 1 TB memory.

\subsection{One Rectangular Interconnect}
\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{case1_model.jpg}
	\caption{A rectangular copper interconnect and the excitation configuration. The magnitude of surface current and electric potential at 100 GHz are illustrated.}
	\label{Case1-Model}
\end{figure}
\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{Case1_RLP.jpg}
	\caption{The resistance and inductance obtained from the Ansys Q3D and the proposed formulation.}
	\label{Case1_RL}
\end{figure}
\begin{figure}
	\centering
	\includegraphics[width=0.39\textwidth]{Case1_TMP.jpg}
	\caption{The time and memory consumption when different meshes are used to discretize the interconnect.}
	\label{Case1_TM}
\end{figure}
\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{case1_Iterations.jpg}
	\caption{The number of iterations for the GMRES with and without the preconditioner versus the frequency and meshes.}
	\label{Case1_It}
\end{figure}

The first structure is a rectangular copper interconnect with the size of 5 um$\times$7.5 um$\times$200 um as shown in Fig. \ref{Case1-Model}. A voltage source is added between two ends of this interconnect, and the surface with red arrows is the source, which has higher potential compared with that at the far end of the interconnect and indicate currents flow into the interconnect. The corresponding surface with the blue arrow is the sink, and has the lower potential compared with that on the source and represents that currents flow out of the interconnect. In Section II-A, it is mentioned that the surface impedance operation should be used in a limited frequency range, and it works well when the skin depth is less than $1/3$ thickness of interconnects in general. Therefore, its wideband properties between 10 GHz$\sim$150 GHz were studied, where the surface impedance operator can well represent the relationship between the surface current density and the tangential electric field. We used 428 triangles to discretize the surface of this interconnect, and there were 230 loops to construct (\ref{LoopVandI}). Fig. \ref{Case1_RL} shows the resistance and inductance calculated by the Ansys Q3D and the proposed formulation. For the resistance, two results are in good agreement in the whole frequency region. It can be noticed that the inductance does not vary with frequency for the Ansys Q3D. In fact, the formulation used in Ansys Q3D is also the MPIE, and the difference is that the objects are considered as the perfect electric conductors (PECs), which implies that the left hand side of (\ref{MPIE2}) is zero. Therefore, the inductance is independent of frequency for the Ansys Q3D, and the resistance obtained from the proposed formulation shows slightly difference compared with that from the Ansys Q3D at the very high frequency.

The effectiveness of the pFFT algorithm is discussed through the runtime and memory consumption as shown in Fig. \ref{Case1_TM}. We discretized the interconnect using the mesh with different sizes, and recorded the runtime and memory consumption, in which the frequency was set to 100 GHz, which is one of the challenging scenarios in this example. The runtime and memory increase as the number of loops increases. Curves versus the runtime and memory consumption approximately match $O(NlogN)$ and $O(N)$ when the number of unknowns is large enough. When the number of unknowns is very small, some additional operations take up a large portion of the runtime, such as I/O operations.

In addition, the convergence property in the GMRES solver is very important for the efficient parameter extraction. Therefore, we investigated the number of iterations with and without the preconditioner $\mathbf{P}$ in (\ref{Precond}) for the convergent tolerance of $10^{-3}$. As shown in Fig. \ref{Case1_It}, the top subfigure shows the number of iterations when the frequency is set to 100 GHz. As the dimension of the system matrix increases, the number of iterations also increases with or without the preconditioner. However, the preconditioner can approximately reduce the number of iterations by one order when the number of unknowns is large enough. In the bottom subfigure of Fig. \ref{Case1_It}, we used 428 triangles to discretize the interconnect, and the number of iterations with different frequencies were recorded. Similarly, the proposed preconditioner can significantly reduce the overall iteration number, and hence accelerate the convergence.

In Fig. \ref{Case1-Model}, the distribution of electric potential and magnitude of surface current are illustrated. The branch current can be calculated by (\ref{CurT}) since we have obtained the loop current. Similarly, the branch voltages are obtained through (\ref{VolT}). In our simulation, the electric potential on the surfaces of sinks is set as zero, and then the electric potential on each triangular panel can be calculated through the branch voltages.

\subsection{The Bounding Wire Array}
\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{case2_model_La.jpg}
	\caption{The geometric details and the ports definition used in our simulation. The top subfigure is the magnitude of surface current when Port\#2 is excited, and the bottom subfigure is the electric potential.}
	\label{Case2_Model}
\end{figure}
\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{Case2_RLP.jpg}
	\caption{The self- and mutual- resistance and inductance obtained from the the Ansys Q3D and the proposed formulation.}
	\label{Case2_RL}
\end{figure}
\begin{figure}
	\centering
	\includegraphics[width=0.39\textwidth]{Case2_TMP.jpg}
	\caption{The runtime and memory consumption when different meshes are used to discretize the bounding wire.}
	\label{Case2_TM}
\end{figure}
\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{case2_Iteration.jpg}
	\caption{The number of iterations for GMRES with and without the preconditioner versus the frequency and meshes.}
	\label{Case2_It}
\end{figure}

The bounding wire array with 52 copper interconnects is considered here. The dimension of this structure is 1.2 mm $\times$ 1.2 mm $\times$ 0.15 mm, and the thickness of each interconnect is 10 um. The ports are defined on the ends of two adjacent bounding wires as shown in Fig. \ref{Case2_Model}. The frequency is set as 25 GHz, and different numbers of unknowns are used to solve this problem. To demonstrate the accuracy, we swept the frequency from 0.5 GHz $\sim$ 30 GHz, and calculated the resistance and inductance, in which 13,041 loops are found to construct the matrix equations. In Fig. \ref{Case2_RL}, results calculated by the proposed formulation and the Ansys Q3D are compared with each other. For both the self-inductance and mutual inductance, the two solvers show excellent agreement with each other for all sampling frequency, and the relative error is less than 2\%. The self-resistance also agrees well for the two solvers, but large difference occurs for the mutual resistance, which is about 25\%. In fact, the mutual resistance contributes little to the loop resistance due to their small values. The resource consumption including the runtime and memory is illustrated as shown in Fig. \ref{Case2_TM}. As the number of loops increases, the runtime and memory consumption also approximately match $O(NlogN)$ and $O(N)$.

To demonstrate the effectiveness of the preconditioner, the number of iterations as the number of loops and the frequency is recorded and illustrated in Fig. \ref{Case2_It}. As the number of loops increases, the number of iterations also increases with and without the preconditioner. However, the number of iterations increases very slowly when the preconditioner is used. For example, there is 9 iterations for 3,470 loops and 13 iterations for 967,909 loops. In general, the frequency has very little effect on the number of iterations. The overall number of iterations slightly decreases without the preconditioner and slightly increases with it when the frequency increases. In addition, as shown in Fig. \ref{Case2_Model}, the distribution of surface current and electric potential are illustrated when Port\#2 are excited by a voltage source. The scenario of the accumulation of current on the edges can be observed.

\subsection{Interconnects in A Real-life Circuit}
\begin{figure}
	\centering
	\includegraphics[width=0.49\textwidth]{case3_model.jpg}
	\caption{The bottom view and top view of a real-life circuit with several vias and the excitation configuration.}
	\label{Case3_Model}
\end{figure}
\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{Case3_RLP.jpg}
	\caption{The self- and mutual- resistance and inductance obtained from the Ansys Q3D and the proposed formulation.}
	\label{Case3_RL}
\end{figure}
\begin{figure}
	\centering
	\includegraphics[width=0.39\textwidth]{Case3_TMP.jpg}
	\caption{The time and memory consumption when different meshes are used to discretize the circuit.}
	\label{Case3_TM}
\end{figure}
\begin{figure}
	\centering
	\includegraphics[width=0.4\textwidth]{case3_Iteration.jpg}
	\caption{The number of iterations for the GMRES with and without the preconditioner versus the frequency and meshes.}
	\label{Case3_It}
\end{figure}
\begin{figure*}
	\centering
	\includegraphics[width=0.9\textwidth]{PotentialAndCurrent_case2.jpg}
	\caption{The magnitude of the surface current and the distribution of electric potential when a voltage source is applied on Port\#2.}
	\label{Case3_PC}
\end{figure*}

In this example, a real-life circuit with complex interconnects is considered and two ports are defined. The sources are defined on facets at the end of bounding wires extending from the circuit, and Source\#1 consists of $1^{\text{st}}$, $4^{\text{th}}$, $5^{\text{th}}$, $7^{\text{th}}$, $10^{\text{th}}$ facets while Source\#2 is composed by others. The sinks are set on the ubumps at the bottom of circuit as shown in Fig. \ref{Case3_Model}. We excited two ports in turn, and calculated the self- and mutual- resistance and inductance in the frequency range of 0.2 GHz $\sim$ 10 GHz. 77,352 triangular facets are used to discretize the surface, and 39,220 loops are required to construct the matrix equations. Fig. \ref{Case3_RL} shows results obtained from the proposed formulation and the Ansys Q3D. For the self- and mutual- resistance and inductance, results calculated by two solvers show excellent agreement with each other.

Fig. \ref{Case3_TM} shows the runtime and memory consumption when different meshes were used and the working frequency was fixed at 10 GHz. It can be found that the runtime approximately matches $O(NlogN)$, but it is slightly larger than $O(NlogN)$ as the unknowns increase. The main reason is that the runtime may match the complexity of $O(NlogN)$ for each iteration in the GMRES, but the number of iterations increases with the number of unknowns, which leads to a slightly larger runtime. As for the memory consumption, further optimization for our in-house solver is stilled required to be carried out to match $O(N)$ well for large-scale problems.

Similar to the previous two examples, the effectiveness of the preconditioner is investigated by the number of iterations, and we set the convergent tolerance as $10^{-3}$. The top subfigure of Fig. \ref{Case3_It} focuses on the number of iterations over meshes when the frequency is fixed at 10 GHz. The bottom subfigure relates the number of iterations to the frequency. There are 39,220 loops to construct the matrix. It can be found that the preconditioner significantly accelerates the convergence of the GMRES. Especially, the number of iterations increases very slowly when the number of unknowns increases if the preconditioner is applied. There are 38 iterations with preconditioner and 123 iterations without it for 26,256 unknowns. However, the scenario with the preconditioner requires 48 iterations for 1,938,754 unknowns while 310 iterations are required for the same unknowns without it. In addition, as shown in Fig. \ref{Case3_PC}, we calculated the magnitude of surface current and the distribution of electric potential when a voltage source is applied on Port\#2. It can be found that the current accumulates on the slender bounding wires. Therefore, the electric potential goes down very fast on them.
\subsection{Large-scale PDN Modeling}
\begin{figure}
	\centering
	\includegraphics[width=0.35\textwidth]{case4_Geodetials.jpg}
	\caption{Geometrical details of the PDN with the size of 160 um $\times$ 160 um $\times$ 82 um.}
	\label{Case4_Model}
\end{figure}

\begin{figure}
	\begin{minipage}[h]{0.45\linewidth}
		\centerline{\includegraphics[scale=0.3]{unit_top.jpg}}
		\centerline{(a)}
	\end{minipage}
	\hfill
	\begin{minipage}[h]{0.45\linewidth}
		\centerline{\includegraphics[scale=0.3]{unit_bottom.jpg}}
		\centerline{(b)}
	\end{minipage}
	\caption{The top and bottom views of the PDN and the definition of ports.}
	\label{Case4_Port}
\end{figure}

In this example, the power distribution network (PDN) is considered to verify the scalability of the proposed formulation. As shown in Fig. 16, the cross rectangular interconnects with four ubumps on the top and one pad on the bottom are considered, and the structure has a dimension of 16 um$\times$16 um$\times$8.2 um. The interconnects of different layers are connected through a number of vias and the pad is coupled to the interconnects through a slender via. The structure in Fig. \ref{Case4_Model} is considered as a unit and we extend it to 2$\times$2, 4$\times$4, 6$\times$6 arrays. The sources are defined on the ubumps on the two contactless parts and the sinks are set on the bottom of pads as shown in Fig. \ref{Case4_Port}. The resistance and inductance were calculated at 30 GHz. The simulation configuration, results and resource consumption are presented in Table \ref{table2}.

The first two rows record the overall number of triangles and loops used to construct the PDN. Next the runtime, memory, number of iterations with and without the preconditioner are presented when the convergent tolerance is set to $10^{-3}$, in which we summed the number of iterations for two solutions to the Port\#1 and Port\#2. The preconditioner still works very well for this example, and it significantly reduces the number of iterations by one order. In addition, the loop resistance and inductance are calculated by the proposed formulation and the Ansys Q3D, which are defined as $R_o = R_{11} – 2R_{12} + R_{22}$ and $L_o = L_{11} – 2L_{12} + L_{22}$. For the loop inductance, the proposed formulation shows excellent agreement with that from the Ansys Q3D, and the relative error is less than 4\% for the four cases. The loop resistance has a slightly larger error, still only 7\%. Fig. \ref{PDN66} gives the illustration of the PDNs with different dimensions and the distribution of electric potential is shown, in which the 1$\times$1, 2$\times$2 arrays are excited on Port\#1 and 4$\times$4, 6$\times$6 arrays are excited on Port \#2. There is little change in electric potential for the upper part of PDNs, and the electric potential goes down very fast on the vias connected to the pads.
\renewcommand\arraystretch{1.2}
\begin{table}
	\begin{center}
		\caption{Simulation configuration, resource consumption, loop resistance and inductance obtained from the proposed formulation and Ansys Q3D}\label{table2}
		\begin{tabular}{|l|c|c|c|c|}
			\hline
			\multicolumn{5}{|c|}{$f=30$ GHz, tol = $10^{-3}$}\\
			\hline
			\hline
			\,            & 1$\times$1          & 2$\times$2                  & 4$\times$4          & 6$\times$6 \\
			\cline{1-5}
			\rule{-3pt}{9pt}
			Num. triangles     & 62,590              & 261,928                        & 1,051,950           & 1,933,368 \\
			\cline{1-5}
			\rule{-3pt}{9pt}
			Num. Loops         & 33,047              & 138,735                      & 558,084             & 1,025,824\\
			\cline{1-5}
			\rule{-3pt}{15pt}
			\makecell[l]{Num. iterations  \\ with preconditioner} & 21              & 31                          & 44             & 54\\
			\cline{1-5}
			\rule{-3pt}{15pt}
			\makecell[l]{Num. iterations  \\ w$\backslash$o preconditioner} & 230              & 423                          & 804             & 1,811\\
			\cline{1-5}
			\rule{-3pt}{9pt}
			\makecell[l]{Runtime (s)} & 485              & 3,566                        & 18,401             & 47,220\\
			\cline{1-5}
			\rule{-3pt}{9pt}
			\makecell[l]{Memory (Mb)} & 1,307              & 9,948                          & 104,186            & 222,494\\
			\hline
			\hline
			\rule{-3pt}{9pt}
			\makecell[l]{$R_o$-proposed (ohm)} & 0.68              & 0.17                          & 0.043             & 0.020\\
			\cline{1-5}
			\rule{-3pt}{9pt}
			\makecell[l]{$L_o$-proposed (nH)} & 0.083              & 0.020                         & 0.0050             & 0.0022\\
			\cline{1-5}
			\rule{-3pt}{9pt}
			\makecell[l]{$R_o$-Ansys Q3D (ohm)} & 0.70              & 0.18                      & 0.045            & 0.021\\
			\cline{1-5}
			\rule{-3pt}{9pt}
			\makecell[l]{$L_o$-Ansys Q3D (nH)} & 0.083              & 0.021                          & 0.0052             & 0.0022\\
			\cline{1-5}
		\end{tabular}
	\end{center}
\end{table}

\begin{figure*}
\begin{minipage}[h]{0.1\linewidth}
	\centerline{\includegraphics[scale=0.061]{1_cut.jpg}}
	\centerline{(a)}
\end{minipage}
\hfill
\begin{minipage}[h]{0.2\linewidth}
	\centerline{\includegraphics[scale=0.061]{2_cut.jpg}}
	\centerline{(b)}
\end{minipage}
\hfill
\begin{minipage}[h]{0.22\linewidth}
	\centerline{\includegraphics[scale=0.061]{3_cut.jpg}}
	\centerline{(c)}
\end{minipage}
\hfill
\begin{minipage}[h]{0.4\linewidth}
	\centerline{\includegraphics[scale=0.074]{4_cut.jpg}}
	\centerline{(d)}
\end{minipage}
\caption{The Illustration of 1$\times$1, 2$\times$2, 4$\times$4 and 6$\times$6 PDNs. The electric potential is presented when Port\#1 is excited for 1$\times$1, 2$\times$2 PDNs and Port\#2 is excited for 4$\times$4, 6$\times$6 PDNs.}
\label{PDN66}
\end{figure*}

\section{Conclusion}
In this paper, an MQS-SIE formulation with the loop analysis is proposed to model interconnects in packages at high frequencies. The triangle discretization are used to support the surface current flowing in any direction. The graph theory in circuit analysis is introduced to construct the independent and complete loop equations. By transferring the branch quantities to loop quantities, the dimension of the system matrix can reduce by about 80\%. In addition, the pFFT algorithm is successfully carried out for the proposed formulation, and an efficient preconditioner is developed to speed up the convergence in the GMRES. The numerical examples verify the scalability and effectiveness of the proposed formulation, accurate results can be obtained compared with those from the industrial solver Ansys Q3D.

However, the uniform grid option required by the traditional pFFT algorithm will cause the waste of computational resource, especially for the multiscale structures. Therefore, the optimization of the pFFT algorithm, like the hierarchical algorithm, will be our future work.

redpajama_set_name: RedPajamaArXiv


text:
Q: How can I refresh an image without repaint flicker? Okay I am going to be outright. I have never touched HTML ever and may be a nuisance. But I understand lua and simple principles of coding. With that said I will get on with my question.
I made a status checker for my minecraft server and used the image to make a desktop gadget I want the flicker to stop when it refreshes. I used other sources and applied them.

    <title>War Server</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

My Idea:
There probably is a proper way but I'd like to think I could contribute something. I thought I might be able to have a background of the same image  but it updates just before the image. Thus the background would change and then the image would paint and the background would flash(That was what the flicker always was) but it would matter because when it'd had change and flashed the image would've covered it.

A: The proper solution would not be with html or css it would be with javascript/jquery since you are already using it. You would need to use an if and else statement.
if(i==1) {
    return; //stop the execution of function
}
else {

   //keep on going
}

I could provide further advice but you need you clarify your question better. Do you want the picture to flicker until the page is done loading? You used the word update what is it you are waiting for to update?If you are then.
if (document.readyState === "complete") would be your argument so...

    <title>War Server</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

redpajama_set_name: RedPajamaStackExchange


Eclipse Shading Systems provides quality sun protection for your Texas outdoor recreational areas. Many customers are unable to utilize their outdoors deck or patio year round due to the harsh sun and heat. At Eclipse Shading Systems, we specialize in retractable awnings, solar screens, and window awnings, in a variety of designs, so you can use your outdoor spaces comfortably and in style.
Our retractable awnings are available in motorized or manual control. We currently have nine different products available that provide protection from the Texas sun and heat. Our Awnings also provide protection from the elements and will prevent you from ever having to cancel an outdoor event due to rain. They are currently available in a variety of finishes and over 200 fabrics.
Solar screens can reduce UV rays by up to 99%. While providing sun protection, our solar screens also reduce heat and can prevent insects invading your outdoor gathering. Available in a motorized push button drop down option or a manual variety, our solar screens are a stylish option that reduce the glare from the sun but maintains full visibility.
Our window and patio awnings provide 160-degree protection from the sun. The adjustable sunshades can create an atmosphere of improved privacy or be retracted when needed. They are available in over 200 stylish fabrics and are sure to compliment your Texas home. Eclipse Shading Systems and our partner dealers are committed to providing our customers with a quality product that enhances their outdoor living experience. Backed by our team of engineers, we create only the most advanced sun protection products. As your needs evolve, our products evolve; because you need to know we've got you covered. Find a dealer in Texas.


Cleanroom conveyor system Previously used as an infeed conveyor between 2 injection moldi..
Articulated modular link belt. Individual links are 81 mm long x 66 mm wide Driven ..
Swiss built electric belt conveyor, 51" x 3.6", 3-phase motor. Transport distance: 51..
Conveyor system Conveyor dimensions: 10" x 38" = 25 cm x 95 cm Felt belt Comp..
Baldwin Belting flex belt 8" x 60" x 1/8" Part is NEW Net weight: 2.5 lbs Mad..
Industrial Conveyor, Type Mattop Dimensions: 5' wide x 27.75" wide Net weight..


With two people new to the game, we decided to use the set of cards initially suggested in the rules.
Myself and Andy were talking about the game on the way over, and were pretty sure that Tel would leap on the "play a card to play a card to play a card" combos. He has a bit of a reputation for this in Magic. To our utter lack of surprise, this is exactly what happened. I'd tried that in our first game and did alright but was a bit behind the pace. So this time I tried to minimise action cards and concentrate on building up high value cash cards instead. I'm not entirely sure what Andy and Steve were doing, but they did seem to be using mines to get cash and militia to mess with everybodys hands. Perhaps they will add a comment and enlighten us all.
Whatever we were all doing, it turned out to be a tight game with victory going to the person who grabbed the last six point province. This turned out to be Andy, and propelled him from last place to victory. That province had been sitting on the table taunting us for a couple of rounds as we all failed to come up with the necessary eight cash to claim it. It's good that the game was so tight, but it's a shame that it ultimately came down to whoever got lucky - or stopped being unlucky - with their cards.
After three games my opinion seems to be firming up as good game, but not as good as the hype would have you think. For me, four players is at least one too many. With the limited amount if interaction between players, and not much to think about between turns, I think the fewer players the better. I can see it being excellent with just two players, just like the original deck building which I mentioned earlier.
Actually I think that we were all going for money, but myself/Steve did use the military strategy to hold people up. I also realised late in the game that one of the cheaper cards was in fact very powerful in the end game and so was the first to pick that up. This suggests to me that there are some unexplored strategies out there and to date we have only played two of the suggested set-ups.
I doubt if the number of players it makes too much difference, but an interesting two player variant would be to allow the two players to select the starting position (each choosing alternately).
My initial impressions of this one is "what is all the hype about". I thought the game was ok, but nothing too special. I understand that there are lots of different cards to give variety, but towards the end of the game I thought the whole process was starting to get a tad tedious. The last 2 or 3 rounds were all about who would be "lucky" enough to draw 8 cash to buy a province card. I do understand that the early rounds of the game are all about building the right sort of deck to make this more likely, but at the end of the game my overriding thought was one of "was that it". Another case of the game not matching hopes/expectations caused by the hype. That said I'll be more then happy to give it more table time after all I did rate a solid 7, just not the 9 I was hoping for, and it is possible that I need a few more plays for the subtleties to break through my thick skull.
It's that time of the year when our shelves are stacked with shiny new games. So this seems like a good time to try to get some session reports up on the site.
This was our first Sunday games day so it should come as no surprise that we decided to try out a few new games. Snow Trails, the new game from Fragor, was our opener.
Unlike their previous games, this has no cute animal pieces. The animal theme continues though as this is all about husky racing. Like many racing games it comes with a modular track to allow different courses to be constructed. We opted for an easy one for our first crack at it.
Also like many racing games, this is card driven. Each player has a sled which is pulled by two dogs. Each sled is equipped with a brake. Cards are played against the dogs and / or the brake to determine movement. Give each dog the same strength card and the sled will move forward. Give them different strengths and it will veer in the direction of the stronger dog.
Obviously, going straight ahead would be a little dull. Thus the courses have corners to keep things interesting. To keep things even more interesting, each corner has a speed limit. Going over the speed limit is a bad thing as that gives you one or more penalty cards. Crashing into the side of the course is similarly bad for much the same reason. Penalty cards are bad because the more you collect, the smaller your hand size becomes. The smaller your hand size, the smaller your options are. Worse, collect enough penalty cards and you are eliminated. Yikes!
The overall feeling was that this is a nice game. The movement is clever; I've not seen anything quiet like it. You need to plan ahead a bit to make sure you can take corners without losing too much speed. you also need to be able to react to people moving their sled into your preferred path, though we didn't see this happening very often. Don't get the idea that this is a deep game though. It's probably best thought of as a longish filler. Whether you need a copy of this depends on how much you like racing games, and how many you already have. I'll certainly be happy to play it but it's not one I personally feel the need to own.
I'm absolutley delighted that this is one of the games I was fortunate enough to get brought back for me from Essen. I've been looking to pick up a Ave Caeser/Ausgebremst type game for a couple of years and this game fills the hole perfectly. I look forward to trying some of the harder track configurations, but being the only player to have dent cards for more then the last round I may need a bit more practice with the huskies first.
We don't really have much of a history of playing cooperative games here at the Piddinghoe Gamers. We played Lord of the Rings a couple of times, but Oggie kept making things a little too interesting with his ability to shuffle tiles into an awkward sequence as possible.
So all bets were off regarding how we were going to find this game, which is probably well described as a real time, cooperative version of Roborally.
The idea behind the game is that the players form the crew of a ship exploring a remote part of the galaxy. It consists of two rounds - planning and resolution.
The planning round is where the real time Roborally comes in. The gimmick with this game is that it comes with a CD which has a number of missions. Each mission consists of a computerised voice announcing various events. The most significant of these are the appearance of various threats which the players need to react to. The crew then attempt to figure out how they will manouver around the ship, moving energy between reactors, shields and weapon systems. Each player lays down a sequence of cards to show what their actions will be.
The resolution round is where you see how well, or how badly, the planning stage was. Well enough and the crew survive to tell another tale. Badly enough and the ship goes bang. Nobody goes home. Nobody wins.
We played a couple of the tutorial games which introduce the basic rules. The first we survived more by luck than judgment. By the second we knew what we were doing and survived the threats handily. Having flicked through the rest of the rules, I know we got away easily this time. The real game introduces all sorts of nasties which we didn't have to worry about.
So, how did it play? More or less as I expected actually. There was a bit of confusion at the start as we tried to figure out how to make everything jel, but things soon started to fall into place. The time pressure imposed by the CD is important as it keeps everybody on their toes and prevents everybody working things out optimally. The pressure wasn't particularly significant in our tutorial games but I can see it ramping up on the real missions. Basically you find yourselves communally trying to solve a puzzle, working out how to get not only people to the right places at the right time, but also in moving energy round the ship. The more threats to contend with, the more difficult the puzzle. The game comes with a number of different missions, which introduce threats from a random card deck. Thus there should be quite a lot of replayability.
I probably liked this more than anything else, as I usually find something which plays differently to be interesting. This game certainly meets the "is a bit different" criteria. Nobody appear to be havign a bad time though. We'll see where the more advanced rules bring us.
It's a shame about the annoying robotic sound on the CD though - it's a tad annoying, and not as easy to hear as it could have been.
This is one of those games that I cant see becoming a regular to the gaming table (but then again how many are), but it will certainly be welcome as an occasional change of pace.
I'm not usually a huge fan of cooperative games, they often seem to suffer from one player dictating to rest how the game should be played out. In our short exposure to Space Alert this didn't happen, whether this was because no-one had any idea what we were doing or because the time pressure exerted by the CD prevented too detailed a co-ordinated plan only time will tell. I certainly hope to be aboard the next time SS sitting Duck blasts off.
I'd be the first to admit that these aren't my favorite types of game but this one was in the "vaguely fun, needs more meat" category. As we were only playing the intro scenario, I gave it the benefit of the doubt, and we won despite my feble attempts to add some spice by deliberately drawing power from the main engines - to make bacon sandwiches of course!!
It was the first outing post-Essen for this game and as Steve was new to the game we used the same board setup from our one Essen play (which incidentally turned out not to be the recommended introductory setup). The game depicts a log-riding lumberjack race through log-infested rapids as player's try to get their team of 'jacks' across the finishing line first. Think Mississippi Queen, The Black Rose on steroids meets Ave Caesar (easy mode) and you�d have a fair impression of what this game is about because players play cards from a hand of 3 drawn from a replenishable movement deck to paddle their 'jacks' down-stream. Each 'jack' can push up to two adjacent logs/players with a single movement point which means that it's entirely possible to push another player into some nasty fast-moving water thereby forcing them to regain lost ground to win the game.
This was especially apparent in the second narrow board which had a fast flowing current running most of it's length in the opposite direction to the way you wanted to go, and of course being Piddinghoe Gamers we all took great delight in sending each other crashing back this way at every opportunity. Steve was especially adept at this, padding his logs backwards to shove people into the currents rather than getting them across the line!
In this second game we saw far less piggy-backing of 'jacks' (i.e. where you use one of your team to push the other downstream to double up on movement) and this was perhaps because we had cottoned onto this tactic from our first play and could counter with spoiler moves. Steve "the git" eventually got bored with shoving people the wrong way and won the game by getting his two 'jacks' across the finish line first.
This is an excellent light-weight game, easy to play and learn with what appears to be a fair bit of variety in the initial setup (i.e .modular boards). If you want something new that is a bit heavier and a bit more calculable then I�d recommend Snow tails which was one of Tel's 2008 Essen purchases but I think that between these two games we might now see Mississippi Queen hit the table less often in our group as in my view both of these are better games.
I haven't decided yet if Flussfieber or Snow Tails are "full" games or just fillers. We've only played simple, short games of them so far. It will be interesting to see how they shape up with longer courses.
But I'd take Mississippi Queen over those two right now.
We had six tonight and so decided to play an old favourite. Two boards (one original and one armed and dangerous) and two bases were selected and the usual mayhem ensured. Oggie must have been practicing recently because contrary to his usual performance, his robot avoided falling down the nearest pit. However he did manage to fall down several levels on the AnD board where his robot promptly fell apart within reaching distance of flag 1 meaning that he went back to the start.
Tel in the meantime managed to avoid damage for most of the game, whilst Andy, who reached flag 1 first struggled to make further process due to his robot being practically incapacitated and then finished off by Steve just before it would have been crushed anyway. Boog proved to be equally inept in this company and Paul just kept himself out of trouble with the end result that Tel romped home to a convincing victory.
That armed and dangerous board was vicious. The pits didnt seem too difficult on initial inspection, and indeed with an unhindered path it was navigable (I was lucky enough to avoid most of the carnage). However add 1 or 2 other robots in the way and a reduced card choice through the damage this causes, and it appears to be almost impossible to climb out of the pit once you'd fallen in.
I'd forgotten just how much fun Roborally can be. We have had the occasional "boring" game with no interaction in the past. But 2 good games in the last couple of months has rekindled the fire and hopefully this wont gather dust for another 2 or 3 years as it has in the past.
It's certainly impossible to get back out of the pit when you keep failing to draw any move 2 or move 3 cards! Still, I shouldn't complain too much. Being stuck down there allowed me to get so badly in other people plans that I managed to force Andy down into the lowest level of the pit, and made it harder for Boog getting out of it, all in one turn! Sweet gaming moment!
Just using a couple of check points criss crossing a couple of boards definately seems to be the way to go with this game. It keeps everyone together, with the chaos that entails.
I'd have won too if it hadn't been for those pesky kids!
I think I spent the last 7 or 8 turns down in the lowest level of the pit before finally getting crushed. Still really enjoyed it though. We definitely should play this more often, and I think the key to making it fun is reducing the number of boards and increasing the number of checkpoints.
Thereby increasing the amount of robot-on-robot carnage, which let's face it, is where all the fun is in this game!


It has answered my questions and much more. Very Informative and extremely helpful. Many thanks to Philip.
Real life use of company accounts to bring examples to life. Good balance of discussion, questions and presenting. Personaly struggle with too much text on slides.


text:
Braćak (cyr. Браћак) – wieś w Serbii, w okręgu raskim, w gminie Tutin. W 2011 roku liczyła 202 mieszkańców.

Przypisy

Miejscowości w okręgu raskim

redpajama_set_name: RedPajamaWikipedia


text:
Vice President Harris talks Martin Luther King Jr., voting rights | USA TODAY
Foreigners from all over visited China and found friendships that will last a lifetime | Connections
Omicron closing day care centers in droves as parents are 'just trying to stay afloat' – USA TODAY
Omicron not peaking nationally yet, surgeon general says; Djokovic leaves Australia after losing appeal: COVID-19 updates – USA TODAY
Connecticut teenager dies days after overdosing on fentanyl at school, police say – USA TODAY
Latest News Local Things to do
Dolphins, Texans open to deal on QB Deshaun Watson as trade deadline looms – NFL.com
With the trade deadline just a few days away, the Houston Texans and Miami Dolphins have been in contact recently, and both sides are open to a deal centered around Deshaun Watson prior to Nov. 2 at 4 p.m. ET, sources say.
It has essentially been this way for several weeks. A potential Watson deal remains one of the more complicated in recent memory, which may explain why it has lingered unfinished for months.
While there is some urgency on all sides to get a deal done, it has to be the right deal for all for it to happen. Any deal would likely include three first-round picks as part of the compensation.
Owner Cal McNair and general manager Nick Caserio have stayed in constant communication throughout the process, and sources say ownership has given Caserio full support to handle the situation in whatever way he views is in the best interests of the Texans organization.
If he is traded, Watson should be immediately eligible. NFL Commissioner Roger Goodell said last week the league does not have the necessary information to place Watson on the Commissioner Exempt List, and that should remain the case for the foreseeable future. Watson is currently facing 22 pending civil lawsuits alleging sexual assault and misconduct, along with an additional criminal investigation. He has maintained his innocence and not been charged with a crime. His legal situation remains unresolved.
Watson also has a no-trade clause, and he has only waived it for the Dolphins, his preferred location. Coach Brian Flores has been supportive of his current quarterback, Tua Tagovailoa.
Last week, the Panthers pulled out of any trade talks, with the high price tag and inability to sit down and get to know Watson as a person among the reasons. They could revisit this offseason if he's not traded on Tuesday.
Essentially, it's the Dolphins or no one right now.
It has been a long road for the Texans, with Caserio dealing with Watson's unhappiness immediately upon taking the job and his trade request shortly thereafter. A long road for McNair, with his organization firmly in the spotlight for reasons not having to do with winning football games.
While at a Founder's Day event in conjunction with the Texans' charities, McNair said Caserio and coach David Culley have "made the very best" of the situation and that he has been pleased with how they've worked through it.
After months of buildup, Tuesday's deadline provides the biggest date yet for the long-anticipated deal.
Here are some other players to watch as Tuesday looms:
Eagles defensive tackle Fletcher Cox: Teams have been contacting the Eagles about Cox, figuring they could take a run at him to see if they could get him for a mid- to late-round pick. On the heels of Cox airing grievances about the defense, teams have reacted. Cox is one of the core veterans GM Howie Roseman wants around, so he's unlikely to part with him for anything less than a high pick.
Dolphins wide receiver DeVante Parker: Parker has battled injuries, but should be back on the field today. Due the balance of a $7.75 million base salary, Parker is experienced and, if he stays healthy, could be a productive playmaker. Teams have inquired about him with Miami.
Giants wide receiver Darius Slayton: The Giants receivers have dealt with endless injuries, but if they are all healthy, there may not be enough footballs to go around. Slayton may be most attractive to teams because he's only due the rest of his $850,000 salary.
Texans wide receiver Brandin Cooks: Teams have called about Cooks, and those likely increased after his dissatisfaction with the trading of good friend Mark Ingram. But the productive Cooks is the kind of player the Texans want to build around, not trade. Don't expect him to be available. Caserio is always open to discussing a deal, but doesn't sound like one for Cooks will happen.
Broncos defensive back Kareem Jackson: GM George Paton will always answer the phone, and he has a few veteran DBs who have drawn interest. Last week it was Kyle Fuller. This week, Jackson. It would take a strong offer to pry him from Denver, but Jackson is not off limits.
Colts defensive lineman Kemoko Turay: The former second-rounder has been the subject of trade calls, as Indy appears open to trimming its payroll at depth spots on the offensive and defensive lines. Turay has shown flashes, and perhaps a change of scenery would help him reach his potential.
Rams wide receiver DeSean Jackson: We told you Friday that Jackson has permission to seek a trade, and it seems the team is open to it. They have allowed the speedster to find a team that can make better use of his talents and give him the playing time to do so.
Here are the names discussed last week, including Melvin Ingram, L.J. Collier and others.
NFL Network reporters Tom Pelissero and Mike Garafolo contributed to this article.
Follow Ian Rapoport on Twitter @RapSheet.
← Does Future Miami Really Flood Like That? – Sierra Magazine
Pat Riley's Miami Heat Are Making Him a Genius Again, the Golden State Warriors Look Scary Good, and More in Week 2 NBA Power Rankings – Sportscasting →
Man sentenced to 12 years in $200 million phone-fraud scheme – Miami Herald
'Burning through the population': Delta fuels Florida's worst COVID wave – Miami Herald
Asian markets lower on virus worries after Wall Street slips – Miami Herald
FBI IDs assailant in Texas hostage standoff as British national; rabbi 'grateful to be alive' – USA TODAY
Historians say an unsuccessful protest in Georgia helped Martin Luther King Jr. become a national leader – USA TODAY
Oldest remains of modern humans are much older than thought, researchers say – USA TODAY
Back-to-Back Conference USA Champions Return to the Courts – GoBlueRaiders.com
Lori Loughlin and Mossimo Giannulli's Los Angeles home was burglarized – USA TODAY
'Our freedom to vote is under assault.' Vice President Kamala Harris talks voting rights. RELATED: Voting rights and elections: How new state laws could affect you https://youtu.be/GHLhekfcJOg Vice President Kamala Harris honored Martin Luther King, Jr. and slams anti-voter laws…

redpajama_set_name: RedPajamaCommonCrawl


Neural Network Learns to Remove Scratches from Still and Moving Images.
Algosoft has launched new Viva 4.4.1.0 with a new AI generation of DeScratch tool based on Neural Network.
Scratch removal is traditionally the most difficult and tricky technique, due to the scratches variability and their similarity to vertical structures in the background and/or other objects.
For the first time, Neural Networks were applied to create a technique for reliable scratch detection and removal. Although the Neural Network technique looks natural here, the implementation of Neural Networks for scratch recognition and detection had a number of issues, including the lack of ground truth data, errors in the training database, and finding the right topology of Neural Networks for thin scratches.
What did we learn? Even after choosing an appropriate Deep Learning model and training the model across a tone of corrupted footage with different types of scratches, AI alone is not good enough. Combined with existing wavelet based technology it gives outstanding quality improvement and dramatically reduces restoration artifact.
This step forward gives hope that the gap between human and unsupervised digital film restoration might be narrowing soon.


Above: Spread illustrated by Emanuele Luzzati from Italo Calvino's: Il visconte dimezzato.
I recently went back to Italy, almost ten years after I had left it. That's a long story I won't bore you with now, but one of the things I missed most was browsing in European book stores. Books feel more beautiful over there, the thick paper (often textured), well-illustrated covers of every kind of book (no photos from movies that came after the books), and many different sizes and shapes of paperback novels. Every book is begging for you to touch it and flip through it, which is probably why they often come sealed in plastic wrap, with just one copy unwrapped in front for me to play with.
I was on the hunt for children's books by Italian authors illustrated by Italians. Something I noticed in the children's book section was that there were few picture books but many shelves of chapter books (of all reading levels) with lush illustrations. I have theories on why this is: with all its idiosyncrasies, English takes much longer to form than Italian; that fact plus a mix of cultural and publishing practices provide for some pretty great chapter book options. I love how many illustrations are included in these books, how the texts melds with them, that they are in color and often harbor glorious full page spreads.
At a delicious dinner at our friends' home, I was lucky enough to spend some time with Sofia, a very bright 9 year old who patiently showed me all her books from when she was young to what she is currently reading. She answered all my questions and introduced me to several books I didn't know, including ones by the author Roberto Piumini. C'era una volta, ascolta is a lovely collection of stories by Mr. Piumini, illustrated by Nicoletta Costa. I love the texture she creates with her patterns and the humor Ms. Costa conveys.
Next up is a great among children's writers, Gianni Rodari (and here), he won the Hans Christian Anderson Award for his incredibly imaginitive books for children. Le avventurre di cipollino is illustrated by Manuela Santini. Her illustrations blew me away. They are so soft and strange and seem like they are part of the paper fibers rather than printed on them. Her figures are without edges, which makes them hard to photograph and they seem to move along the pages. Enjoy!
Lastly, a book by Italo Calvino, renowned author of short stories and novels. His Il visconte dimezzato was illustrated by the artist Emanuele Luzzati (and here). I could stare at these artful rich colored illustrations all day. I love the thick lines, bold colors and his written descriptions throughout the drawings.
Do you have any Italian favorites? Let us know in the comments!
Sneak peek: Francesco Tullio Altan is an Italian author/illustrator who has influenced me enormously. Separate post on him to come. In the meantime, I'll leave you with this image from Altan's board book: Pimpa e il fungo sognatore (Pimpa and the daydreaming mushroom). As you can see, the mushroom loses his cap!
Topipittori has a well-established and ambitious stable at the moment; Beatrice Alemagna and Simone Rea immediately come to mind. Of course Bruno Munari… The field of picture books in Italy seems quite passionate now.
Thanks, Rob! I have a beautiful Bruno Munari book. I can't wait to check out the others. Sounds like I'll need to do a follow up post.
Well, you could probably devote an entire blog to the subject! Happy times!
I was in Verona this summer and absolutely loved the bookstore in town… You are right, the children's books in Italy are magical. Thanks for the fun post!
What a wonderful post! I didn't know Italo Calvino wrote children's books. I adored "If on a winter's night a traveler." I also love the illustrations by Fabian Negrin!
Thanks, Alina! I'll check out Fabian Negrin's illustrations.


text:
Buynow
Excerpts and Reviews
These Memories Can't Wait: Growing Up With Music
June 12th, 2013 → 1:57 pm	@ Jamie // No Comments
Music is an interior journey. It will deliver you beyond Mom. Beyond dinner and muddy sneakers and your-father-will-be-home-any-minute to a place where authority is deflected with a knowing smirk and a toss of blond curls. You will live in a different world, the one you hear when the records play. You can't explain how or what it will look like. But you know you'll get there.
That's from These Memories Can't Wait, my "Fierce Short" now available for download from Fierce Ink Press.
It's a short memoir about growing up with music.
Like a lot of kids, I was so into music as a teenager that my record collection practically defined who I was.
It was a thrilling and rewarding relationship. But unconditional faith in anything can lead a person down strange and muddled roads.
Music preferences change with every generation. But the passion is universal. Maybe today's devoted teenaged fan will find something to relate to in my tale.
The download costs $3.99, with a portion of the proceeds going to Choices for Youth.
Win a Free Download of "These Memories Can't Wait"
The Triumvirate of the Modern NHL
Live from ECMA 2013: The All-Time East Coast Top Ten
Does An "All-Time" NHL Record Really Tell a Story for All Time?
The End of Music
Jamie Fitzpatrick
Available now at Chapters Indigo
© 2013 Jamie Fitzpatrick
Site Theme by Palladio Content Inc


text:
Q: Is peeking in A/B tests bad even if you don't stop your experiment? I have been asked a test about A/B testing that I'm unsure how to answer.
Say you're running a conversion rate experiment, and my A variation has a conversion rate of 2% and my B variation has a 2.2% conversion rate (so a 10% relative change).
I set up my system to collect data daily, and I calculate the p-value from a chi-squared test daily. However, depite peeking at the p-value daily, I don't stop the experiment until the agreed stopping point (14 days after the experiment started).
My question is: does this affect things like the statistical power/false positive rate?
I simulated the process with the code below:
import pandas as pd
import numpy as np
import dsutil as hfds
from pymc3.stats import hpd
from scipy.special import betaln
from scipy.stats import beta
from scipy.stats import chi2_contingency

class DGP(object):

    """
    Data Generating Process
    """

    def __init__(self, arrivals_mean=100,
                 conversion_rate=0.02,
                 n_days=14,
                 n_reps=1,
                 mde=0.0):
        self.arrivals_mean = arrivals_mean
        self.conversion_rate = conversion_rate
        self.n_days = n_days
        self.n_reps = n_reps
        self.mde=mde

    def generate_data(self, mde=0.0):
        """
        Simulate a conversion experiment with Poisson arrivals and a conversion_rate conversion probability
        """
        n_arrivals = np.random.poisson(lam=self.arrivals_mean, size=self.n_days*self.n_reps)
        n_converted = np.random.binomial(n_arrivals, self.conversion_rate+(self.conversion_rate*mde))
        iterables = [range(self.n_reps), range(self.n_days)]
        index = pd.MultiIndex.from_product(iterables, names=['replicate', 'day'])
        df = pd.DataFrame(data={'arrivals': n_arrivals, 'converted': n_converted}, index=index)
        return df.cumsum()

    def simulate(self):
        control_df = self.generate_data()
        test_df = self.generate_data(self.mde)
        return control_df, test_df

n_trials = 1
days = 13
positives = 0

control_df, test_df = DGP(mde=0.02).simulate()
for day in range(days):
    n_A = control_df.iloc[day]['arrivals']
    obs_A = control_df.iloc[day]['converted']

    n_B = test_df.iloc[day]['arrivals']
    obs_B = test_df.iloc[day]['converted']

    obs = [[obs_A, obs_B], [n_A, n_B]]

    stat, p, _, _  = chi2_contingency(obs)
    print(p)

And my output is (rounded to 2 decimal places):
0.89
0.88
0.83
0.57
0.63
0.41
0.43
0.83
0.96
0.99
0.98
0.97
0.94

My intuition is that even doing the calculations daily invalidates some part of the contract I made when I set up the experiment. But I'm not sure how to put this into words.
I also beleive that if I were to cahnge from a chi-square test to something like a Beta-Binomial model, and deciding if an experiment is significant via a rule like:
$$ P(\lambda_B > \lambda_A) > C $$
Where $ P(\lambda_B > \lambda_A) $ is the posterior from the Beta-Binomial and $ C $ is some fixed threshold like 0.95.
I also belive that this set up would have the same problems as the chi-square. Namely that I should only calculate once, irrespective of whether I stop based off the peeking.

A: I have not read your code but will try an answer based on the text only.
In the case of a null hypothesis $H_0$ being true, the $p$ value is just a random variable uniformely distributed between 0 and 1. If $H_0$ is true and you look often at that random variable, chances increase, that once $p < .05$. As such, you increase the cummulated alpha error of your experiment.
However, computing a $p$ value without making a decision based on it does not lead to a decision and thus does not lead to an error. In NHST the alpha error is an error in a decision based on a $p$ value. If you don't draw decisions from your $p$ value, you then cannot make a false decision aka error. So if you determine to make a decision based on one predefined $p$ value at the end then there is no alpha accumulation.
However, you should ask yourself, why do you want to compute $p$ values if not for drawing conclusions from them? The only point in computing $p$ values that I am aware of is making decisions. So whilst there is no harm in computing values that are without any practical importance, is there a point in doing so?

A: If the daily calculations don't affect the results of the test, then they don't affect the validity of the test.
However, even if those particular daily results didn't cause you to take a different action, if there were results that could have caused you to take a different action, then the validity of the test is affected. If there's going to be anyone looking at your conduct during the test to see whether the test was valid, you should avoid this sort of behavior, just to avoid the appearance of impropriety.


History: School was established in 2013, at the request of the local community members. There was no school in the area due to a civil war that stunted development for over 20 years. A school board was formed and hired staff to begin instruction under a large metal-roofed structure that was constructed during the war as safe meeting center. In 2014, the parents and community members built a modest 4-classroom brick school building. In honor of the community's involvement, the school was named Parents' Junior School.
Amenities: Large metal-roofed structure, modest 4-classroom brick building, a borehole to provide clean drinking water, and 5 EnviroLoo toilet systems, which are waterless and convert waste to compost.
Needs: A solid and secure school house, a kitchen building; school furniture and supplies; uniforms.
History: Coronado Hills Elementary School is a member school of the Primary Years Programme. This School was authorized as an IB World School in February 2015.


text:
Releasing genetically modified organisms: will any harm outweigh any advantage?
Beringer, J. E.
The public debate about genetically modified organisms has concentrated largely on concerns about food safety and potential risks to the environment. In both cases there appears to be an assumption that existing crops and animals are safe. The experience to date from traditional methods is discussed and it is concluded that most concerns about environmental harm are more relevant to existing crops. The flow of genes among species, and even within different genera, is discussed with due attention being paid to the need for inherited genes to confer a selective advantage on hosts. A reason why so many people are critical of intensive agriculture and biotechnology is that virtually all changes in agricultural practise have an adverse impact on wildlife, particularly when such change leads to increased intensification. The problem of deciding how to manage agriculture to ensure that we maintain or enhance species diversity of wild plants and animals is discussed against the background that most of the UK environment is the result of human intervention. Nature and dense human populations cannot coexist without the former suffering. The objective should be to develop and exploit the understanding of ecology to provide the information required to enable us to develop a far more enlightened future for agriculture and wildlife.
genetically engineered organisms
transgenic plants
Collembola (springtails) of Mary Mix McDonald Woods and nearby upland forests in Northeastern Illinois, USA.
species diversity 18 Jan 2023
Steffen, J.
READ MORE about Collembola (springtails) of Mary Mix McDonald Woods and nearby upland forests in Northeastern Illinois, USA.
Low levels of outdoor recreation alter wildlife behaviour.
wildlife 04 Jan 2023
Sytsma, M. L. T. & Lewis, T. & Gardner, B. & Prugh, L. R.
READ MORE about Low levels of outdoor recreation alter wildlife behaviour.
Functional rarity and evolutionary uniqueness of threatened species across different scales and habitats in a Central European flora.
wild plants 07 Nov 2022
Sfair, J. C. & Lososová, Z. & Chytrý, M. & Bello, F. de
READ MORE about Functional rarity and evolutionary uniqueness of threatened species across different scales and habitats in a Central European flora.


text:
Flights from San Diego to Fayetteville, United States
San Diego-United States
San Diego-North Carolina
Did you mean flights from Fayetteville, North Carolina to San Diego?
San Diego to Fayetteville, North Carolina Last modified: Jan 29, 2023 1:38 -05:00
We've scanned 1,544 round trip itineraries and found the cheapest flights to Fayetteville, North Carolina. !! & 00 frequently offer the best deals to Fayetteville, North Carolina flights, or select your preferred carrier below to see the cheapest days to fly.
SANFAY
FAYSAN
Mon 3/6
How Much is a Flight from San Diego to Fayetteville, North Carolina?
We have collected flight cost data from across the web for travel from San Diego to Fayetteville, North Carolina, and have found the average flight price for this trip to be $489.
Where To Buy Cheap Flights from San Diego to Fayetteville, North Carolina?
The best way to find a great deal on airfare is to search multiple sites. When you run a search on FareCompare, we search multiple sites and fare sources all at once so you don't have to - which is why we think FareCompare is the best place to find cheap tickets. Airlines can adjust prices for tickets from San Diego to Fayetteville, North Carolina based on the day and time that you decide to book your flight. We have collected data from all airlines, and have found that Tuesdays, Wednesdays, and Saturdays are often the best days to book flights. If you'd like to learn more, read our article about the best time to buy airline tickets.
How far in advance should I book tickets from San Diego to Fayetteville, North Carolina?
The chart below shows up-to-date information regarding how far in advance to book your flight from San Diego to Fayetteville, North Carolina.
Cheapest Day To Fly from San Diego to Fayetteville, North Carolina
We've examined 3,088 itinerary searches that we've seen for departures in the next 90 days and found that the cheapest day to fly from San Diego to Fayetteville, North Carolina is Wednesday. See the chart below to compare prices for other days of the week.
Compare Flight Prices from San Diego to Fayetteville, North Carolina by Month
Low priced flights are most commonly available by purchasing between one and three months in advance. International or holiday flights may need to be purchased even further in advance. The chart below shows the cheapest flight prices by month for San Diego to Fayetteville, North Carolina flights.
January San Diego Fayetteville, North Carolina !! 1/29/23 2/6/23 0 $702
February San Diego Fayetteville, North Carolina !! 2/28/23 3/6/23 0 $404
March San Diego Fayetteville, North Carolina !! 3/9/23 3/12/23 0 $573
April San Diego Fayetteville, North Carolina 00 4/18/23 4/25/23 0 $402
May San Diego Fayetteville, North Carolina !! 5/1/23 5/8/23 0 $745
June San Diego Fayetteville, North Carolina 00 6/1/23 6/14/23 0 $640
August San Diego Fayetteville, North Carolina Major Airlines 8/1/21 8/14/21 1 $345
April San Diego Fayetteville, North Carolina 00 4/7/23 4/10/23 0 $1,445
Cheap Last Minute Flights from San Diego to Fayetteville, North Carolina
Looking for cheap last minute flights or a weekend getaway? We've got you covered with weekend flight deals from San Diego to Fayetteville, North Carolina. The chart below shows the best last minute deals and cheap flights this weekend we could find.
Connecting Flights vs Direct Flights from San Diego to Fayetteville, North Carolina
The average price for connecting flights from San Diego to Fayetteville, North Carolina is $1,326.
The average price for direct flights from San Diego to Fayetteville, North Carolina is $609.
One Way Flights vs Round Trip Flights from San Diego to Fayetteville, North Carolina
We have found that there is often no price difference between buying a round trip flight versus a one way flight. Increased flexibility is the main benefit when it comes to buying a one way flight from San Diego to Fayetteville, North Carolina. However, booking a round trip flight can be a simpler process. You can compare round trip and one way flights by using our flight comparison.
The average price for one way flights from San Diego to Fayetteville, North Carolina is $319.
The average price for round trip flights from San Diego to Fayetteville, North Carolina is $559.
San Diego to Fayetteville, North Carolina Flight Questions
Airlines in San Diego flying to Fayetteville, North Carolina Last modified: Jan 29, 2023 1:38 -05:00Number of routes searched: 0Number of itineraries searched: 0
Wondering which airlines fly out of San Diego to Fayetteville, North Carolina? We've gathered the average price of San Diego airlines with flights to Fayetteville, North Carolina. Different airlines offer different levels of comfort and service, so consider convenience when choosing your airline.
Content(title=Airlines in San Diego flying to Fayetteville, North Carolina, renderType=CategorizedTables, data=CategorizedTableContent2(name=null, sortedCategories=[], tablesByCategory=[], selectedIndex=0, product=false, offers=[], ajaxCall=AjaxCall(name=flightScheduleSummary, parameters={}, json={"siteCode":"1","code":"SANFAY","page":"market"})), numRows=0, generatorId=FlightScheduleSummary, modified=Sun Jan 29 06:38:17 UTC 2023)
San Diego to Fayetteville, North Carolina Airports
These are the major commercial airports we're currently monitoring in San Diego and Fayetteville, North Carolina. If your route includes a city with multiple airports, you may be able to find substantial savings by choosing an alternate airport.
San Diego Lindbergh (SAN)
Fayetteville - Grannis (FAY)
Research Schedules from San Diego to Fayetteville, North Carolina
Cheap Domestic Flights from San Diego - SAN Last modified: Jan 29, 2023 1:38 -05:00
San Diego to Atlanta $101
San Diego to Raleigh $337
San Diego to New York City $163
San Diego to Charlotte $148
San Diego to Chicago $104
San Diego to Washington, District of Columbia $150
Cheap Domestic Flights to Fayetteville - FAY Last modified: Jan 29, 2023 1:38 -05:00
Los Angeles, California to Fayetteville, North Carolina $387
Los Angeles, California to Raleigh $151
Los Angeles, California to Charlotte $146
Los Angeles, California to Orlando $95
Los Angeles, California to Wilmington, North Carolina $251
Los Angeles, California to Myrtle Beach $217
Los Angeles, California to Washington, District of Columbia $117
Los Angeles, California to Baltimore $81
Los Angeles, California to Philadelphia $96
Los Angeles, California to Newark $112
Los Angeles, California to Miami, Florida $110
Los Angeles, California to Greensboro $266
Los Angeles, California to Charleston, South Carolina $143
Los Angeles, California to Jacksonville, North Carolina $518
Los Angeles, California to Boston $150
Los Angeles, California to Detroit $113
Los Angeles, California to Houston $111
Los Angeles, California to Fort Lauderdale $111
Ontario, California to Atlanta $150
Santa Ana, California to Raleigh $638
Los Angeles, California to Columbia, South Carolina $320
Ontario, California to New York City Check Dates
Los Angeles, California to Tampa $102
Cheap International Flights to Fayetteville - FAY Last modified: Jan 29, 2023 1:38 -05:00
Los Angeles, California to Toronto $176
Cheap Flights from San Diego to Fayetteville, North Carolina


Timothy Theodore Duncan (born April 25, 1976) is an American retired professional basketball player who played his entire 19-year career with the San Antonio Spurs of the National Basketball Association (NBA). Widely considered to be the greatest power forward of all time, he is a five-time NBA champion, two-time NBA MVP, three-time NBA Finals MVP, NBA All-Star Game MVP and NBA Rookie of the Year. He is also a 15-time NBA All-Star and the only player to be selected to both the All-NBA and All-Defensive Teams in all of his first 13 seasons.