Hot News:

Unser Angebot:

  Foren auf CAD.de
  OpenFOAM
  Hotspot Bildung (Hitzequellen) simulieren in OpenFOAM mit Verknüpfung zu Scilab

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Hotspot Bildung (Hitzequellen) simulieren in OpenFOAM mit Verknüpfung zu Scilab (2833 mal gelesen)
lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 06. Jan. 2015 12:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

Ich würde gerne im Rahmen meiner BA mit OpenFOAM und Scilab arbeiten und hätte ersteinmal die Frage, ob der Prozess, so wie ich ihn mir vorstelle, umsetzbar wäre:

Ich würde gerne den Wärmeübergang innerhalb einer Platte simulieren welche aus verschiedenen Materialschichten besteht. Die mittlere Schicht der Platte ist dabei entscheidend, da sie die Wärmequellen beherbergt. Ziel ist die stationäre Temperaturverteilung (welche sich experimentell nach 15min einstellt) der gesamten Platte zu bestimmen.

Vorgehen:
 
  -Scilab:
    -Mein Produkt aus Scilab ist eine 320x256 Wärmequellenmatrix (also in Watt). Jeder Eintrag wird somit für eine Wärmequelle stehen (zumindest dort wo Hotspots sind! die anderen werden den Eintrag 0 haben)

 

  -OpenFOAM:
    -ich habe in OpenFOAM (chtmultiRegionFoam) die Platte mit einem 320x256 Mesh versehen
    -nun würde ich gerne die Wärmequelleninformationen aus Scilab in mein Mesh der mittlersten Schicht der Platte einlesen. Jedem einzelnen Mesh-Glied wird somit eine Information zugeortnet.
    -das ganze würde nur für die mittlerste Schicht der Platte gemacht werden und somit im 2D Bereich bleiben (Mein Wärmebild ist ja auch nur 2D)
    -anschließend soll die Simulation durchlaufen und mir die Temperaturverteilung der Platte (vorallem der Hotspots) anzeigen


Das Mesh habe ich mit BlockMesh erstellt und PostProcessing mit Paraview.

Was meint Ihr ist dieses Vorgehen möglich? Vorallem das einlesen der Werte aus Scilab ins OpenFOAM mesh? Und Wärmequellen (/Watt) statt Temperaturen (/Kelvin)?

ich arbeite selbst erst seit ein paar Wochen mit OpenFOAM würde es aber gerne weiter nutzen.

Vielen Dank! Ich freue mich über jede Hilfe!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 02. Feb. 2015 14:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Warmequelle.tar.gz

 
Hallo Zusammen,

ich habe nun ein einfaches 2D case erstellt. Es handelt sich dabei um eine Platte in welcher oben rechts in der Ecke eine Wärmequelle mit fvOption eingefügt wurde. Leider kommt es dabei zu folgender Fehler Meldung:


Code:
Solving for solid region solarcell


--> FOAM FATAL ERROR:

    gradientInternalCoeffs cannot be called for a calculatedFvPatchField
    on patch solarcell_to_quelle of field h in file "/home/lasse/OpenFOAM/OpenFOAM-2.3.0/tutorials/heatTransfer/chtMultiRegionFoam/Wärmequelle/0/solarcell/h"
    You are probably trying to solve for a field with a default boundary condition.

    From function calculatedFvPatchField<Type>::gradientInternalCoeffs() const
    in file fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C at line 199.

FOAM exiting


Genau dieser Fehler ist auch bei StudentMB77 aufgetreten und seinem Case zum Kühlen einer Platte. Vermutlich sind die RB iwo falsch oder nicht einheitlich. Ich werde weiter suchen und probieren. Ein wenig Hilfe wäre natürlich fenomenal;-)
Ich hänge den case mal an!

Vielen Dank,
Lasse

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 02. Feb. 2015 15:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lassito 10 Unities + Antwort hilfreich

Hallo,

Kritik erwünscht? Wenn ja lesen, anderenfalls nicht  


  • Boundary Datei ist mit doppelten Einträgen inGroups vorhanden - gibt einen Fehler in Paraview und man kann die Netze nicht mal betrachten (zumindest bei mir)
  • Faces ((x x x x)) hat in der Boundary Datei eigentlich nichts zu suchen aber hat auch keinen Einfluss; frag mich wieso das da drin steht
  • Dein Boundary-Dateien für beide Netze sind interessant. Type zeroGradient gibt es nicht » wall | patch | mappedWall | empty | symmetryPlane | cyclic | ... « sind Typen für Boundarys. Für weitere Infos schau bitte in den UserGuide
  • Dein Case ergibt keinen wirklichen Sinn, da das Netz für Solarzelle und Quelle identisch ist. Was du eigentlich machen möchtest kannst du mit dem buoyantSImpleFoam simulieren. Prinzipiel möchtest du in deinem Netz eine cellZone erstellen und dann eine Temperaturquelle einbauen. Das hat aber nix mit Netzsplitten und Regionen zu tun; deswegen ist hier - für das Verständnis - buoyantSimpleFoam oder buoyantBuossinesqSimpleFoam vorzuziehen bzw. die transienten Solver beider Varianten.
  • Interfaces im T File » calculated « erzeugt deinen Fehler, da diese RB für mappedWall nicht passt. Du musst hier die RB verwenden die dafür vorgesehen ist
  • Wieso du zwei Netze erstellst ist mir noch unklar

Hab mir nicht alles angeschaut aber ich glaub das du damit schon mal weiter kommst.


------------------
Best regards,
Tobias Holzmann

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 02. Feb. 2015 15:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Tobias,

vielen Dank für Deine Antworten und Hinweise! Ich werde mich durch arbeiten!

Grüße,
Lasse

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 02. Feb. 2015 19:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Also so wie ich das aus dem user guide lese, sind die buoyant solver für fluide, oder? Auch sind die beiden welche du mir vorgeschlagen hast für stationäre Modelle? Sollte ich also dann eher den buoyantBoussinesqPimpleFoam oder den buoyantPimpleFoam verwenden? oder doch lieber beim chtmultiRegionFoam bleiben?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 04. Feb. 2015 10:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

also ich bin etwas weiter gekommen in der Hinsicht, dass chtmultiRegionFoam nun iteriert. Jedoch wird die Quelle nicht angenommen bzw. mit in die Rechnung einbezogen. Meine Platte ist homogen mit 300K zu Beginn wie zum Endzeitpunkt der Rechnung. Da ich einen adiabaten 2D case haben möchte ist dies auch eigentlich alles in Ordnung. Nur gibt es halt noch keine Wärmequelle.
Hat jemand eine Idee wie ich die fvOption zum laufen kriege?
Und weiß jemand was man bei der T(0.5 0) im system/fvOption genau einträgt?

Code:
firstHeatSource
{
    type scalarSemiImplicitSource;
    active          true;
    selectionMode  cellZone;
    cellZone        boxSourceZone;

    scalarSemiImplicitSourceCoeffs
    {
        volumeMode absolute;
        injectionRateSuSp
        {
            T (0.5 0);
        }
    }
}


Würde mich freuen wenn jemand helfen kann, oder bin ich auf einem ganz falschen Weg?! (Was meinst Du shorty? )

Grüße!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 04. Feb. 2015 10:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 04. Feb. 2015 10:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lassito 10 Unities + Antwort hilfreich

Hey,

achso du simulierst nur den Festkörper.
Dann kannst du natürlich den cht verwenden. Ich erwähnte die anderen Löser nur, damit du dich mal etwas wohler fühlst  - prinzipiel ist es ja egal ob Solid oder Fluid (natürlich physikalisch nicht aber für dich zum Handling).

Kannst du dein Beispiel nochmals hochladen, dann schau ich mir das mal nochmals an.

------------------
Best regards,
Tobias Holzmann

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 04. Feb. 2015 10:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Tobias,

vielen Dank für deine Unterstützung! Der Fall ist im Kommentar vorherig zu deinem hochgeladen. Hatte zuerst vergessen ihn anzuhängen 

Beste Grüße!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 04. Feb. 2015 11:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lassito 10 Unities + Antwort hilfreich


source.png

 
Hey,


  • fvOptions muss natürlich in system/solarcell liegen
  • Du hast keine CellZone (zumindest hab ich keine gesehen)
  • Deine Zone bedeckt das ganzes Rechengebiet (also ist es sinnfrei -> topoSetDict -> box)
  • Du brauchst ein KAPPA in den thermodynamischen Eigenschaften, sonst sind deine Terme gleich Null

Code:

        tmp<fvScalarMatrix> hEqn
        (
            fvm::Dnobiggrin:t(betav*rho, h)
          - (
               thermo.isotropic()
             ? fvm::laplacian(betav*thermo.alpha(), h, "laplacian(alpha,h)")
             : fvm::laplacian(betav*taniAlpha(), h, "laplacian(alpha,h)")
            )
          ==
            fvOptions(rho, h)
        );

Hier siehst du nochmals wie deine fvOptions eingebunden wird und die Berechnung der Enthalphie erfolgt. Ergo musst du natürlich in deiner FVOPTIONS auch die Enthalpie angeben und keine Temperatur.

Beispielsweise hast du bei kappa 0 eingetragen. Wenn du nicht weißt was kappa bedeutet musst du nachschauen:

Code:

src
cd thermophysicalModels/solidThermo
shor-ty@PC114:~/OpenFOAM/OpenFOAM-2.3.1/src/thermophysicalModels/solidThermo$ grep -rni -e "kappa"
Binary file Make/linux64GccDPOpt/solidReactionThermos.o matches
Binary file Make/linux64GccDPOpt/solidThermos.o matches
Binary file Make/linux64GccDPDebug/solidReactionThermos.o matches
Binary file Make/linux64GccDPDebug/solidThermos.o matches
Binary file Make/linux64GccDPDebug/solidThermo.o matches
Binary file Make/linux64GccDPDebug/solidReactionThermo.o matches
solidThermo/heSolidThermo.H:100:            virtual tmp<volVectorField> Kappa() const;
solidThermo/heSolidThermo.H:112:            virtual tmp<vectorField> Kappa(const label patchI) const;
solidThermo/heSolidThermo.C:59:            volMixture_.kappa(pCells[celli], TCells[celli])
solidThermo/heSolidThermo.C:94:                    volMixture_.kappa(pp[facei], pT[facei])
solidThermo/heSolidThermo.C:118:                    volMixture_.kappa(pp[facei], pT[facei])
solidThermo/heSolidThermo.C:185:Foam::heSolidThermo<BasicSolidThermo, MixtureType>::Kappa() const
solidThermo/heSolidThermo.C:189:    tmp<volVectorField> tKappa
solidThermo/heSolidThermo.C:195:                "Kappa",
solidThermo/heSolidThermo.C:206:    volVectorField& Kappa = tKappa();
solidThermo/heSolidThermo.C:207:    vectorField& KappaCells = Kappa.internalField();
solidThermo/heSolidThermo.C:211:    forAll(KappaCells, celli)
solidThermo/heSolidThermo.C:213:        Kappa[celli] =
solidThermo/heSolidThermo.C:219:            ).Kappa(pCells[celli], TCells[celli]);
solidThermo/heSolidThermo.C:222:    forAll(Kappa.boundaryField(), patchi)
solidThermo/heSolidThermo.C:224:        vectorField& Kappap = Kappa.boundaryField()[patchi];
solidThermo/heSolidThermo.C:228:        forAll(Kappap, facei)
solidThermo/heSolidThermo.C:230:            Kappap[facei] =
solidThermo/heSolidThermo.C:237:                ).Kappa(pp[facei], pT[facei]);
solidThermo/heSolidThermo.C:241:    return tKappa;
solidThermo/heSolidThermo.C:247:Foam::heSolidThermo<BasicSolidThermo, MixtureType>::Kappa
solidThermo/heSolidThermo.C:254:    tmp<vectorField> tKappa(new vectorField(pp.size()));
solidThermo/heSolidThermo.C:256:    vectorField& Kappap = tKappa();
solidThermo/heSolidThermo.C:260:        Kappap[facei] =
solidThermo/heSolidThermo.C:267:            ).Kappa(pp[facei], Tp[facei]);
solidThermo/heSolidThermo.C:270:    return tKappa;
solidThermo/solidThermo.H:148:            virtual tmp<volVectorField> Kappa() const = 0;
solidThermo/solidThermo.H:157:            virtual tmp<vectorField> Kappa

Dann kannst du ja in den Header nachschauen. Bspw.

Code:

vim solidThermo/solidThermo.H


            //- Thermal conductivity [W/m/K]
            virtual tmp<volVectorField> Kappa() const = 0;


            //- Anisotropic thermal conductivity [W/m/K]
            virtual tmp<vectorField> Kappa
            (
                const label patchI
            ) const = 0;


Dürfte jetzt klar sein, oder? Du hast nämlich "K" verwendet. Hab zwar keine Ahnung woher du das große K hast aber du hast es definitiv drinstehen  

PS: Du hast vorher das Thema als gelöst markiert. Hab das wieder entfernt. Sollte jetzt dieser Beitrag dein Problem lösen, kannst du es ja wieder als gelöst markieren. Dazu kannst du auch einfach in einer Minute den gepinnten Thread im Forum (erste Stelle) durchlesen.

------------------
Best regards,
Tobias Holzmann

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 04. Feb. 2015 12:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Tobias,

vielen Dank für die Hilfe! Ich schaffe es allerdings einfach nicht diese cellZone zu generieren, so dass die fvOption sie an nimmt. Könntest du vllt deinen case(siehe Bild) hochladen, damit ich nachvollziehen kann wie es gemacht wird!
Das K hatte ich selber eingetragen(dachte K=lambda also wärmeleitung!)

Viele Grüße!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 04. Feb. 2015 12:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lassito 10 Unities + Antwort hilfreich


Hitzequelle.tar.gz

 
Sollte eigentlich auch dabei sein.

------------------
Best regards,
Tobias Holzmann

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 09. Feb. 2015 11:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Hitzequelle3D.tar.gz

 
Hey Shorty,

vielen Dank nochmal für deine Hilfe! Das 2D Modell funktioniert nun sehr gut. Obwohl ich immer noch mit kappa am hadern bin, aber das ist eine andere Frage. Momentan versuche ich das ganze in 3D. Ich habe schon in anderen Foren gelesen, dass es mit der fvOption in 3D Schwierigkeiten geben soll. Prompt erkennt er die source auch nicht bei meiner Rechnung an. Was meinst Du und vllt auch andere dazu? Meinen case hänge ich wieder an.

LG,
Lasse

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 09. Feb. 2015 12:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lassito 10 Unities + Antwort hilfreich

Hey,

ich schaus mir nach m Mittag mal an.
Ne gute Möglichkeit ist dann (sollte es mit den fvOptions) nicht funktionieren, die Matrix selber zu manipulieren.

------------------
Best regards,
Tobias Holzmann

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

ESI-OpenCFD OpenFOAM v2312

erstellt am: 09. Feb. 2015 12:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lassito 10 Unities + Antwort hilfreich

Hi,

dein Problem liegt darin, dass du noch nicht ganz verstehst was du machst 
Schau dir den Output im Terminal an und versuche nachzuvollziehen welche Dateien geändert
werden. Danach ist das nämlich sehr easy.

Nach Schritt drei (setSet) erhältst du eine neue Datei Namens "cellZones" im PolyMesh Ordner.
Da siehst du das du drei Zonen hast. Die könntest du jetzt bei jedem Solver einzeln in der fvOptions
ansprechen. Jedoch machst du jetzt folgendes:

Code:

SplitMeshRegions -cellZones


Ich weiß jetzt nicht ob du dir überhaupt die Mühe gemacht hast den Output anzuschauen aber ich bekomme sowas:
Code:

--> FOAM FATAL ERROR:
Cell 11 with cell centre (0.0234 0.0234 3.75e-05) is multiple zones. This is not allowed.
It is in zone backsheet and in zone source

    From function getZoneID(..)
    in file splitMeshRegions.C at line 1212.


Ergo - du hast was falsch gemacht.
Und zwar machst du folgendes:


  • Erstellung der Zone für backsheet
  • Erstellung der Zone für eva

Diese zwei Zonen beinhalten bereits alle Zellen. Wenn du jetzt das splittest, bekommst du genau was du möchtest » zwei getrennte Regionen. Jedoch noch ohne eine interne Zone. Die musst du erst danach einfügen.
Dafür gibt es dann das Argument

Code:

-region


Die du bei fast allen Befehlen verwenden kannst. In deinem Fall jedoch machst du noch eine interne Zone in einer bereits existierenden (was soweit auch noch in Ordnung ist) aber beim Splitten der Regionen eben ein Konflikt macht, da jede Zelle nur einer Region zugeordnet werden kann. In deinem Fall überschneiden sich aber "source" und "backsheet".

Ich hoff das das jetzt klarer ist.

Viel Erfolg.

------------------
Best regards,
Tobias Holzmann

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 17. Feb. 2015 12:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Hitzequelle3D.tar.gz

 
Hallo,

ich habe es nun geschafft die source im backsheet einzubauen. Er iteriert und die fvOption wird angenommen. Nun bezieht sich meine Frage auf die boundary zwischen backsheet und evaback. Momentan habe ich hier noch zeroGradient, somit ist klar dass kein Wärmeaustausch zwischen diesen beiden Schichten statt findet. Wenn ich jedoch wallHeatTransfer (oder calculated, mappedWall....) für 0/backsheet/T oder 0/evaback/T als boundary wähle kommt eine Fehlermeldung.
Hat jemand einen Vorschlag zum weiteren Vorgehen?

Danke!
LG
Lasse

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 17. Feb. 2015 14:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lassito 10 Unities + Antwort hilfreich

Hallo,

Für das Interface gibt es eine bestimmte rb. Schau mal in den tutorials nach. Bin gerade nicht am Rechner und kann daher nicht nachschauen

------------------
Best regards,
Tobias Holzmann

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 09. Mrz. 2015 18:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Hitzequelle3D.tar.gz

 
Hallo,
ich habe nun nochmal ein zwei schichten modell mit topoSet erzeugt. in der Schicht backsheet habe ich ebenfalls mit topoSet eine source eingebaut. Hier wurde eine fvoption integriert.
Nun habe ich eine Fehlermeldung die schon öfter aufgetreten ist, jedoch nie bewusst gelöst werden konnte:
Code:
--> FOAM FATAL ERROR:

    gradientInternalCoeffs cannot be called for a calculatedFvPatchField
    on patch backsheet_to_source of field h in file "/home/lasse/OpenFOAM/lasse-2.3.0/run/heatTransfer/chtMultiRegionFoam/Hitzequelle3D/0/backsheet/h"
    You are probably trying to solve for a field with a default boundary condition.

    From function calculatedFvPatchField<Type>::gradientInternalCoeffs() const
    in file fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C at line 199.


Ich weiß nicht genau warum changeDictionaryDict die Boundaries backsheet_to_source, backsheet_to_evaback,... etc in calculated umwandelt. Eigentlich sollten diese in:

Code:
backsheet_to_evaback
            {
type                                                        compressible::turbulentTemperatureCoupledBaffleMixed;
value          uniform 300;
neighbourFieldName T;
kappa          solidThermo;
kappaName      none;

umgewandelt werden. Zudem ist diese Boundary für den conjugate heattransfer between solid and fluid regionen. Wäre diese Variante besser, bzw. richtig:

Code:
backsheet_to_evaback
            {
        type          compressible::thermalBaffle;
        value          uniform 300;
        neighbourFieldName T;
        kappa          solidThermo;
        kappaName      none;

vielen Dank für Eure Hilfe,
Lasse

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Shor-ty
Moderator





Sehen Sie sich das Profil von Shor-ty an!   Senden Sie eine Private Message an Shor-ty  Schreiben Sie einen Gästebucheintrag für Shor-ty

Beiträge: 2466
Registriert: 27.08.2010

erstellt am: 10. Mrz. 2015 09:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lassito 10 Unities + Antwort hilfreich

Hi,

also ich habe bislang immer mit compressible::turbulentTemperatureCoupledBaffleMixed gearbeitet und das wird ja auch in den Tutorials verwendet. Diese Randbedigungen: compressible::thermalBaffle, soweit ich das jetzt erkennen kann, ist wesentlich mächtiger. Da kannst du ja alles einstellen   Hab selber keine Erfahrung mit dieser aber möglich ist es bestimmt auch. Die Frage ist, ob das nötig ist. Ich würde die erste verwenden. Beim changeDict nehm ich stark an das du nen Fehler machst 

------------------
Best regards,
Tobias Holzmann

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lassito
Mitglied
Student


Sehen Sie sich das Profil von lassito an!   Senden Sie eine Private Message an lassito  Schreiben Sie einen Gästebucheintrag für lassito

Beiträge: 12
Registriert: 06.01.2015

OpenFoam 2.3.0, Ubuntu 14.04.1 LTS

erstellt am: 20. Mrz. 2015 11:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

ich komme wieder mal nicht weiter. Die Wäremübertragung in 3D funktioniert soweit gut im solid Bereich. Nun würde ich gerne im vorderen und hinteren Bereich des Sandwiches konvektive Kühlung einbauen. Die Parameter dieser Bereiche habe ich aus dem Tutorium multiRegionHeater übernommen. Nun kommt jedoch folgende Fehlermeldung, da ich die thermophysical properties in den air Bereichen von heSolidThermo zu heRhoThermo geändert habe.

Code:
--> FOAM FATAL ERROR:

    lookup of thermophysicalProperties from objectRegistry airback successful
    but it is not a solidThermo, it is a heRhoThermo<pureMixture<const<hConst<perfectGas<specie>>,sensibleEnthalpy>>>

    From function objectRegistry::lookupObject<Type>(const word&) const
    in file /home/lasse/OpenFOAM/OpenFOAM-2.3.0/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 181.

FOAM aborting


Kann mir jemand weiterhelfen?
Beste Grüße

PS en Case kann ich leider nich anhängen, da er zu groß ist:/

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz