tried to get rid of warnings - unsuccessfully
This commit is contained in:
parent
a416ccd362
commit
56af4f4bef
3 changed files with 67 additions and 32 deletions
|
|
@ -77,7 +77,7 @@ void Mesh::Init_Solution_mult(std::vector<double> &v,
|
|||
|
||||
for (int e = 0; e < Nelems(); ++e) // loop over all elements
|
||||
{
|
||||
int sd = ElementSubdomains[e]; // get subdomain of element e
|
||||
int sd = _elementSubdomains[e]; // get subdomain of element e
|
||||
if (sd == target_sd) // if is target subdomain then
|
||||
{
|
||||
int base = e * _nvert_e; // get starting index of element in coordinate vector
|
||||
|
|
@ -506,7 +506,7 @@ double Mesh::AverageVectorFunction_perSubdomain(std::vector<double> &v, int targ
|
|||
int subdomain_element_counter = 0;
|
||||
for (int e = 0; e < Nelems(); ++e) // loop over all elements
|
||||
{
|
||||
int sd = ElementSubdomains[e]; // get subdomain of element e
|
||||
int sd = _elementSubdomains[e]; // get subdomain of element e
|
||||
if (sd == target_sd) // if is target subdomain then
|
||||
{
|
||||
subdomain_element_counter++;
|
||||
|
|
@ -534,7 +534,7 @@ double Mesh::CheckTemp_mult(std::vector<double> &v, int target_sd, double goal_t
|
|||
int subdomain_element_counter = 0;
|
||||
for (int e = 0; e < Nelems(); ++e) // loop over all elements
|
||||
{
|
||||
int sd = ElementSubdomains[e]; // get subdomain of element e
|
||||
int sd = _elementSubdomains[e]; // get subdomain of element e
|
||||
if (sd == target_sd) // if is target subdomain then
|
||||
{
|
||||
subdomain_element_counter++;
|
||||
|
|
@ -822,31 +822,56 @@ const std::vector<int> Mesh::BoundaryEdgeNodes() const
|
|||
return _bedges;
|
||||
}
|
||||
|
||||
const std::vector<int> Mesh::OuterEdges() const
|
||||
{
|
||||
return _outerEdges;
|
||||
}
|
||||
|
||||
const std::vector<int> Mesh::OuterEdgesNodes() const
|
||||
{
|
||||
return _outerEdgesNodes;
|
||||
}
|
||||
|
||||
const std::vector<int> Mesh::OuterEdgesSubdomains() const
|
||||
{
|
||||
return _outerEdgesSubdomains;
|
||||
}
|
||||
|
||||
const std::vector<int> Mesh::ElementSubdomains() const
|
||||
{
|
||||
return _elementSubdomains;
|
||||
}
|
||||
|
||||
const std::vector<int> Mesh::EdgeSubdomains() const
|
||||
{
|
||||
return _edgeSubdomains;
|
||||
}
|
||||
|
||||
|
||||
// Only the outer edges for Robin BC
|
||||
void Mesh::InitializeOuterEdges()
|
||||
{
|
||||
assert(EdgeSubdomains.size() == 2*_ebedges.size());
|
||||
assert(_edgeSubdomains.size() == 2*_ebedges.size());
|
||||
for (size_t k = 0; k < _ebedges.size(); ++k) // loop over all boundary edges
|
||||
{
|
||||
if (EdgeSubdomains[2*k] == -1)
|
||||
if (_edgeSubdomains[2*k] == -1)
|
||||
{
|
||||
OuterEdges.push_back(_ebedges[k]);
|
||||
OuterEdgesSubdomains.push_back(EdgeSubdomains[2*k + 1]);
|
||||
OuterEdgesNodes.push_back(_bedges[2*k]);
|
||||
OuterEdgesNodes.push_back(_bedges[2*k + 1]);
|
||||
_outerEdges.push_back(_ebedges[k]);
|
||||
_outerEdgesSubdomains.push_back(_edgeSubdomains[2*k + 1]);
|
||||
_outerEdgesNodes.push_back(_bedges[2*k]);
|
||||
_outerEdgesNodes.push_back(_bedges[2*k + 1]);
|
||||
}
|
||||
if (EdgeSubdomains[2*k + 1] == -1)
|
||||
if (_edgeSubdomains[2*k + 1] == -1)
|
||||
{
|
||||
OuterEdges.push_back(_ebedges[k]);
|
||||
OuterEdgesSubdomains.push_back(EdgeSubdomains[2*k]);
|
||||
OuterEdgesNodes.push_back(_bedges[2*k]);
|
||||
OuterEdgesNodes.push_back(_bedges[2*k + 1]);
|
||||
_outerEdges.push_back(_ebedges[k]);
|
||||
_outerEdgesSubdomains.push_back(_edgeSubdomains[2*k]);
|
||||
_outerEdgesNodes.push_back(_bedges[2*k]);
|
||||
_outerEdgesNodes.push_back(_bedges[2*k + 1]);
|
||||
}
|
||||
}
|
||||
|
||||
cout << "All boundary edges: " << _ebedges.size() << endl;
|
||||
cout << "Outer boundary edges: " << OuterEdges.size() << endl;
|
||||
cout << "Outer boundary edges: " << _outerEdges.size() << endl;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1088,8 +1113,9 @@ Mesh::Mesh(std::string const &fname)
|
|||
// Constructor with subdomain support
|
||||
Mesh::Mesh(std::string const &filename, std::string const &subdomain_filename) : Mesh(filename)
|
||||
{
|
||||
ElementSubdomains = ReadElementSubdomains(subdomain_filename);
|
||||
_elementSubdomains = ReadElementSubdomains(subdomain_filename);
|
||||
InitializeOuterEdges();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1181,11 +1207,11 @@ void Mesh::ReadVertexBasedMesh(std::string const &fname)
|
|||
}
|
||||
|
||||
// Store edge adjacent subdomains
|
||||
EdgeSubdomains.resize(nbedges * 2);
|
||||
_edgeSubdomains.resize(nbedges * 2);
|
||||
for (int k = 0; k < nbedges * 2; ++k)
|
||||
{
|
||||
ifs >> EdgeSubdomains[k];
|
||||
EdgeSubdomains[k] -= OFFSET;
|
||||
ifs >> _edgeSubdomains[k];
|
||||
_edgeSubdomains[k] -= OFFSET;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue