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/)
-   -   Problem simulating the temperature rise in a composite material (chtMultiRegionFoam) (https://www.cfd-online.com/Forums/openfoam-solving/215207-problem-simulating-temperature-rise-composite-material-chtmultiregionfoam.html)

Adam_K February 26, 2019 05:02

Problem simulating the temperature rise in a composite material (chtMultiRegionFoam)
 
I would like to to simulate the temperature evolution in a composite material comprised on fibers in a matrix, however I've reached a point where I am banging my head against the wall:mad:! So I am hoping that someone else has faced a similar issue and can point me in the right direction

I would like to compare with a system of known analytical response so I am looking at a slab initially at 300 K, with both left and right extremities at 310 K for time t > 0s. Here is an image of the system, the slab repeats in the vertical direction (cyclicAMI BCs) and is roughly 5% fibers by volume. I'm using the chtMultiRegionFoam solver from OpenFOAM version 5 via BlueCFD.Here is a link to the case on Dropbox. I defined my mesh with gmsh, then import it using "gmshToFoam", run "changeDictionary" then "splitMeshRegions -cellZonesOnly -overwrite" before running "chtMultiRegionFoam".

https://i.imgur.com/6bEV2AL.png

I am able to run the simulations that converge, however my bench-marking case is not giving me the result that I expect. I would like to confirm that an aluminum slab with aluminum fibers in it gives the same response as a solid aluminum slab; here are the results of four simulations for the temperature at the center of a 2 cm thick slab. I defined probes in OpenFOAM in both phases at the center of the slab.
  • Black curve - solid aluminum, solved using the laplacianFoam solver, matches well with the analytical solution from Carslaw and Jaeger.
  • Blue curves - composite where both the matrix and the fibers have the same thermal conductivity. There is a thermal resistance between the phases and the fiber temperature and the fiber temperature lags behind that of the matrix.
  • Orange curves - same as the blue curves, but with lower thermal resistance. The fiber and matrix temperatures are very close (as expected), however the overall thermal response to the same boundary conditions is much slower (not expected)
  • Yellow curves - no defined thermal resistance. The fibre-matrix temperature different trend continues to the extreme where the fiber and matrix temperatures are the same, however the temperature increase at the center of the slab is incredibly slow

https://i.imgur.com/LaBq5VW.png

Does anyone have any insight as to why I am having trouble? I would have expected the orange and yellow curves to converge towards that of a solid block of aluminum (the black curve).

Robin.Kamenicky March 2, 2019 10:27

Hi Adam,

having a look at your case. Can you send your log files?
Can you send the case with no resistance?

In the file system/fibres/fvSolution change entry for h
Code:


    { 
        solver          PCG;
        preconditioner  DIC;
        tolerance        1e-06;
        relTol          0.1;
    }

to
Code:


    { 
        solver          PCG;
        preconditioner  DIC;
        tolerance        1e-06;
        relTol          0;
    }

Do the same for
system/matrix/fvSolution

If you are interested in temperature evolution in time, use second order scheme for time derivative.
Instead of
Code:

ddtSchemes
{
    default Euler;
}

Try to use
Code:

ddtSchemes
{
    default CrankNicolson 0.9;
}

Eventually you can try value 1.
Change it for both system/fibres/fvSchemes, system/mastrix/fvSchemes.

I can see no time step is defined. Only the first one by deltaT.
It is good to setup maxDeltaT and maxDi.

Kind regards,
Robin

Adam_K March 27, 2019 06:51

Hello Robin,

[Edit March 29th: I think it's a problem with a high diffusion number associated to an oversized time step. For a smaller domain and a maxDi of 1 I am able to replicate the analytical solution. Now I'm working on seeing if that scales well to a larger domain.]

Thanks a lot for your suggestions. I was away a bit this month, so I've only just had the chance to make those changes to fvSchemes and fvSolution. I used a 1 ms time step. This is the "no resistance" case.

Here is the first few iterations from . My whole case-file is here, on dropbox.

Code:

/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  5.x                                  |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
/*  Windows 32 and 64 bit porting by blueCAPE: http://www.bluecape.com.pt  *\
|  Based on Windows porting (2.0.x v4) by Symscape: http://www.symscape.com  |
\*---------------------------------------------------------------------------*/
Build  : 5.x-963176928289
Exec  : C:/PROGRA~1/blueCFD/OpenFOAM-5.x/platforms/mingw_w64GccDPInt32Opt/bin/chtMultiRegionFoam.exe
Date  : Mar 27 2019
Time  : 17:04:43
Host  : "DESKTOP-94MS23F"
PID    : 8528
I/O    : uncollated
Case  : C:/PROGRA~1/blueCFD/OFUSER~1/run/2019-0~2/NOTHER~2
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create solid mesh for region matrix for time = 0

Create solid mesh for region fibres for time = 0

*** Reading solid mesh thermophysical properties for region matrix

    Adding to thermos

Selecting thermodynamics package
{
    type            heSolidThermo;
    mixture        pureMixture;
    transport      constIso;
    thermo          hConst;
    equationOfState rhoConst;
    specie          specie;
    energy          sensibleEnthalpy;
}

AMI: Creating addressing and weights between 1381 source faces and 1381 target faces
AMI: Patch source sum(weights) min/max/average = 1, 1, 1
AMI: Patch target sum(weights) min/max/average = 1, 1, 1
    Adding to radiations

Radiation model not active: radiationProperties not found
Selecting radiationModel none
    Adding fvOptions

Creating finite volume options from "constant/fvOptions"

Selecting finite volume options model type limitTemperature
    Source: temperatureLimit
    - selecting all cells
    - selected 73456 cell(s) with volume 7.6332094e-010
*** Reading solid mesh thermophysical properties for region fibres

    Adding to thermos

Selecting thermodynamics package
{
    type            heSolidThermo;
    mixture        pureMixture;
    transport      constIso;
    thermo          hConst;
    equationOfState rhoConst;
    specie          specie;
    energy          sensibleEnthalpy;
}

AMI: Creating addressing and weights between 148 source faces and 148 target faces
AMI: Patch source sum(weights) min/max/average = 1, 1, 1
AMI: Patch target sum(weights) min/max/average = 1, 1, 1
    Adding to radiations

Radiation model not active: radiationProperties not found
Selecting radiationModel none
    Adding fvOptions

Creating finite volume options from "constant/fvOptions"

Selecting finite volume options model type limitTemperature
    Source: temperatureLimit
    - selecting all cells
    - selected 20710 cell(s) with volume 3.6679059e-011
Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
--> FOAM Warning :
    From function virtual void Foam::probes::findElements(const Foam::fvMesh&)
    in file probes/probes.C at line 119
    Did not find location (0.01 0.000124 0.0001) in any cell. Skipping location.
--> FOAM Warning :
    From function virtual void Foam::probes::findElements(const Foam::fvMesh&)
    in file probes/probes.C at line 119
    Did not find location (0.019925 0.000124 0.0001) in any cell. Skipping location.
Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
Time = 0.001

Pimple iteration 0

Solving for solid region matrix
DICPCG:  Solving for h, Initial residual = 1, Final residual = 8.7885959e-007, No Iterations 85
Min/max T:300 310

Solving for solid region fibres
DICPCG:  Solving for h, Initial residual = 1, Final residual = 8.3388789e-007, No Iterations 27
Min/max T:300 300.70153
ExecutionTime = 2.66 s  ClockTime = 3 s

Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
Time = 0.002

Pimple iteration 0

Solving for solid region matrix
DICPCG:  Solving for h, Initial residual = 0.091379998, Final residual = 8.8626934e-007, No Iterations 65
Min/max T:300 310

Solving for solid region fibres
DICPCG:  Solving for h, Initial residual = 0.22912758, Final residual = 8.3766736e-007, No Iterations 24
Min/max T:300 301.31034
ExecutionTime = 2.769 s  ClockTime = 3 s

Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
Time = 0.003

Pimple iteration 0

Solving for solid region matrix
DICPCG:  Solving for h, Initial residual = 0.02080289, Final residual = 9.3586955e-007, No Iterations 59
Min/max T:300 310

Solving for solid region fibres
DICPCG:  Solving for h, Initial residual = 0.11277348, Final residual = 8.3206096e-007, No Iterations 23
Min/max T:300 301.83189
ExecutionTime = 2.872 s  ClockTime = 3 s

Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
Time = 0.004

Pimple iteration 0

Solving for solid region matrix
DICPCG:  Solving for h, Initial residual = 0.016267807, Final residual = 9.2612505e-007, No Iterations 62
Min/max T:300 310

Solving for solid region fibres
DICPCG:  Solving for h, Initial residual = 0.07841582, Final residual = 5.6578338e-007, No Iterations 23
Min/max T:300 302.29699
ExecutionTime = 2.978 s  ClockTime = 3 s

Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
Time = 0.005

Pimple iteration 0

Solving for solid region matrix
DICPCG:  Solving for h, Initial residual = 0.0146828, Final residual = 9.8860161e-007, No Iterations 59
Min/max T:300 310

Solving for solid region fibres
DICPCG:  Solving for h, Initial residual = 0.057160497, Final residual = 4.6066147e-007, No Iterations 23
Min/max T:300 302.70423
ExecutionTime = 3.081 s  ClockTime = 3 s

Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
Time = 0.006

Pimple iteration 0

Solving for solid region matrix
DICPCG:  Solving for h, Initial residual = 0.013493589, Final residual = 9.3242413e-007, No Iterations 60
Min/max T:300 310

Solving for solid region fibres
DICPCG:  Solving for h, Initial residual = 0.046087991, Final residual = 8.5158944e-007, No Iterations 22
Min/max T:300 303.0747
ExecutionTime = 3.183 s  ClockTime = 3 s

Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
Time = 0.007

Pimple iteration 0

Solving for solid region matrix
DICPCG:  Solving for h, Initial residual = 0.012048782, Final residual = 8.9506872e-007, No Iterations 59
Min/max T:300 310

Solving for solid region fibres
DICPCG:  Solving for h, Initial residual = 0.037440288, Final residual = 6.4396571e-007, No Iterations 22
Min/max T:300 303.40641
ExecutionTime = 3.286 s  ClockTime = 3 s

Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
Time = 0.008

Pimple iteration 0

Solving for solid region matrix
DICPCG:  Solving for h, Initial residual = 0.0114714, Final residual = 9.2839842e-007, No Iterations 59
Min/max T:300 310

Solving for solid region fibres
DICPCG:  Solving for h, Initial residual = 0.032033575, Final residual = 5.2419503e-007, No Iterations 22
Min/max T:300 303.71249
ExecutionTime = 3.391 s  ClockTime = 3 s

Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
Time = 0.009

Pimple iteration 0

Solving for solid region matrix
DICPCG:  Solving for h, Initial residual = 0.010345927, Final residual = 9.4233542e-007, No Iterations 58
Min/max T:300 310

Solving for solid region fibres
DICPCG:  Solving for h, Initial residual = 0.027442799, Final residual = 7.7909506e-007, No Iterations 21
Min/max T:300 303.98976
ExecutionTime = 3.493 s  ClockTime = 4 s

Region: matrix Diffusion Number mean: 7524.4325 max: 650221.95
Region: fibres Diffusion Number mean: 15009.725 max: 257544.89
Time = 0.01



All times are GMT -4. The time now is 11:33.