Skip to content
Snippets Groups Projects
Commit 7e5c3bcd authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Merge branch 'develop' into feature/reconstruction

parents 827233cf 33387643
No related branches found
No related tags found
1 merge request!205High-order polynomial reconstruction
Showing
with 77 additions and 116 deletions
......@@ -2,11 +2,11 @@
#define AXIS_BOUNDARY_CONDITION_DESCRIPTOR_HPP
#include <mesh/IBoundaryDescriptor.hpp>
#include <scheme/IBoundaryConditionDescriptor.hpp>
#include <scheme/BoundaryConditionDescriptorBase.hpp>
#include <memory>
class AxisBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
class AxisBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase
{
private:
std::ostream&
......@@ -16,23 +16,15 @@ class AxisBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
return os;
}
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
public:
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
Type
type() const final
{
return Type::axis;
}
AxisBoundaryConditionDescriptor(std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor)
: m_boundary_descriptor(boundary_descriptor)
AxisBoundaryConditionDescriptor(const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor)
: BoundaryConditionDescriptorBase{boundary_descriptor}
{
;
}
......
#ifndef BOUNDARY_CONDITION_DESCRIPTOR_BASE_HPP
#define BOUNDARY_CONDITION_DESCRIPTOR_BASE_HPP
#include <scheme/IBoundaryConditionDescriptor.hpp>
class BoundaryConditionDescriptorBase : public IBoundaryConditionDescriptor
{
protected:
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
public:
const std::shared_ptr<const IBoundaryDescriptor>&
boundaryDescriptor_shared() const final
{
return m_boundary_descriptor;
}
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
BoundaryConditionDescriptorBase(std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor)
: m_boundary_descriptor{boundary_descriptor}
{}
BoundaryConditionDescriptorBase(const BoundaryConditionDescriptorBase&) = delete;
BoundaryConditionDescriptorBase(BoundaryConditionDescriptorBase&&) = delete;
virtual ~BoundaryConditionDescriptorBase() = default;
};
#endif // BOUNDARY_CONDITION_DESCRIPTOR_BASE_HPP
......@@ -3,11 +3,11 @@
#include <language/utils/FunctionSymbolId.hpp>
#include <mesh/IBoundaryDescriptor.hpp>
#include <scheme/IBoundaryConditionDescriptor.hpp>
#include <scheme/BoundaryConditionDescriptorBase.hpp>
#include <memory>
class DirichletBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
class DirichletBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase
{
private:
std::ostream&
......@@ -19,7 +19,6 @@ class DirichletBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
const std::string_view m_name;
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
const FunctionSymbolId m_rhs_symbol_id;
public:
......@@ -35,12 +34,6 @@ class DirichletBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
return m_rhs_symbol_id;
}
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
Type
type() const final
{
......@@ -48,9 +41,9 @@ class DirichletBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
}
DirichletBoundaryConditionDescriptor(const std::string_view name,
std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor,
const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor,
const FunctionSymbolId& rhs_symbol_id)
: m_name{name}, m_boundary_descriptor(boundary_descriptor), m_rhs_symbol_id{rhs_symbol_id}
: BoundaryConditionDescriptorBase{boundary_descriptor}, m_name{name}, m_rhs_symbol_id{rhs_symbol_id}
{
;
}
......
......@@ -2,12 +2,12 @@
#define EXTERNAL_BOUNDARY_CONDITION_DESCRIPTOR_HPP
#include <mesh/IBoundaryDescriptor.hpp>
#include <scheme/IBoundaryConditionDescriptor.hpp>
#include <scheme/BoundaryConditionDescriptorBase.hpp>
#include <utils/Socket.hpp>
#include <memory>
class ExternalBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
class ExternalBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase
{
private:
std::ostream&
......@@ -19,7 +19,6 @@ class ExternalBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
const std::string_view m_name;
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
const std::shared_ptr<const Socket> m_socket;
public:
......@@ -35,12 +34,6 @@ class ExternalBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
return m_socket;
}
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
Type
type() const final
{
......@@ -48,9 +41,9 @@ class ExternalBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
}
ExternalBoundaryConditionDescriptor(const std::string_view name,
std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor,
const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor,
const std::shared_ptr<const Socket>& socket)
: m_name{name}, m_boundary_descriptor(boundary_descriptor), m_socket{socket}
: BoundaryConditionDescriptorBase{boundary_descriptor}, m_name{name}, m_socket{socket}
{}
ExternalBoundaryConditionDescriptor(const ExternalBoundaryConditionDescriptor&) = delete;
......
......@@ -3,11 +3,11 @@
#include <language/utils/FunctionSymbolId.hpp>
#include <mesh/IBoundaryDescriptor.hpp>
#include <scheme/IBoundaryConditionDescriptor.hpp>
#include <scheme/BoundaryConditionDescriptorBase.hpp>
#include <memory>
class FixedBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
class FixedBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase
{
private:
std::ostream&
......@@ -19,23 +19,15 @@ class FixedBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
const std::string_view m_name;
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
public:
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
Type
type() const final
{
return Type::fixed;
}
FixedBoundaryConditionDescriptor(std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor)
: m_boundary_descriptor(boundary_descriptor)
FixedBoundaryConditionDescriptor(const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor)
: BoundaryConditionDescriptorBase{boundary_descriptor}
{}
FixedBoundaryConditionDescriptor(const FixedBoundaryConditionDescriptor&) = delete;
......
......@@ -3,11 +3,11 @@
#include <language/utils/FunctionSymbolId.hpp>
#include <mesh/IBoundaryDescriptor.hpp>
#include <scheme/IBoundaryConditionDescriptor.hpp>
#include <scheme/BoundaryConditionDescriptorBase.hpp>
#include <memory>
class FourierBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
class FourierBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase
{
private:
std::ostream&
......@@ -19,7 +19,6 @@ class FourierBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
const std::string_view m_name;
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
const FunctionSymbolId m_mass_symbol_id;
const FunctionSymbolId m_rhs_symbol_id;
......@@ -42,12 +41,6 @@ class FourierBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
return m_rhs_symbol_id;
}
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
Type
type() const final
{
......@@ -55,11 +48,11 @@ class FourierBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
}
FourierBoundaryConditionDescriptor(const std::string_view name,
std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor,
const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor,
const FunctionSymbolId& mass_symbol_id,
const FunctionSymbolId& rhs_symbol_id)
: m_name{name},
m_boundary_descriptor(boundary_descriptor),
: BoundaryConditionDescriptorBase{boundary_descriptor},
m_name{name},
m_mass_symbol_id{mass_symbol_id},
m_rhs_symbol_id{rhs_symbol_id}
{
......
......@@ -2,11 +2,11 @@
#define FREE_BOUNDARY_CONDITION_DESCRIPTOR_HPP
#include <mesh/IBoundaryDescriptor.hpp>
#include <scheme/IBoundaryConditionDescriptor.hpp>
#include <scheme/BoundaryConditionDescriptorBase.hpp>
#include <memory>
class FreeBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
class FreeBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase
{
private:
std::ostream&
......@@ -16,15 +16,7 @@ class FreeBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
return os;
}
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
public:
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
Type
type() const final
{
......@@ -32,7 +24,7 @@ class FreeBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
}
FreeBoundaryConditionDescriptor(std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor)
: m_boundary_descriptor(boundary_descriptor)
: BoundaryConditionDescriptorBase{boundary_descriptor}
{
;
}
......
......@@ -2,6 +2,7 @@
#define I_BOUNDARY_CONDITION_DESCRIPTOR_HPP
#include <iostream>
#include <memory>
class IBoundaryDescriptor;
......@@ -32,6 +33,7 @@ class IBoundaryConditionDescriptor
return bcd._write(os);
}
virtual const std::shared_ptr<const IBoundaryDescriptor>& boundaryDescriptor_shared() const = 0;
virtual const IBoundaryDescriptor& boundaryDescriptor() const = 0;
virtual Type type() const = 0;
......
......@@ -3,11 +3,11 @@
#include <language/utils/FunctionSymbolId.hpp>
#include <mesh/IBoundaryDescriptor.hpp>
#include <scheme/IBoundaryConditionDescriptor.hpp>
#include <scheme/BoundaryConditionDescriptorBase.hpp>
#include <memory>
class InflowBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
class InflowBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase
{
private:
std::ostream&
......@@ -17,7 +17,6 @@ class InflowBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
return os;
}
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
const FunctionSymbolId m_function_symbol_id;
public:
......@@ -27,21 +26,15 @@ class InflowBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
return m_function_symbol_id;
}
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
Type
type() const final
{
return Type::inflow;
}
InflowBoundaryConditionDescriptor(std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor,
InflowBoundaryConditionDescriptor(const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor,
const FunctionSymbolId& function_symbol_id)
: m_boundary_descriptor(boundary_descriptor), m_function_symbol_id{function_symbol_id}
: BoundaryConditionDescriptorBase{boundary_descriptor}, m_function_symbol_id{function_symbol_id}
{
;
}
......
......@@ -3,11 +3,11 @@
#include <language/utils/FunctionSymbolId.hpp>
#include <mesh/IBoundaryDescriptor.hpp>
#include <scheme/IBoundaryConditionDescriptor.hpp>
#include <scheme/BoundaryConditionDescriptorBase.hpp>
#include <memory>
class NeumannBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
class NeumannBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase
{
private:
std::ostream&
......@@ -19,7 +19,6 @@ class NeumannBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
const std::string_view m_name;
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
const FunctionSymbolId m_rhs_symbol_id;
public:
......@@ -35,12 +34,6 @@ class NeumannBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
return m_rhs_symbol_id;
}
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
Type
type() const final
{
......@@ -48,9 +41,9 @@ class NeumannBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
}
NeumannBoundaryConditionDescriptor(const std::string_view name,
std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor,
const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor,
const FunctionSymbolId& rhs_symbol_id)
: m_name{name}, m_boundary_descriptor(boundary_descriptor), m_rhs_symbol_id{rhs_symbol_id}
: BoundaryConditionDescriptorBase{boundary_descriptor}, m_name{name}, m_rhs_symbol_id{rhs_symbol_id}
{
;
}
......
......@@ -2,11 +2,11 @@
#define OUTFLOW_BOUNDARY_CONDITION_DESCRIPTOR_HPP
#include <mesh/IBoundaryDescriptor.hpp>
#include <scheme/IBoundaryConditionDescriptor.hpp>
#include <scheme/BoundaryConditionDescriptorBase.hpp>
#include <memory>
class OutflowBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
class OutflowBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase
{
private:
std::ostream&
......@@ -16,23 +16,15 @@ class OutflowBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
return os;
}
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
public:
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
Type
type() const final
{
return Type::outflow;
}
OutflowBoundaryConditionDescriptor(std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor)
: m_boundary_descriptor(boundary_descriptor)
OutflowBoundaryConditionDescriptor(const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor)
: BoundaryConditionDescriptorBase{boundary_descriptor}
{
;
}
......
......@@ -2,11 +2,11 @@
#define SYMMETRY_BOUNDARY_CONDITION_DESCRIPTOR_HPP
#include <mesh/IBoundaryDescriptor.hpp>
#include <scheme/IBoundaryConditionDescriptor.hpp>
#include <scheme/BoundaryConditionDescriptorBase.hpp>
#include <memory>
class SymmetryBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
class SymmetryBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase
{
private:
std::ostream&
......@@ -16,23 +16,15 @@ class SymmetryBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
return os;
}
std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
public:
const IBoundaryDescriptor&
boundaryDescriptor() const final
{
return *m_boundary_descriptor;
}
Type
type() const final
{
return Type::symmetry;
}
SymmetryBoundaryConditionDescriptor(std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor)
: m_boundary_descriptor(boundary_descriptor)
SymmetryBoundaryConditionDescriptor(const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor)
: BoundaryConditionDescriptorBase{boundary_descriptor}
{
;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment