View Issue Details

IDProjectCategoryView StatusLast Update
0000622OpenFOAMBugpublic2012-12-04 09:58
Reporteruser493Assigned Touser4 
PriorityhighSeveritycrashReproducibilityN/A
Status resolvedResolutionfixed 
PlatformUbuntu 12OSOtherOS Version(please specify)
Summary0000622: "thermoType directionalKSolidThermo" bug
DescriptionIn tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/heater/solidThermophysicalProperties, I changed feature "thermoType constSolidThermo" to "thermoType directionalKSolidThermo" which was already inside. After this when I have tried to run the code I got the following message:
--> FOAM FATAL ERROR:
Not implemented

From function directionalKSolidThermo::K() const
in file directionalKSolidThermo/directionalKSolidThermo.H at line 122.

If this feature is not technically implemented yet could you tell me how I can model directional conductivity in solid. For instance, K=0 in x-direction, K=17 in y-direction and K=17 in z-direction?

Thank you in advance.

Regards,
Nikola
TagsNo tags attached.

Activities

wyldckat

2012-08-15 12:12

updater  

wyldckat

2012-08-15 12:12

updater  

wyldckat

2012-08-15 12:14

updater   ~0001593

Hi,

Attached is a temporary solution, which is discussed in more depth here: http://www.cfd-online.com/Forums/openfoam-pre-processing/105605-directionalksolidthermo-syntax.html#post377176

I'm guessing this wasn't fully fixed in bug #438 (http://www.openfoam.org/mantisbt/view.php?id=438) since it's not very easy to generalize the switch between "thermo.K()" and "thermo.directionalK()"...

wyldckat

2012-08-15 14:06

updater   ~0001594

After giving some thought into this subject, the necessary changes would be something like:
* "class basicSolidThermo" would need another variable+method for determining if the it's directional or not.

* In the solvers, the solid definition of "kappa" would be placed outside of the current header file "setRegionSolidFields.H", contained in if-else blocks. Example:

if(thermo.isDirectional())
{
    #include "setRegionSolidFields.H"

    tmp<volSymmTensorField> tkappa = thermo.directionalK();
    const volSymmTensorField& kappa = tkappa();
    
    #include "readSolidMultiRegionPIMPLEControls.H"
    #include "solveSolid.H"
}
else
{
    #include "setRegionSolidFields.H"

    tmp<volScalarField> tkappa = thermo.K();
    const volScalarField& kappa = tkappa();

    #include "readSolidMultiRegionPIMPLEControls.H"
    #include "solveSolid.H"
}

* Something similar would also be done in "solidRegionDiffusionNo.H".


If the OpenFOAM team agrees with such a change, I can create and submit a patch based on this outline.

user4

2012-08-17 12:12

  ~0001607

In the next major version the tensorial conductivity directionalK() has been removed from the thermo library - it does not really belong there. Instead we'll probably have an anisotropic conductivity and external coordinate transformation.

user2

2012-12-04 09:58

  ~0001801

Resolved in internal development line and available in the next release

Issue History

Date Modified Username Field Change
2012-08-11 08:56 user493 New Issue
2012-08-15 12:12 wyldckat File Added: snappyMultiRegionHeaterDirectionalSolid.tar.gz
2012-08-15 12:12 wyldckat File Added: chtMultiRegionFoamTensorK.tar.gz
2012-08-15 12:14 wyldckat Note Added: 0001593
2012-08-15 14:06 wyldckat Note Added: 0001594
2012-08-17 12:12 user4 Note Added: 0001607
2012-12-04 09:58 user2 Note Added: 0001801
2012-12-04 09:58 user2 Status new => resolved
2012-12-04 09:58 user2 Resolution open => fixed
2012-12-04 09:58 user2 Assigned To => user4