|
[Sponsors] |
question about transformPoint behavior in rigidBodyMeshMotion |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
May 21, 2024, 04:31 |
question about transformPoint behavior in rigidBodyMeshMotion
|
#1 |
New Member
SSSSS
Join Date: Jun 2011
Posts: 29
Rep Power: 15 |
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? |
|
|
|
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 |