Normal vector of wall is included into the wall velocity calculations

This commit is contained in:
Hamidreza
2025-07-22 13:54:23 +03:30
parent e62ba11a8d
commit c340040b40
14 changed files with 187 additions and 134 deletions

View File

@ -41,65 +41,76 @@ class conveyorBelt
{
private:
realx3 tangentVelocity_{0, 0, 0};
/// @brief linear velocity of the conveyor belt
real linearVelocity_{0};
/// normal vector of the velocity plane.
/// The velocity vector is tangent to this plane (velocity plane).
realx3 normal_{1,0,0};
public:
TypeInfoNV("conveyorBelt");
TypeInfoNV("conveyorBelt");
FUNCTION_HD
conveyorBelt()=default;
FUNCTION_HD
conveyorBelt()=default;
FUNCTION_H
explicit conveyorBelt(const dictionary& dict);
FUNCTION_H
explicit conveyorBelt(const dictionary& dict);
FUNCTION_HD
conveyorBelt(const conveyorBelt&) = default;
FUNCTION_HD
conveyorBelt(const conveyorBelt&) = default;
conveyorBelt& operator=(const conveyorBelt&) = default;
conveyorBelt& operator=(const conveyorBelt&) = default;
INLINE_FUNCTION_HD
void setTime(real t)
{}
INLINE_FUNCTION_HD
void setTime(real t)
{}
INLINE_FUNCTION_HD
realx3 linVelocityPoint(const realx3 &)const
{
return tangentVelocity_;
}
/*INLINE_FUNCTION_HD
realx3 linVelocityPoint(const realx3 &)const
{
return tangentVelocity_;
}*/
INLINE_FUNCTION_HD
realx3 transferPoint(const realx3& p, real)const
{
return p;
}
INLINE_FUNCTION_HD
realx3 linVelocityPoint(const realx3 &, const realx3& wallNormal)const
{
return linearVelocity_ * cross(wallNormal, normal_);
}
// - IO operation
FUNCTION_H
bool read(const dictionary& dict);
INLINE_FUNCTION_HD
realx3 transferPoint(const realx3& p, real)const
{
return p;
}
FUNCTION_H
bool write(dictionary& dict) const;
// - IO operation
FUNCTION_H
bool read(const dictionary& dict);
FUNCTION_H
bool read(iIstream& is);
FUNCTION_H
bool write(dictionary& dict) const;
FUNCTION_H
bool write(iOstream& os)const;
FUNCTION_H
bool read(iIstream& is);
FUNCTION_H
bool write(iOstream& os)const;
};
inline iOstream& operator <<(iOstream& os, const conveyorBelt& obj)
{
return os;
return os;
}
inline iIstream& operator >>(iIstream& is, conveyorBelt& obj)
{
return is;
return is;
}
}