void GridPatchCSGLL::ComputeVorticityDivergence( int iDataIndex ) { // Physical constants const PhysicalConstants & phys = m_grid.GetModel().GetPhysicalConstants(); // Working data DataArray4D<double> & dataState = GetDataState(iDataIndex, DataLocation_Node); if (dataState.GetSize(0) < 2) { _EXCEPTIONT( "Insufficient components for vorticity calculation"); } // Get the alpha and beta components of vorticity DataArray3D<double> dataUa; dataUa.SetSize( dataState.GetSize(1), dataState.GetSize(2), dataState.GetSize(3)); DataArray3D<double> dataUb; dataUb.SetSize( dataState.GetSize(1), dataState.GetSize(2), dataState.GetSize(3)); dataUa.AttachToData(&(dataState[0][0][0][0])); dataUb.AttachToData(&(dataState[1][0][0][0])); // Compute the radial component of the curl of the velocity field ComputeCurlAndDiv(dataUa, dataUb); }
void GridPatchCartesianGLL::ComputeVorticityDivergence( int iDataIndex ) { // Physical constants const PhysicalConstants & phys = m_grid.GetModel().GetPhysicalConstants(); // Working data const GridData4D & dataState = GetDataState(iDataIndex, DataLocation_Node); if (dataState.GetComponents() < 2) { _EXCEPTIONT( "Insufficient components for vorticity calculation"); } // Get the alpha and beta components of vorticity GridData3D dataUa; GridData3D dataUb; dataState.GetAsGridData3D(0, dataUa); dataState.GetAsGridData3D(1, dataUb); // Compute the radial component of the curl of the velocity field ComputeCurlAndDiv(dataUa, dataUb); }