rename some variables to make code more readable

This commit is contained in:
Arne Morten Kvarving
2023-08-29 09:49:32 +02:00
parent 9d133d8be1
commit 0c2e160d90
2 changed files with 18 additions and 26 deletions

View File

@@ -275,12 +275,8 @@ bool ASMs2Dmx::generateFEMTopology ()
myMLGN[inod++] = ++gNod;
}
int lnod2 = 0;
int lnod3 = 0;
for (i2 = 0; i2 < geoBasis-1; ++i2)
lnod2 += m_basis[i2]->order_u()*m_basis[i2]->order_v();
for (i2 = 0; i2 < (int)m_basis.size(); ++i2)
lnod3 += m_basis[i2]->order_u()*m_basis[i2]->order_v();
int firstItgNode = this->getFirstItgElmNode();
int nElmNode = std::accumulate(elem_size.begin(), elem_size.end(), 0);
// Create nodal connectivities for bases
inod = std::accumulate(nb.begin(),nb.begin()+geoBasis-1,0u);
@@ -296,8 +292,8 @@ bool ASMs2Dmx::generateFEMTopology ()
{
myMLGE[iel] = ++gEl; // global element number over all patches
int lnod = lnod2;
myMNPC[iel].resize(lnod3,0);
int lnod = firstItgNode;
myMNPC[iel].resize(nElmNode,0);
for (j2 = b->order_v()-1; j2 >= 0; j2--)
for (j1 = b->order_u()-1; j1 >= 0; j1--)
@@ -305,20 +301,20 @@ bool ASMs2Dmx::generateFEMTopology ()
// find knotspan spanning element for other bases
lnod = 0;
size_t lnod4 = 0;
size_t basis_ofs = 0;
for (size_t bas = 0; bas < m_basis.size(); ++bas) {
if (bas != (size_t)geoBasis-1) {
if (bas != static_cast<size_t>(geoBasis-1)) {
double ku = *knotu;
double kv = *knotv;
int bknotu = m_basis[bas]->basis_u().knotIntervalFuzzy(ku);
int bknotv = m_basis[bas]->basis_v().knotIntervalFuzzy(kv);
size_t iinod = lnod4+bknotv*m_basis[bas]->numCoefs_u() + bknotu;
size_t iinod = basis_ofs + bknotv*m_basis[bas]->numCoefs_u() + bknotu;
for (j2 = m_basis[bas]->order_v()-1; j2 >= 0; j2--)
for (j1 = m_basis[bas]->order_u()-1; j1 >= 0; j1--)
myMNPC[iel][lnod++] = iinod - m_basis[bas]->numCoefs_u()*j2 - j1;
} else
lnod += m_basis[bas]->order_u()*m_basis[bas]->order_v();
lnod4 += nb[bas];
lnod += elem_size[bas];
basis_ofs += nb[bas];
}
}

View File

@@ -283,12 +283,8 @@ bool ASMs3Dmx::generateFEMTopology ()
myMLGN[inod++] = ++gNod;
}
int lnod2 = 0;
int lnod3 = 0;
for (i2 = 0; i2 < geoBasis-1; ++i2)
lnod2 += m_basis[i2]->order(0)*m_basis[i2]->order(1)*m_basis[i2]->order(2);
for (i2 = 0; i2 < (int)m_basis.size(); ++i2)
lnod3 += m_basis[i2]->order(0)*m_basis[i2]->order(1)*m_basis[i2]->order(2);
int firstItgElmNode = this->getFirstItgElmNode();
int nElmNode = std::accumulate(elem_size.begin(), elem_size.end(), 0);
// Create nodal connectivities for bases
inod = std::accumulate(nb.begin(),nb.begin()+geoBasis-1,0u);
@@ -307,31 +303,31 @@ bool ASMs3Dmx::generateFEMTopology ()
{
myMLGE[iel] = ++gEl; // global element number over all patches
int lnod = lnod2;
myMNPC[iel].resize(lnod3,0);
int lnod = firstItgElmNode;
myMNPC[iel].resize(nElmNode,0);
for (j3 = b->order(2)-1; j3 >= 0; j3--)
for (j2 = b->order(1)-1; j2 >= 0; j2--)
for (j1 = b->order(0)-1; j1 >= 0; j1--)
myMNPC[iel][lnod++] = inod - b->numCoefs(0)*b->numCoefs(1)*j3 - b->numCoefs(0)*j2 - j1;
// find knotspan spanning element for other bases
lnod = 0;
size_t lnod4 = 0;
size_t basis_ofs = 0;
for (size_t bas = 0; bas < m_basis.size(); ++bas) {
if (bas != (size_t)geoBasis-1) {
if (bas != static_cast<size_t>(geoBasis-1)) {
double ku = *knotu;
double kv = *knotv;
double kw = *knotw;
int bknotu = m_basis[bas]->basis(0).knotIntervalFuzzy(ku);
int bknotv = m_basis[bas]->basis(1).knotIntervalFuzzy(kv);
int bknotw = m_basis[bas]->basis(2).knotIntervalFuzzy(kw);
size_t iinod = lnod4+(bknotw*m_basis[bas]->numCoefs(1)+bknotv)*m_basis[bas]->numCoefs(0) + bknotu;
size_t iinod = basis_ofs + (bknotw*m_basis[bas]->numCoefs(1)+bknotv)*m_basis[bas]->numCoefs(0) + bknotu;
for (j3 = m_basis[bas]->order(2)-1; j3 >= 0; j3--)
for (j2 = m_basis[bas]->order(1)-1; j2 >= 0; j2--)
for (j1 = m_basis[bas]->order(0)-1; j1 >= 0; j1--)
myMNPC[iel][lnod++] = iinod - (j3*m_basis[bas]->numCoefs(1)+j2)*m_basis[bas]->numCoefs(0) - j1;
} else
lnod += m_basis[bas]->order(0)*m_basis[bas]->order(1)*m_basis[bas]->order(2);
lnod4 += nb[bas];
lnod += elem_size[bas];
basis_ofs += nb[bas];
}
}