Улучшение восприятие кодовой базы

This commit is contained in:
ParkSuMin
2025-05-13 21:22:52 +03:00
parent 141044e93f
commit 7ceecca05b
4 changed files with 41 additions and 43 deletions

View File

@@ -18,11 +18,12 @@ class Mesh{
public:
Mesh(Object&, double);
void ShowLinks();
std::vector<std::vector<Node*>>& Nodes();
std::vector<Node*>& LineX();
std::vector<Node*>& LineY();
~Mesh();
//void ShowLinks();
std::vector<std::vector<Node*>>& Nodes() { return _mesh; }
std::vector<Node*>& LineX() { return _hlines; }
std::vector<Node*>& LineY() { return _vlines; }
};
#endif

View File

@@ -22,7 +22,6 @@ public:
std::pair<double, double> Filly(double, double);
std::pair<double, double> Fillx(double, double);
//std::vector<size_t> Get_IDs();
Form* Who(double, double);
};

View File

@@ -53,35 +53,6 @@ void Mesh::Adapt() {
}
}
void Mesh::ShowLinks() {
for (auto line : _mesh) {
for (auto node : line) {
if (node->d())
std::cout << "| ";
}
std::cout << '\n';
for (auto node : line) {
if (node->l()) {
std::cout << '-';
}
std::cout << 'N';
if (node->r()) {
std::cout << '-';
}
else {
std::cout << '\n';
}
}
for (auto node : line) {
if (node->u())
std::cout << "|";
std::cout << " ";
}
std::cout << '\n';
}
}
void Mesh::Delnode(int i, int j) {
Node* node = _mesh[i][j];
double bndX1 = _obj.Fillx(node->X(), node->Y()).first;
@@ -152,14 +123,39 @@ void Mesh::Delnode(int i, int j) {
_mesh[i].erase(_mesh[i].begin() + j);
delete node;
}
std::vector<std::vector<Node*>>& Mesh::Nodes() { return _mesh; }
std::vector<Node*>& Mesh::LineX() { return _hlines; }
std::vector<Node*>& Mesh::LineY() { return _vlines; }
Mesh::~Mesh() {
for (auto line : _mesh)
for (auto node : line)
delete node;
}
//void Mesh::ShowLinks() {
// for (auto line : _mesh) {
// for (auto node : line) {
// if (node->d())
// std::cout << "| ";
// }
// std::cout << '\n';
// for (auto node : line) {
// if (node->l()) {
// std::cout << '-';
// }
// std::cout << 'N';
// if (node->r()) {
// std::cout << '-';
// }
// else {
// std::cout << '\n';
// }
// }
// for (auto node : line) {
// if (node->u())
// std::cout << "|";
// std::cout << " ";
//
// }
// std::cout << '\n';
// }
//}

View File

@@ -117,11 +117,13 @@ std::vector<double> Solver::ThomasMethod(std::vector<std::vector<double>>& A, st
beta[0] = b[0] / A[0][0];
for (int i = 1; i < row; i++) {
double a = A[i][0];
double b1 = A[i][1];
double c = A[i][2];
alpha[i] = -c / (a * alpha[i - 1] + b1);
beta[i] = (b[i] - a * beta[i - 1]) / (a * alpha[i - 1] + b1);
double a_i = A[i][0];
double b_i = A[i][1];
double c_i = A[i][2];
double y_i = b_i + a_i * alpha[i - 1];
alpha[i] = -c_i / y_i;
beta[i] = (b[i] - a_i * beta[i - 1]) / y_i;
}
std::vector<double> result(b.size());