Foam::tmp<Foam::pointField> Foam::displacementSBRStressFvMotionSolver::curPoints() const { vpi_.interpolate(cellDisplacement_, pointDisplacement_); tmp<pointField> tcurPoints ( points0_ + pointDisplacement_.internalField() ); twoDCorrectPoints(tcurPoints()); return tcurPoints; }
Foam::tmp<Foam::pointField> Foam::displacementComponentLaplacianFvMotionSolver::curPoints() const { volPointInterpolation::New(fvMesh_).interpolate ( cellDisplacement_, pointDisplacement_ ); if (pointLocation_.valid()) { if (debug) { Info<< "displacementComponentLaplacianFvMotionSolver : applying " << " boundary conditions on " << pointLocation_().name() << " to new point location." << endl; } // Apply pointLocation_ b.c. to mesh points. pointLocation_().primitiveFieldRef() = fvMesh_.points(); pointLocation_().primitiveFieldRef().replace ( cmpt_, points0_ + pointDisplacement_.primitiveField() ); pointLocation_().correctBoundaryConditions(); // Implement frozen points if (frozenPointsZone_ != -1) { const pointZone& pz = fvMesh_.pointZones()[frozenPointsZone_]; forAll(pz, i) { label pointi = pz[i]; pointLocation_()[pointi][cmpt_] = points0_[pointi]; } } twoDCorrectPoints(pointLocation_().primitiveFieldRef()); return tmp<pointField>(pointLocation_().primitiveField()); }
Foam::tmp<Foam::pointField> Foam::velocityComponentLaplacianFvMotionSolver::curPoints() const { vpi_.interpolate(cellMotionU_, pointMotionU_); tmp<pointField> tcurPoints(new pointField(fvMesh_.points())); tcurPoints().replace ( cmpt_, tcurPoints().component(cmpt_) + fvMesh_.time().deltaT().value()*pointMotionU_.internalField() ); twoDCorrectPoints(tcurPoints()); return tcurPoints; }
Foam::tmp<Foam::pointField> Foam::displacementSBRStressFvMotionSolver::curPoints() const { volPointInterpolation::New(fvMesh_).interpolate ( cellDisplacement_, pointDisplacement_ ); tmp<pointField> tcurPoints ( points0() + pointDisplacement().primitiveField() ); twoDCorrectPoints(tcurPoints.ref()); return tcurPoints; }
Foam::tmp<Foam::pointField> Foam::velocityLaplacianFvMotionSolver::curPoints() const { volPointInterpolation::New(fvMesh_).interpolate ( cellMotionU_, pointMotionU_ ); tmp<pointField> tcurPoints ( fvMesh_.points() + fvMesh_.time().deltaTValue()*pointMotionU_.primitiveField() ); twoDCorrectPoints(tcurPoints.ref()); return tcurPoints; }
Foam::tmp<Foam::pointField> Foam::solidDisplacementFvMotionSolver::curPoints() const { volPointInterpolation::New(fvMesh_).interpolate ( cellDisplacement_, pointDisplacement_ ); if (pointLocation_.valid()) { if (debug) { Info<< "solidDisplacementFvMotionSolver : applying " << " boundary conditions on " << pointLocation_().name() << " to new point location." << endl; } pointLocation_().internalField() = points0() + pointDisplacement_.internalField(); pointLocation_().correctBoundaryConditions(); // Implement frozen points if (frozenPointsZone_ != -1) { const pointZone& pz = fvMesh_.pointZones()[frozenPointsZone_]; forAll(pz, i) { pointLocation_()[pz[i]] = points0()[pz[i]]; } } twoDCorrectPoints(pointLocation_().internalField()); return tmp<pointField>(pointLocation_().internalField()); } else {
Foam::tmp<Foam::pointgpuField> Foam::displacementComponentLaplacianFvMotionSolver::curPoints() const { volPointInterpolation::New(fvMesh_).interpolate ( cellDisplacement_, pointDisplacement_ ); if (pointLocation_.valid()) { if (debug) { Info<< "displacementComponentLaplacianFvMotionSolver : applying " << " boundary conditions on " << pointLocation_().name() << " to new point location." << endl; } // Apply pointLocation_ b.c. to mesh points. pointLocation_().internalField() = fvMesh_.getPoints(); pointLocation_().internalField().replace ( cmpt_, points0_ + pointDisplacement_.internalField() ); pointLocation_().correctBoundaryConditions(); // Implement frozen points if (frozenPointsZone_ != -1) { const pointZone& pz = fvMesh_.pointZones()[frozenPointsZone_]; const labelgpuList& zonePoints = pz.getList(); thrust::transform ( thrust::make_permutation_iterator ( pointLocation_().getField().begin(), zonePoints.begin() ), thrust::make_permutation_iterator ( pointLocation_().getField().begin(), zonePoints.end() ), thrust::make_permutation_iterator ( points0_.begin(), zonePoints.begin() ), thrust::make_permutation_iterator ( pointLocation_().getField().begin(), zonePoints.begin() ), replaceComponentFunctor<point,scalar>(cmpt_) ); } twoDCorrectPoints(pointLocation_().internalField()); return tmp<pointgpuField>(pointLocation_().internalField()); } else { tmp<pointgpuField> tcurPoints(new pointgpuField(fvMesh_.getPoints())); tcurPoints().replace ( cmpt_, points0_ + pointDisplacement_.internalField() ); // Implement frozen points if (frozenPointsZone_ != -1) { const pointZone& pz = fvMesh_.pointZones()[frozenPointsZone_]; const labelgpuList& zonePoints = pz.getList(); thrust::transform ( thrust::make_permutation_iterator ( tcurPoints().begin(), zonePoints.begin() ), thrust::make_permutation_iterator ( tcurPoints().begin(), zonePoints.end() ), thrust::make_permutation_iterator ( points0_.begin(), zonePoints.begin() ), thrust::make_permutation_iterator ( tcurPoints().begin(), zonePoints.begin() ), replaceComponentFunctor<point,scalar>(cmpt_) ); } twoDCorrectPoints(tcurPoints()); return tcurPoints; } }