Skip to content
Snippets Groups Projects
Commit f2ca4940 authored by Adrien Crovato's avatar Adrien Crovato
Browse files

v1.0.1

parent 7e3b16bc
No related branches found
No related tags found
1 merge request!4v1.0.1
# gitlab-ci file for fpm
default:
image: rboman/waves-py3:2020.3
image: rboman/waves-py3:latest
before_script:
- source /opt/intel/mkl/bin/mklvars.sh intel64
- source /opt/intel/tbb/bin/tbbvars.sh intel64
- source /opt/intel/oneapi/mkl/latest/env/vars.sh
- source /opt/intel/oneapi/tbb/latest/env/vars.sh
.global_tag: &global_tag_def
tags:
......
# fpm
Field panel method for solving transonic flows using the full potential equation
Field panel method for solving transonic flows using the full potential equation\
University of Liège\
:warning: This code is a C++ implementation of [aero](github.com/acrovato/aero) developed in the context of [this PhD thesis](https://hdl.handle.net/2268/251906). However, the field module is not implemented yet. As such, only susbonic calculations *without transonic correction* can be carried out. :warning:
![](/dox/img.png)
......
Subproject commit 054ba00c327e4f2745ff9c559832247f90c3cec9
Subproject commit d0cd6e506719277ad2d6bd458ff77b6942fbb164
......@@ -61,7 +61,8 @@ Body::Body(std::shared_ptr<MshData> _msh, std::string const &id,
for (auto e : te.tag->elems)
for (auto n : e->nodes)
teNodes.push_back(n);
std::sort(teNodes.begin(), teNodes.end(), [](Node *a, Node *b) -> bool { return a->pos(1) < b->pos(1); });
std::sort(teNodes.begin(), teNodes.end(), [](Node *a, Node *b) -> bool
{ return a->pos(1) < b->pos(1); });
teNodes.erase(std::unique(teNodes.begin(), teNodes.end()), teNodes.end());
// Translate TE nodes (along x-coordinate)
std::vector<Node *> wkNodes;
......@@ -104,7 +105,7 @@ Body::Body(std::shared_ptr<MshData> _msh, std::string const &id,
}
catch (const std::out_of_range &)
{
//std::cout << lwe->nodes[i]->no << "not found in map!\n";
// std::cout << lwe->nodes[i]->no << "not found in map!\n";
}
}
}
......
......@@ -55,4 +55,4 @@ public:
} // namespace fpm
#endif //FBODY_H
#endif // FBODY_H
......@@ -73,4 +73,4 @@ private:
};
} // namespace fpm
#endif //FBUILDER_H
#endif // FBUILDER_H
......@@ -90,4 +90,4 @@ public:
} // namespace fpm
#endif
#endif //FEDGE_H
#endif // FEDGE_H
......@@ -40,4 +40,4 @@ public:
} // namespace fpm
#endif //FFIELD_H
#endif // FFIELD_H
......@@ -206,7 +206,7 @@ double Problem::Cp(Eigen::Vector3d U)
return 1 - u.dot(u);
else
{
//particularized: 2 / (gamma * mInf * mInf) * (pow(1 + 0.5 * (gamma - 1) * mInf * mInf * (1 - gradU2), gamma / (gamma - 1)) - 1);
// particularized: 2 / (gamma * mInf * mInf) * (pow(1 + 0.5 * (gamma - 1) * mInf * mInf * (1 - gradU2), gamma / (gamma - 1)) - 1);
double a = 1 + 0.2 * mach * mach * (1 - u.dot(u));
return 2 / (1.4 * mach * mach) * (sqrt(a * a * a * a * a * a * a) - 1);
}
......@@ -257,21 +257,21 @@ void Problem::check() const
// Volume elements
if (field)
for (auto e : field->tag->elems)
if (e->type() != ELTYPE::HEX8)
if (e->type() != ElType::HEX8)
{
std::stringstream err;
err << "FPM solver is only implemented for surface elements of type "
<< ELTYPE::HEX8 << " (" << e->type() << " was given)!\n";
<< ElType::HEX8 << " (" << e->type() << " was given)!\n";
throw std::runtime_error(err.str());
}
// Surface elements
for (auto b : bodies)
for (auto e : b->tag->elems)
if (e->type() != ELTYPE::QUAD4)
if (e->type() != ElType::QUAD4)
{
std::stringstream err;
err << "FPM solver is only implemented for surface elements of type "
<< ELTYPE::QUAD4 << " (" << e->type() << " was given)!\n";
<< ElType::QUAD4 << " (" << e->type() << " was given)!\n";
throw std::runtime_error(err.str());
}
}
......
......@@ -71,4 +71,4 @@ public:
} // namespace fpm
#endif //FPROBLEM_H
#endif // FPROBLEM_H
......@@ -68,4 +68,4 @@ private:
};
} // namespace fpm
#endif //FSOLVER_H
#endif // FSOLVER_H
......@@ -70,9 +70,9 @@ public:
#ifndef SWIG
Timer &operator[](std::string const &name);
virtual void write(std::ostream &out) const override;
#endif //SWIG
#endif // SWIG
};
} // namespace fpm
#endif //FTIMERS_H
#endif // FTIMERS_H
......@@ -44,4 +44,4 @@ public:
} // namespace fpm
#endif //FWAKE_H
#endif // FWAKE_H
......@@ -54,4 +54,4 @@ class EquEdge;
} // namespace fpm
#endif //FPM_H
#endif // FPM_H
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment