CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Solid Large deformation for icoFsiFoam (https://www.cfd-online.com/Forums/openfoam-solving/58815-solid-large-deformation-icofsifoam.html)

fw407 June 12, 2008 07:59

Hi everyone, Lovely day for a
 
Hi everyone,
Lovely day for all of you!

firstly, I think it is necessary to explain what I am trying to do :I am trying to add the auto mesh motion to stressedFoam , and add some material models to stressedFoam so that a large deformation solver for solid mechanics can be created. when this is achieved, I want to merge this large deformation solver with icoFsiFoam to simulate the interaction of blood and blood vessel in an artery .


Unfortunately I run some problems at the starting point. the solver combing icoDyFoam and stressedFoam does not solve the mesh motion, and even though a "motionU" file is created for every time step, but no data is written into it and it remains the same in the "0" time step.


I am still a new foamer(just have runned icoFsiFoam for several weeks),and I have read some threads about mesh motion and icoDyFoam, but still have no idea how to solve this problem (maybe very easy for most people), could anyone help me?


Thanks in advance!


feng

fw407 June 12, 2008 19:12

Hi there, after a whole da
 
Hi there,

after a whole day, I haven't succeed making the mesh move for my solverhttp://www.cfd-online.com/OpenFOAM_D...lipart/sad.gif. Maybe something is wrong with it, the follows are the codes,if you find something stupid, please correct me, I will really appreciate your help!http://www.cfd-online.com/OpenFOAM_D...part/happy.gif


#include "fvCFD.H"
#include "dynamicFvMesh.H"

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

int main(int argc, char *argv[])
{

# include "setRootCase.H"

# include "createTime.H"
# include "createDynamicFvMesh.H"
# include "readMechanicalProperties.H"
# include "readThermalProperties.H"
# include "createFields.H"

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

Info<< "\nCalculating displacement field\n" << endl;

for (runTime++; !runTime.end(); runTime++)
{
Info<< "Iteration: " << runTime.timeName() << nl << endl;

# include "readStressedFoamControls.H"

int iCorr = 0;
scalar initialResidual = 0;

do
{
mesh.update();

volTensorField gradU = fvc::grad(U);

if (thermalStress)
{
solve
(
fvm::ddt(T) == fvm::laplacian(DT, T)
);
}

fvVectorMatrix UEqn
(
fvm::d2dt2(U)
==
fvm::laplacian(2*mu + lambda, U, "laplacian(DU,U)")

+ fvc::div
(
mu*gradU.T() + lambda*(I*tr(gradU)) - (mu + lambda)*gradU,
"div(sigma)"
)
);

if (thermalStress)
{
UEqn += threeKalpha*fvc::grad(T);
}

//UEqn.setComponentReference(1, 0, vector::X, 0);
//UEqn.setComponentReference(1, 0, vector::Z, 0);

initialResidual = UEqn.solve().initialResidual();

} while (initialResidual > convergenceTolerance && ++iCorr < nCorr);

# include "calculateStress.H"

Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
<< nl << endl;
}
runTime.write();
deleteDemandDrivenData(Tptr);
Info<< "End\n" << endl;

return(0);
}

Kind regards

feng

fw407 June 13, 2008 10:58

Hi there, I solve this prob
 
Hi there,

I solve this problem by using the method employed in icoFsiFoam to move the solid mesh(I should have seen it).

Now I want to model the deformation of the blood vessel which should be polymeric material. I find the development version of OF has added new solver for stress analysis like newStressedFoam and also something related to rheology and material models.If these stuff are the ones I need to model the blood vessel material(such as hyperelastic), Could some one give me some hints how to do that?

Thanks in advance!


All times are GMT -4. The time now is 19:20.