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

DynamicMesh for Fish Motion

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 6, 2020, 05:34
Default DynamicMesh for Fish Motion
  #1
New Member
 
Shin Gyu Sik
Join Date: Mar 2020
Posts: 2
Rep Power: 0
ShinGS is on a distinguished road
Hi guys,

I'm analysising the fish motion. I using dynamicMesh method for describe the wavy motion, and modifying the existing 'angularOsillatingDisplacement'.

But there was an error during the dynamicMesh process. The end of fish tail point across the other cells. Why this happened?

The tutorial of Chalmers(http://www.tfd.chalmers.se/~hani/kur...h_openfoam.pdf) works great. The only thing changed is motion equations.

Fish motion is described well, but neighborhood point of tail end is not moving equal displacement of tail end. So tail end point interfere neighborhood cells.

The modified angularOsillatingDisplacement file such as:

Code:
void my_angularOscillatingDisplacementPointPatchVectorField::updateCoeffs()
{
    if (this->updated())
    {
        return;
    }

    const polyMesh& mesh = this->internalField().mesh()();
    const Time& t = mesh.time();
    scalarField Xcoord(patch().localPoints().component(vector::X));
    scalar a2(1.0);

    scalarField angle = angle0_ + amplitude_*(pi/180)*sin(2*pi*((1/waveLength_)*Xcoord - (1/period_)*t.value()));
    vector axisHat = axis_/mag(axis_);
    vectorField p0Rel(p0_ - origin_);

    vectorField::operator=
    (
        p0Rel*(cos(angle) - 1)
      + (axisHat ^ p0Rel*sin(angle))
      + (axisHat & p0Rel)*(1 - cos(angle))*axisHat
    );

    fixedValuePointPatchField<vector>::updateCoeffs();
}
The pointDisplacement file such as:

Code:
    FISH
    {
 	type my_angularOscillatingDisplacement;

        origin (0 0 0);
        value uniform (0 0 0);
        axis (0 0 1);
        angle0 0;
        amplitude 10;
        period 0.1;
        waveLength 0.8;
	
    }
The dynamicMeshDict file such as:

Code:
dynamicFvMesh dynamicMotionSolverFvMesh;

motionSolverLibs ("libfvMotionSolvers.so");

motionSolver displacementLaplacian;

diffusivity  quadratic inverseDistance 1 (FISH);
The tail end point across the neighborhood cells such as:
Attached Images
File Type: jpg 5.jpg (51.4 KB, 27 views)
ShinGS is offline   Reply With Quote

Old   February 13, 2023, 03:11
Default
  #2
New Member
 
Grp
Join Date: Feb 2023
Posts: 14
Rep Power: 3
GrpOne123 is on a distinguished road
Hello I am in the same situation, is there any solution?
GrpOne123 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
dynamicMesh : combined translational and rotational motion aymen OpenFOAM Running, Solving & CFD 3 May 28, 2019 04:49
How to use "translation" in solidBodyMotionFunction in OpenFOAM rupesh_w OpenFOAM Running, Solving & CFD 5 August 16, 2016 05:27
External management of solid motion (using dynamicmesh) maxou1993 Main CFD Forum 0 July 28, 2015 12:37
Moving mesh Niklas Wikstrom (Wikstrom) OpenFOAM Running, Solving & CFD 122 June 15, 2014 07:20


All times are GMT -4. The time now is 07:08.