Jeffery_Solution Namespace Reference

Functions

double null (const double &t)
 Null function. More...
 
double angle (const double &t)
 Angular position as a function of time t. More...
 
double velocity (const double &t)
 Angular velocity as function of time t. More...
 
double acceleration (const double &t)
 Angular acceleration as a function of time t (should always be zero) More...
 

Detailed Description

Exact solution for the rotation of an ellipse in unbounded shear flow as computed by Jeffery (1922)

Function Documentation

◆ acceleration()

double Jeffery_Solution::acceleration ( const double t)

Angular acceleration as a function of time t (should always be zero)

121  {
122  const double a = Problem_Parameter::A;
123  const double b = Problem_Parameter::A;
124 
125  //Get the angle and velocity
126  double chi = angle(t);
127  double chi_dot = velocity(t);
128 
129  //Now return the acceleration
130  return 2.0*(a*a - b*b)*(sin(chi)*cos(chi))*chi_dot/(a*a + b*b);
131  }
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137
Scalar * b
Definition: benchVecAdd.cpp:17
const Scalar * a
Definition: level2_cplx_impl.h:32
double velocity(const double &t)
Angular velocity as function of time t.
Definition: jeffery_orbit.cc:107
double angle(const double &t)
Angular position as a function of time t.
Definition: jeffery_orbit.cc:98
double A
Initial axis of the elliptical solid in x-direction.
Definition: jeffery_orbit.cc:68
t
Definition: plotPSD.py:36

References a, Problem_Parameter::A, angle(), b, cos(), sin(), plotPSD::t, and velocity().

Referenced by ClosedCSCWalls::actionsAfterTimeStep(), and UnstructuredImmersedEllipseProblem< ELEMENT >::output_exact_solution().

◆ angle()

double Jeffery_Solution::angle ( const double t)

Angular position as a function of time t.

99  {
100  const double a = Problem_Parameter::A;
101  const double b = Problem_Parameter::B;
102 
103  return atan((b/a)*tan((a*b*t)/(b*b + a*a)));
104  }
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 atan(const bfloat16 &a)
Definition: BFloat16.h:636
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 tan(const bfloat16 &a)
Definition: BFloat16.h:633
double B
Definition: jeffery_orbit.cc:72

References a, Problem_Parameter::A, Eigen::bfloat16_impl::atan(), b, Problem_Parameter::B, plotPSD::t, and Eigen::bfloat16_impl::tan().

Referenced by acceleration(), LawinenBox::actionsBeforeTimeStep(), VerticalMixerAngledBlades::addPrettyBlades(), ChuteWithWedge::addWedge(), alignedboxNonIntegralRotatable(), CircularPenetratorElement::centre(), oomph::OcTree::construct_rotation_matrix(), GpuHelper::drawVector(), GpuHelper::drawVectorBox(), Quaternion::fromAxisAndAngle(), HorizontalBaseScrew::getDistanceAndNormal(), Eigen::internal::idrs(), main(), objectivenessTest(), Eigen::internal::omega(), UnstructuredImmersedEllipseProblem< ELEMENT >::output_exact_solution(), DPMBase::readNextDataFile(), oomph::RotatableRefineableCubicMesh< ELEMENT >::RotatableRefineableCubicMesh(), oomph::Rotateable< ELEMENT >::rotate(), Rotateable< ELEMENT >::rotate(), rotate2D(), rotate2DIntegral(), rotate3DZAxis(), rotate3DZAxisIntegral(), rotate4DZWAxis(), CylinderInsertionBoundary::rotateBoundary(), CircularPeriodicBoundary::rotateParticle(), ClumpParticle::rotatePrincipalDirections(), CircularPenetratorElement::set_angle(), ChutePeriodic::set_chute_parameters(), Eigen::IDRS< MatrixType_, Preconditioner_ >::setAngle(), ChuteWithHopper::setHopper(), ConstantMassFlowMaserBoundaryMixedSpeciesSelfTest::setupInitialConditions(), ConstantMassFlowMaserSelfTest::setupInitialConditions(), test2dHyperbolicRotation(), test2dRotation(), test3dRotation(), TestRefineableCubicMesh< ELEMENT >::TestRefineableCubicMesh(), TestRefineablePoissonProblem< ELEMENT >::TestRefineablePoissonProblem(), TestRefineableRectangularQuadMesh< ELEMENT >::TestRefineableRectangularQuadMesh(), Trackball::track(), transformations(), velocity(), HorizontalBaseScrew::writeVTK(), ScrewsymmetricIntersectionOfWalls::writeVTK(), and AxisymmetricIntersectionOfWalls::writeVTK().

◆ null()

double Jeffery_Solution::null ( const double t)

Null function.

95 {return 0.0;}

◆ velocity()

double Jeffery_Solution::velocity ( const double t)

Angular velocity as function of time t.

108  {
109  const double a = Problem_Parameter::A;
110  const double b = Problem_Parameter::B;
111 
112  //Get the angle
113  double chi = angle(t);
114 
115  //Now return the velocity
116  return (a*a*sin(chi)*sin(chi) + b*b*cos(chi)*cos(chi))/(a*a + b*b);
117  }

References a, Problem_Parameter::A, angle(), b, Problem_Parameter::B, cos(), sin(), and plotPSD::t.

Referenced by acceleration(), vibratedBed::actionsAfterTimeStep(), Beam::actionsBeforeOomphTimeStep(), DropletBoundary::addDroplet(), BaseInteractable::addVelocity(), CoupledBeam::CoupledBeam(), Funnel::create_inflow_particle(), oomph::RefineableFpPressureAdvDiffRobinBCSpaceTimeElement< ELEMENT >::fill_in_generic_residual_contribution_fp_press_adv_diff_robin_bc(), oomph::RefineableFpPressureAdvDiffRobinBCMixedOrderSpaceTimeElement< ELEMENT >::fill_in_generic_residual_contribution_fp_press_adv_diff_robin_bc(), oomph::FpPressureAdvDiffRobinBCSpaceTimeElement< ELEMENT >::fill_in_generic_residual_contribution_fp_press_adv_diff_robin_bc(), oomph::FpPressureAdvDiffRobinBCMixedOrderSpaceTimeElement< ELEMENT >::fill_in_generic_residual_contribution_fp_press_adv_diff_robin_bc(), oomph::SpaceTimeNavierStokesEquations< DIM >::interpolated_u_nst(), oomph::SpaceTimeNavierStokesMixedOrderEquations< DIM >::interpolated_u_nst(), LeesEdwardsSelfTest::LeesEdwardsSelfTest(), load(), oomph::KirchhoffLoveShellEquations::load_rate_of_work(), MarbleRun::loadBigSeesaw(), loadingTest(), MarbleRun::loadSmallSeesaw(), main(), normalAndTangentialLoadingTest(), objectivenessTest(), BaseParticle::oldRead(), InfiniteWall::oldRead(), InfiniteWallWithHole::oldRead(), oomph::NavierStokesElementWithSingularity< BASIC_NAVIER_STOKES_ELEMENT >::output(), UnstructuredImmersedEllipseProblem< ELEMENT >::output_exact_solution(), oomph::VorticitySmootherElement< ELEMENT >::output_smoothed_vorticity(), ChuteInsertionBoundary::placeParticle(), FileReader::read(), DropletBoundary::read(), LeesEdwardsBoundary::read(), ShearBoxBoundary::read(), DPMBase::readNextDataFile(), WallHandler::readTriangleWall(), ShearBoxBoundary::set(), LeesEdwardsBoundary::set(), ChangingTOIParticle::setupInitialConditions(), NozzleDemo::setupInitialConditions(), TimeDependentPeriodicBoundary3DSelfTest::setupInitialConditions(), NozzleSelfTest::setupInitialConditions(), ChargedBondedInteractionSelfTest::setupInitialConditions(), AngledPeriodicBoundarySecondUnitTest::setupInitialConditions(), CoupledBeam::setupMercury(), BaseInteractable::setVelocity(), ShearBoxBoundary::setVelocity(), LeesEdwardsBoundary::setVelocity(), oomph::SelfStartingBDF2::shift_time_positions(), oomph::IMRBase::shift_time_positions(), oomph::BDF< NSTEPS >::shift_time_positions(), oomph::SelfStartingBDF2::shift_time_values(), oomph::BDF< NSTEPS >::shift_time_values(), PeriodicBoundaryHandler::updateParticles(), Domain::updateParticleVelocity(), and SCoupling< M, O >::updateTriangleWall().