int FillSendBuffer(int p) { int i0 = 0; int TotLen = 0; foreach (DGField fld in m_TRXFields) { TotLen += fld.GetMPISendBufferSize(p); } if (m_SendBuffers[p] == null) { m_SendBuffers[p] = new double[TotLen]; } if (m_SendBuffers[p].Length < TotLen) { m_SendBuffers[p] = new double[TotLen]; } for (int f = 0; f < m_TRXFields.Count; f++) { DGField fld = m_TRXFields[f]; int Len = fld.GetMPISendBufferSize(p); fld.FillMPISendBuffer(p, m_SendBuffers[p], i0); i0 += Len; } return(TotLen); }