Skip to content
Snippets Groups Projects
Commit 85547a23 authored by Axelle Drouard's avatar Axelle Drouard
Browse files

Fix matrix indices for Dirichlet BC

parent 8c80ee7a
No related branches found
No related tags found
No related merge requests found
......@@ -1085,16 +1085,6 @@ class ScalarHybridSchemeHandler::ScalarHybridScheme : public ScalarHybridSchemeH
S2(cell_id_j, cell_id_k) -=
lambda * dt * (cn_coeff / 2.) * 0.5 * mes_l[face_id] * normal_face_base(cell_id_j, i_face)[0] *
dot(inverse(node_betar[node_id]) * Cjr(cell_id_k, i_node_k), xj1_xj2_orth(cell_id_j, i_face));
// if (normal_face_base(cell_id_j, i_face)[0] * xj1_xj2_orth(cell_id_j, i_face) +
// normal_face_base(cell_id_j, i_face)[1] * xj1_xj2(cell_id_j, i_face) !=
// nl[face_id]) {
// std::cout << "(xj1,xj2) = (" << xj[cell_id_k] << "," << xj[cell_id_j] << ") \n"
// << normal_face_base(cell_id_j, i_face)[0] * xj1_xj2_orth(cell_id_j, i_face) +
// normal_face_base(cell_id_j, i_face)[1] * xj1_xj2(cell_id_j, i_face)
// << " = " << nl[face_id] << "\n"
// << "\n";
// }
// std::cout << S1(cell_id_j, cell_id_k) << "\n";
}
}
}
......@@ -1146,7 +1136,7 @@ class ScalarHybridSchemeHandler::ScalarHybridScheme : public ScalarHybridSchemeH
for (size_t i_face = 0; i_face < cell_to_face.size(); ++i_face) {
const FaceId face_id = cell_to_face[i_face];
const auto& face_to_node = face_to_node_matrix[face_id];
if (face_is_dirichlet[face_id]) {
if (face_to_node[0] == node_id or face_to_node[1] == node_id) {
S1(cell_id_j, cell_id_k) +=
lambda * dt * (1. - cn_coeff / 2.) * 0.5 * mes_l[face_id] * normal_face_base(cell_id_j, i_face)[0] *
......@@ -1154,15 +1144,7 @@ class ScalarHybridSchemeHandler::ScalarHybridScheme : public ScalarHybridSchemeH
S2(cell_id_j, cell_id_k) -=
lambda * dt * (cn_coeff / 2.) * 0.5 * mes_l[face_id] * normal_face_base(cell_id_j, i_face)[0] *
dot(inverse(node_betar[node_id]) * Cjr(cell_id_k, i_node_k), xj1_xj2_orth(cell_id_j, i_face));
// if (normal_face_base(cell_id_j, i_face)[0] * xj1_xj2_orth(cell_id_j, i_face) +
// normal_face_base(cell_id_j, i_face)[1] * xj1_xj2(cell_id_j, i_face) !=
// nl[face_id]) {
// std::cout << "(xj1,xj2) = (" << xj[cell_id_k] << "," << xj[cell_id_j] << ") \n"
// << normal_face_base(cell_id_j, i_face)[0] * xj1_xj2_orth(cell_id_j, i_face) +
// normal_face_base(cell_id_j, i_face)[1] * xj1_xj2(cell_id_j, i_face)
// << " = " << nl[face_id] << "\n"
// << "\n";
// }
}
}
}
}
......@@ -1188,7 +1170,7 @@ class ScalarHybridSchemeHandler::ScalarHybridScheme : public ScalarHybridSchemeH
for (size_t i_face = 0; i_face < cell_to_face.size(); ++i_face) {
const FaceId face_id = cell_to_face[i_face];
const auto& face_to_node = face_to_node_matrix[face_id];
if (face_is_dirichlet[face_id]) {
if (face_to_node[0] == node_id or face_to_node[1] == node_id) {
S1(cell_id_j, cell_id_k) +=
lambda * dt * (1. - cn_coeff / 2.) * 0.5 * mes_l[face_id] * normal_face_base(cell_id_j, i_face)[0] *
......@@ -1197,16 +1179,7 @@ class ScalarHybridSchemeHandler::ScalarHybridScheme : public ScalarHybridSchemeH
S2(cell_id_j, cell_id_k) -=
lambda * dt * (cn_coeff / 2.) * 0.5 * mes_l[face_id] * normal_face_base(cell_id_j, i_face)[0] *
dot(inverse(corner_betar[node_id]) * Cjr(cell_id_k, i_node_k), xj1_xj2_orth(cell_id_j, i_face));
// if (normal_face_base(cell_id_j, i_face)[0] * xj1_xj2_orth(cell_id_j, i_face) +
// normal_face_base(cell_id_j, i_face)[1] * xj1_xj2(cell_id_j, i_face) !=
// nl[face_id]) {
// std::cout << "(xj1,xj2) = (" << xj[cell_id_k] << "," << xj[cell_id_j] << ") \n"
// << normal_face_base(cell_id_j, i_face)[0] * xj1_xj2_orth(cell_id_j, i_face) +
// normal_face_base(cell_id_j, i_face)[1] * xj1_xj2(cell_id_j, i_face)
// << " = " << nl[face_id] << "\n"
// << "\n";
// }
}
}
}
}
......@@ -1340,7 +1313,7 @@ class ScalarHybridSchemeHandler::ScalarHybridScheme : public ScalarHybridSchemeH
for (size_t i_face = 0; i_face < cell_to_face.size(); ++i_face) {
const FaceId face_id = cell_to_face[i_face];
const auto& face_to_node = face_to_node_matrix[face_id];
if (is_boundary_face[face_id]) {
if (face_is_dirichlet[face_id]) {
if (face_to_node[0] == node_id or face_to_node[1] == node_id) {
b[cell_id_j] += lambda * 0.5 * mes_l[face_id] * normal_face_base(cell_id_j, i_face)[0] *
node_boundary_values[node_id] *
......@@ -1376,7 +1349,7 @@ class ScalarHybridSchemeHandler::ScalarHybridScheme : public ScalarHybridSchemeH
for (size_t i_face = 0; i_face < cell_to_face.size(); ++i_face) {
const FaceId face_id = cell_to_face[i_face];
const auto& face_to_node = face_to_node_matrix[face_id];
if (is_boundary_face[face_id]) {
if (face_is_dirichlet[face_id]) {
if (face_to_node[0] == node_id or face_to_node[1] == node_id) {
b[cell_id_j] +=
lambda * 0.5 * mes_l[face_id] * normal_face_base(cell_id_j, i_face)[0] *
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment