int FreeWarping :: estimateMaxPackSize(IntArray &commMap, DataStream &buff, int packUnpackType) { int count = 0, pcount = 0; Domain *domain = this->giveDomain(1); if ( packUnpackType == 0 ) { ///@todo Fix this old ProblemCommMode__NODE_CUT value for ( int map: commMap ) { for ( Dof *jdof: *domain->giveDofManager( map ) ) { if ( jdof->isPrimaryDof() && ( jdof->__giveEquationNumber() ) ) { count++; } else { pcount++; } } } // -------------------------------------------------------------------------------- // only pcount is relevant here, since only prescribed components are exchanged !!!! // -------------------------------------------------------------------------------- return ( buff.givePackSizeOfDouble(1) * pcount ); } else if ( packUnpackType == 1 ) { for ( int map: commMap ) { count += domain->giveElement( map )->estimatePackSize(buff); } return count; } return 0; }
int NonLinearDynamic :: estimateMaxPackSize(IntArray &commMap, DataStream &buff, int packUnpackType) { int count = 0, pcount = 0; Domain *domain = this->giveDomain(1); if ( packUnpackType == 0 ) { ///@todo Fix this old ProblemCommMode__NODE_CUT value for ( int map: commMap ) { DofManager *dman = domain->giveDofManager( map ); for ( Dof *dof: *dman ) { if ( dof->isPrimaryDof() && ( dof->__giveEquationNumber() ) ) { count++; } else { pcount++; } } } return ( buff.givePackSizeOfDouble(1) * max(count, pcount) ); } else if ( packUnpackType == 1 ) { for ( int map: commMap ) { count += domain->giveElement( map )->estimatePackSize(buff); } return count; } return 0; }
int TrabBoneNL3D :: estimatePackSize(DataStream &buff, GaussPoint *ip) { abort(); return 0; #if 0 // Note: nlStatus localStrainVectorForAverage memeber must be properly sized! // IDNLMaterialStatus *nlStatus = (IDNLMaterialStatus*) this -> giveStatus (ip); return buff.givePackSizeOfDouble(1); #endif }