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

Using MULES to solve transport equation with sharp interface

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   September 16, 2013, 12:47
Default Using MULES to solve transport equation with sharp interface
  #1
Member
 
A. Bernath
Join Date: Jun 2011
Location: Karlsruhe, Germany
Posts: 39
Rep Power: 7
derkermit is on a distinguished road
Hi,
I'm modelling the curing behavior of a thermosetting polymer which is injected into a mold. For this, I took the compressibleInterFoam solver as a starting point and extended it in order to calculate the increase in degree of cure. This then is added to the current degree of cure which has to be convected with the flow field. At this point, I'm facing the problem of numerical diffusion during the filling step. Due to this I get a degree of cure greater than zero in areas where there is no resin at all. Up to now I tried limitedLinear01 and currently I'm running a test case with vanLeer. Besides this, I'm curious if it is possible to use the MULES solver for this specific problem. I tried some implementations but most of them crashed the solver in the second time step and the other led to unphysical values.

Long story short: Is it even possible to convect a scalar through a domain by coupling its flux field to that of alpha by using MULES? This should give an interface as sharp as that of alpha or not?

Thanks in advance!
Alex

Last edited by derkermit; September 17, 2013 at 05:07.
derkermit is offline   Reply With Quote

Old   February 27, 2014, 00:03
Default
  #2
New Member
 
zhanglei
Join Date: May 2013
Location: China
Posts: 19
Rep Power: 5
becklei is on a distinguished road
Hi, Derkermit!

I also tried to simulate injection molding filling process, and encountered similar problems. The results(shown in the picture) of the unsteady convection equation(VOF model) of scalar field alpha is disappointing. I don't know if my questions are similar to yours?

Looking forward to your reply
Attached Images
File Type: jpg question.jpg (91.2 KB, 42 views)
becklei is offline   Reply With Quote

Old   February 27, 2014, 06:09
Default
  #3
Member
 
A. Bernath
Join Date: Jun 2011
Location: Karlsruhe, Germany
Posts: 39
Rep Power: 7
derkermit is on a distinguished road
Hey,
I think your problem is somehow different. The implementation of the alpha field already uses MULES to maintain a sharp interface. This should work (more or less) out of the box. Which solver and OF version are you using and how does your fvSchemes look like?

Back to topic:
I managed to solve the transport equation for the degree of cure with MULES. I had to adapt the alphaEqnsSubCycle.H file of compressibleInterFoam (OF221) and extended it by this:

Code:
...
    else
    {
        #include "alphaEqns.H"
    }

// Here begins the new part

    volScalarField::DimensionedInternalField SpCure
    (
        IOobject
        (
            "SpCure",
            runTime.timeName(),
            mesh
        ),
        mesh,
        dimensionedScalar("SpCure", cureSource.dimensions(), 0.0)
    );

    volScalarField::DimensionedInternalField SuCure
    (
        IOobject
        (
            "SuCure",
            runTime.timeName(),
            mesh
        ),
        // Divergence term is handled explicitly to be
        // consistent with the explicit transport solution
        divU*cure
    );

    forAll(cureSource, celli)
    {
        SuCure[celli] += cureSource[celli]*alpha1[celli];
    }

    surfaceScalarField phiCure
    (
        fvc::flux
        (
            phi,
            cure,
            alphaScheme
        )
      + fvc::flux
        (
            -fvc::flux(-phir, alpha2, alpharScheme),
            cure,
            alpharScheme
        )
    );

    MULES::explicitSolve
    (
        geometricOneField(),
        cure,
        phiCure,
        SpCure,
        SuCure
    );
    Info<< "Cure = "
        << cure.weightedAverage(mesh.V()).value()
        << "  Max(cure) = " << max(cure).value()
        << "  Min(cure) = " << min(cure).value()
        << endl;
I would appreciate any comments as I'm not totally sure about this implementation. However, some testing has shown it to be way better than before regarding numerical diffusion.
derkermit is offline   Reply With Quote

Old   February 27, 2014, 07:37
Default
  #4
New Member
 
zhanglei
Join Date: May 2013
Location: China
Posts: 19
Rep Power: 5
becklei is on a distinguished road
My OF is the 1.6-ext version, and divschemes {div(phi,alpha) gauss vanleer; div(phirb,alpha) gauss intefaceCompression} .
becklei is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Wind turbine simulation Saturn CFX 45 February 8, 2016 05:42
udf and uds for transport equation m003020002 Fluent UDF and Scheme Programming 1 September 15, 2015 01:02
add source term to transport equation m003020002 Fluent UDF and Scheme Programming 0 September 10, 2013 03:09
Question about heat transfer coefficient setting for CFX Anna Tian CFX 1 June 16, 2013 06:28
Convective Heat Transfer - Heat Exchanger Mark CFX 6 November 15, 2004 16:55


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