CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

question about transformPoint behavior in rigidBodyMeshMotion

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 21, 2024, 04:31
Default question about transformPoint behavior in rigidBodyMeshMotion
  #1
New Member
 
SSSSS
Join Date: Jun 2011
Posts: 29
Rep Power: 15
doctorWho is on a distinguished road
Hi,


I am trying to figure out how the rigidBodyMeshMotion works.


What I am wondering is in the following statements


const septernion transform0(this->transform0(bodyIndex));
const scalarField& weight = bodyMeshes_[0].weight_;

forAll(points0, pointi)
{
// Don't move where weight ~= 0
if (weight[pointi] <= small)
{}
// Use solid-body motion where weight ~= 1
else if (weight[pointi] > 1 - small)
{
pointDisplacement[pointi] =
transform0.transformPoint(points0[pointi]) - points0[pointi];
}
// Slerp septernion interpolation
else
{
pointDisplacement[pointi] =
slerp(septernion::I, transform0, weight[pointi]).transformPoint(points0[pointi])
- points0[pointi];
}
}



the statement transform0.transformPoint(points0[pointi]) is from the quaterniaon class member function transformPoint(const vector& v) defined as follows:


inline Foam::vector Foam::septernion::transformPoint(const vector& v) const
{
return r().transform(v - t());
}



looking at this definition, the transformPoint is

1) move a point v to the rotation center by subtracting displacement t()
2) apply rotation tensor to have coordinate transformation


but this code does not have an operation to move the transformed point to the original position by translation t() as defined in transform member function of sixDoFRigidBodyMotion as follows:


Foam::tmp<Foam:ointField> Foam::sixDoFRigidBodyMotion::transform
(
const pointField& initialPoints
) const
{
return
(
centreOfRotation()
+ (Q() & initialQ_.T() & (initialPoints - initialCentreOfRotation_))
);
}





Anyone can explain how transformPoint works in rigidBodyMeshMotion?
doctorWho is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Question about symmetry in Autodesk Cfd 2016 ecto Autodesk Simulation CFD 0 October 20, 2015 04:16
small question about the functionalities of topological changes in OpenFoam ngj OpenFOAM Running, Solving & CFD 2 February 28, 2013 10:02
Question Re Engineering Data Source imnull ANSYS 0 March 5, 2012 13:51
internal field question - PitzDaily Case atareen64 OpenFOAM Running, Solving & CFD 2 January 26, 2011 15:26
CHANNEL FLOW: a question and a request Carlos Main CFD Forum 4 August 23, 2002 05:55


All times are GMT -4. The time now is 04:06.