13 #if !defined(KRATOS_EMBEDDED_TRANSONIC_PERTURBATION_POTENTIAL_FLOW_ELEMENT_H)
14 #define KRATOS_EMBEDDED_TRANSONIC_PERTURBATION_POTENTIAL_FLOW_ELEMENT_H
47 template <
int TDim,
int TNumNodes>
98 typename GeometryType::Pointer pGeometry)
107 typename GeometryType::Pointer pGeometry,
108 typename PropertiesType::Pointer pProperties)
146 typename PropertiesType::Pointer pProperties)
const override;
149 typename GeometryType::Pointer pGeom,
150 typename PropertiesType::Pointer pProperties)
const override;
168 std::vector<double>& rValues,
172 std::vector<int>& rValues,
190 std::string
Info()
const override;
193 void PrintInfo(std::ostream& rOStream)
const override;
196 void PrintData(std::ostream& rOStream)
const override;
214 const double rDensity,
219 const double densityDerivativeWRTVelocity,
220 const double densityDerivativeWRTUpwindVelocity,
234 void SelectUpwindElement(std::vector<IndexType>& rUpwindElementNodesIds,
248 void save(
Serializer& rSerializer)
const override;
Vector VectorType
Definition: element.h:88
std::size_t SizeType
Definition: element.h:94
Properties PropertiesType
Definition: element.h:80
Geometry< NodeType >::PointsArrayType NodesArrayType
definition of nodes container type, redefined from GeometryType
Definition: element.h:86
Matrix MatrixType
Definition: element.h:90
Definition: embedded_transonic_perturbation_potential_flow_element.h:49
void CalculateLeftHandSideKuttaWakeElement(MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo)
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:188
Element::Pointer Clone(IndexType NewId, NodesArrayType const &ThisNodes) const override
It creates a new element pointer and clones the previous element data.
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:50
void CalculateRightHandSideContribution(BoundedVector< double, TNumNodes > &rRhs_total, const double rDensity, const array_1d< double, TDim > &rVelocity) override
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:224
BaseType::GeometryType GeometryType
Definition: embedded_transonic_perturbation_potential_flow_element.h:58
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(EmbeddedTransonicPerturbationPotentialFlowElement)
void CalculateLeftHandSide(MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:104
void CalculateRightHandSide(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:69
void AssembleSupersonicLeftHandSide(MatrixType &rLeftHandSideMatrix, const double densityDerivativeWRTVelocity, const double densityDerivativeWRTUpwindVelocity, const array_1d< double, TDim > velocity, const array_1d< double, TDim > upwindVelocity, const ProcessInfo &rCurrentProcessInfo) override
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:312
void Initialize(const ProcessInfo &rCurrentProcessInfo) override
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:61
EmbeddedTransonicPerturbationPotentialFlowElement(IndexType NewId=0)
Default constuctor.
Definition: embedded_transonic_perturbation_potential_flow_element.h:81
EmbeddedTransonicPerturbationPotentialFlowElement & operator=(EmbeddedTransonicPerturbationPotentialFlowElement &&rOther)=delete
Move operator.
BaseType::SizeType SizeType
Definition: embedded_transonic_perturbation_potential_flow_element.h:56
TransonicPerturbationPotentialFlowElement< TDim, TNumNodes > BaseType
Definition: embedded_transonic_perturbation_potential_flow_element.h:54
BaseType::VectorType VectorType
Definition: embedded_transonic_perturbation_potential_flow_element.h:61
BaseType::IndexType IndexType
Definition: embedded_transonic_perturbation_potential_flow_element.h:57
void CalculateLeftHandSideContribution(BoundedMatrix< double, TNumNodes, TNumNodes > &rLhs_total, const ProcessInfo &rCurrentProcessInfo, const array_1d< double, TDim > &rVelocity, const ElementalData &rData) override
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:259
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:459
void CalculateRightHandSideKuttaWakeElement(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo)
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:145
void FindUpwindElement(const ProcessInfo &rCurrentProcessInfo) override
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:378
BaseType::PropertiesType PropertiesType
Definition: embedded_transonic_perturbation_potential_flow_element.h:59
BaseType::MatrixType MatrixType
Definition: embedded_transonic_perturbation_potential_flow_element.h:62
Element::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, typename PropertiesType::Pointer pProperties) const override
It creates a new element pointer.
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:27
EmbeddedTransonicPerturbationPotentialFlowElement(IndexType NewId, typename GeometryType::Pointer pGeometry, typename PropertiesType::Pointer pProperties)
Definition: embedded_transonic_perturbation_potential_flow_element.h:106
ModifiedShapeFunctions::Pointer pGetModifiedShapeFunctions(Vector &rDistances)
BaseType::GeometriesArrayType GeometriesArrayType
Definition: embedded_transonic_perturbation_potential_flow_element.h:63
EmbeddedTransonicPerturbationPotentialFlowElement(EmbeddedTransonicPerturbationPotentialFlowElement const &rOther)=delete
PotentialFlowUtilities::ElementalData< TNumNodes, TDim > ElementalData
Definition: embedded_transonic_perturbation_potential_flow_element.h:64
EmbeddedTransonicPerturbationPotentialFlowElement(IndexType NewId, typename GeometryType::Pointer pGeometry)
Definition: embedded_transonic_perturbation_potential_flow_element.h:97
void CalculateOnIntegrationPoints(const Variable< double > &rVariable, std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:486
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:531
std::string Info() const override
Turn back information as a string.
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:517
EmbeddedTransonicPerturbationPotentialFlowElement(IndexType NewId, const NodesArrayType &ThisNodes)
Definition: embedded_transonic_perturbation_potential_flow_element.h:88
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: embedded_transonic_perturbation_potential_flow_element.cpp:525
EmbeddedTransonicPerturbationPotentialFlowElement & operator=(EmbeddedTransonicPerturbationPotentialFlowElement const &rOther)=delete
Assignment operator.
EmbeddedTransonicPerturbationPotentialFlowElement(EmbeddedTransonicPerturbationPotentialFlowElement &&rOther)=delete
~EmbeddedTransonicPerturbationPotentialFlowElement() override
Definition: embedded_transonic_perturbation_potential_flow_element.h:126
BaseType::NodesArrayType NodesArrayType
Definition: embedded_transonic_perturbation_potential_flow_element.h:60
std::size_t IndexType
Definition: flags.h:74
std::size_t IndexType
Defines the index type.
Definition: geometrical_object.h:73
Geometry base class.
Definition: geometry.h:71
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Definition: transonic_perturbation_potential_flow_element.h:47
PointerVector< GeometryType > GeometriesArrayType
Definition: transonic_perturbation_potential_flow_element.h:54
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
float velocity
Definition: PecletTest.py:54
def load(f)
Definition: ode_solve.py:307
Definition: potential_flow_utilities.h:39