VM2D 1.14
Vortex methods for 2D flows simulation
Loading...
Searching...
No Matches
OptimizedVelocity Class Reference

#include <OptimizedVelocity2D.h>

Collaboration diagram for OptimizedVelocity:

Public Member Functions

void AddVelocities (const std::vector< Point2D > &velocities)
 
std::vector< Point2DGetAverageVelocity () const
 
Point2D GetGlobalAverageVelocity (const std::vector< Point2D > &averageVelocities) const
 
void PerformAveragingVelo (const std::string &path)
 

Private Attributes

std::vector< std::vector< Point2D > > allStepsVelocities
 
std::vector< std::vector< double > > allStepsPressures
 
bool isAveraged = true
 

Detailed Description

Definition at line 10 of file OptimizedVelocity2D.h.

Member Function Documentation

◆ AddVelocities()

void OptimizedVelocity::AddVelocities ( const std::vector< Point2D > &  velocities)

Definition at line 55 of file OptimizedVelocity2D.cpp.

56{
57 allStepsVelocities.push_back(velocities);
58}
std::vector< std::vector< Point2D > > allStepsVelocities

◆ GetAverageVelocity()

std::vector< Point2D > OptimizedVelocity::GetAverageVelocity ( ) const

Definition at line 15 of file OptimizedVelocity2D.cpp.

16{
17 size_t numSteps = allStepsVelocities.size();
18 size_t numPoints = allStepsVelocities[0].size();
19
20 std::vector<Point2D> averageVelocities(numPoints, { 0.0, 0.0 });
21
22 for (size_t step = 0; step < numSteps; ++step) {
23 for (size_t i = 0; i < numPoints; ++i) {
24 averageVelocities[i][0] += allStepsVelocities[step][i][0];
25 averageVelocities[i][1] += allStepsVelocities[step][i][1];
26 }
27 }
28
29 for (size_t i = 0; i < numPoints; ++i) {
30 averageVelocities[i][0] /= numSteps;
31 averageVelocities[i][1] /= numSteps;
32 }
33
34 return averageVelocities;
35}
Here is the caller graph for this function:

◆ GetGlobalAverageVelocity()

Point2D OptimizedVelocity::GetGlobalAverageVelocity ( const std::vector< Point2D > &  averageVelocities) const

Definition at line 37 of file OptimizedVelocity2D.cpp.

38{
39 double sumX = 0.0;
40 double sumY = 0.0;
41 size_t numPoints = averageVelocities.size();
42
43 for (size_t i = 0; i < numPoints; ++i) {
44 sumX += averageVelocities[i][0];
45 sumY += averageVelocities[i][1];
46 }
47
48 Point2D globalAverage;
49 globalAverage[0] = sumX / numPoints;
50 globalAverage[1] = sumY / numPoints;
51
52 return globalAverage;
53}
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PerformAveragingVelo()

void OptimizedVelocity::PerformAveragingVelo ( const std::string &  path)

Definition at line 60 of file OptimizedVelocity2D.cpp.

61{
62 if (isAveraged) {
63 std::vector<Point2D> averageVelocities = GetAverageVelocity();
64 Point2D globalAverage = GetGlobalAverageVelocity(averageVelocities);
65 std::cout << "Velocity value: (" << globalAverage[0] << ", " << globalAverage[1] << ")\n";
66 std::ofstream psiFile(path + "psi.txt");
67 psiFile << "Velocity value: (" << globalAverage[0] << ", " << globalAverage[1] << ")\n";
68 psiFile.close();
69
70 isAveraged = false;
71 }
72}
std::vector< Point2D > GetAverageVelocity() const
Point2D GetGlobalAverageVelocity(const std::vector< Point2D > &averageVelocities) const
Here is the call graph for this function:

Member Data Documentation

◆ allStepsPressures

std::vector<std::vector<double> > OptimizedVelocity::allStepsPressures
private

Definition at line 14 of file OptimizedVelocity2D.h.

◆ allStepsVelocities

std::vector<std::vector<Point2D> > OptimizedVelocity::allStepsVelocities
private

Definition at line 13 of file OptimizedVelocity2D.h.

◆ isAveraged

bool OptimizedVelocity::isAveraged = true
private

Definition at line 15 of file OptimizedVelocity2D.h.


The documentation for this class was generated from the following files: