Autor
|
Thema: CFD-DEM (3701 mal gelesen)
|
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 16. Dez. 2013 17:06 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits, gibt es hier jemanden im Forum der mit CFD-DEM und OpenFoam arbeitet? gemäß der Seite hier: www.cfdem.com Wäre interessant sich mit demjenigen/derjenigen mal auszutauschen! Arbeite neu damit bzw. versuche es. Hab mir mal gedacht ich schreib mal mein Problem grad nochmal hier rein: Versuche CFDEM zu installieren gem. der anghängten PDF. Das Problem bei mir ist dass es ich nicht schaffe die entsprechenden Zeilen zu kopieren in die andere bash. Als Kontrolle würde ja da quasi so was wie ".ist ein Verzeichnis" stehen. Bei mir kommt aber nichts. Leider weiß ich nicht woran es liegt. Vll ein kleiner Hinweis woran es liegen könnte: Habe sowohl OpenFoam 2.2.0 als auch (aufgrund der Installation von CFDEM) OpenFoam 2.2.2. und wenn ich gedit ~/.bashrc & eingebe erscheint bei mir in der sourceline ganz oben die version 2.2.0 Viele Grüße
[Diese Nachricht wurde von kashian am 17. Dez. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulrich Heck Mitglied OpenFOAM Tool Entwicklung
Beiträge: 291 Registriert: 08.09.2003 CastNet (DHCAE Tools) OpenFOAM CalculiX
|
erstellt am: 19. Dez. 2013 08:07 <-- editieren / zitieren --> Unities abgeben: Nur für kashian
Hallo, ja wir haben das System verwendet und versuchen es in Zukunft zu vermeiden. Inzwischen würde ich versuchen das weitgehend in OpenFOAM allein zu realisieren. Der icoUncoupledKinematicParcel kann Partikel-Partikel Interaktion schon seit längerem (Tutorial Hopper) beschreiben, seit ein paar Wochen gibt es im neusten Git-Update für 2.2 auch einen gekoppelten Solver der das kann. Rechenzeiten sind zwar hoch, aber das waren sie CFD-DEM auch, was aber eher in Physik der Stöße zu liegen scheint, die sehr kleine Zeitschritte erfordern. Wenn man trotzdem mit CFD-DEM arbeiten möchten, halte das im Alleingang für fast für unmöglich, dazu ist zu komplex und es gibt zu wenig Material auf dem man aufbauen kann. D.h. ich würde unbedingt zumindest dort ein Training wahrnehmen. Gruß Ulrich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 19. Dez. 2013 19:28 <-- editieren / zitieren --> Unities abgeben:
Hallo Ulrich, danke dir für deine Antwort! die Komplexität von CFD-DEM habe ich bereits an der Installation bemerkt. Welchen gekoppelten Solver meinst du denn? Eventuell den DPMFoam Solver vom Goldschmidt-Case? oder meinst du einen anderen? Wäre an diesem interessiert falls es bei dem auch möglich ist Residuen zu plotten. Danke und viele Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulrich Heck Mitglied OpenFOAM Tool Entwicklung
Beiträge: 291 Registriert: 08.09.2003 CastNet (DHCAE Tools) OpenFOAM CalculiX
|
erstellt am: 19. Dez. 2013 20:01 <-- editieren / zitieren --> Unities abgeben: Nur für kashian
|
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 19. Dez. 2013 20:09 <-- editieren / zitieren --> Unities abgeben:
|
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 23. Dez. 2013 19:31 <-- editieren / zitieren --> Unities abgeben:
Hallo, also ich habe mich nun an den DPMFoam Solver gemacht. Der Solver läuft auch, also mit dem Kompilieren hat es geklappt. Leider habe ich nun eine Fehlermeldung, die ich nicht so ganz verstehe. Diese schaut wie folgt aus: Code:
Create timeCreate mesh for time = 0 Reading g
Reading transportProperties Reading field U Reading field p Reading/calculating continuous-phase face flux field phic Creating turbulence model Selecting incompressible transport model Newtonian Creating field alphac Constructing kinematicCloud kinematicCloud employing parcel parcelTypeId of 1 employing parcel rhoMin of 1e-15 employing parcel minParticleMass of 1e-15 Constructing particle forces Selecting particle force ErgunWenYu Selecting particle force gravity Constructing cloud functions none Constructing particle injection models Creating injector: model1 Selecting injection model manualInjection Constructing 3-D injection Choosing nParticle to be a fixed value, massTotal variable now does not determine anything. Selecting distribution model fixedValue --> FOAM FATAL ERROR: Cannot find parcel injection cell. Parcel position = (-0.006 -0.0735 0.0015)
FROHE FEIERTAGE ALLEN DIE DAS LESEN UND VIEL SPAß BEIM ENTSPANNEN! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 03. Jan. 2014 16:03 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits, also ich habe mal versucht, statt manualInjection eine patchInjection durchzuführen. Einige erste Fehlermeldungen habe ich korrigieren können, jedoch steh ich bei der hier auf dem Schlauch: Code:
--> FOAM FATAL ERROR: request for surfaceScalarField phi from objectRegistry region0 failed available objects of type surfaceScalarField are 3 ( alphaPhic phic alphacf )
Anscheinend sucht er (vll auch aufgrund des Wechsels des Injection-Modells) dieses surfaceScalaField. In meinem Ordner constant7kinematicCloudProperties steht auch nichts davon drin, daher auch "request". Habe nach weiterem Suchen dies auf der Seite des Tutorials mit dem ich arbeite gefunden:
Code:
surfaceScalarField phicForces ( (fvc::interpolate(rAUc*cloudVolSUSu/rhoc) & mesh.Sf()) + rAUcf*(g & mesh.Sf()) );
Wäre jemand vll so freundlich und könnte mich in der Bedeutung dieser Vorschrift aufklären. Wie müsste ich es dann in meiner constant/kienamticCloudProperties Ordner eintragen damit die Fehlermeldung nicht mehr vorkommt. Danke euch!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 03. Jan. 2014 16:40 <-- editieren / zitieren --> Unities abgeben: Nur für kashian
Hi, Code:
surfaceScalarField phicForces ( (fvc::interpolate(rAUc*cloudVolSUSu/rhoc) & mesh.Sf()) + rAUcf*(g & mesh.Sf()) );
Damit wird eine neue Variable definiert "phicForces" und dem Typ "surfaceScalarField" zugeordnet. Die Berechnung der Werte wird dann in runden Klammern angegeben "(..)". Scheint mir so als würdest du bei deinem Patch eine Angabe vergessen haben: [code] meinPatch { type injection...; value uniform 242; phi phic; } [code] ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 03. Jan. 2014 17:46 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke dir für die Antwort. Habe versucht es in meiner kinematicCloud zu übernehmen, (natürlich nicht copy&paste, sondern angepasst) aber es kam wieder die gleiche meldung. Vielleicht hab ich es auch an der falschen stelle hinzugefügt. So schaut es in der nicht bearbeiten kinematicCloud aus: Code:
solution { active true; coupled true; transient yes; cellValueSourceCorrection off; interpolationSchemes { rhoc cell; Uc cellPoint; muc cell; } integrationSchemes { U Euler; } sourceTerms { schemes { U semiImplicit 1; } } } constantProperties { parcelTypeId 1; rhoMin 1e-15; minParticleMass 1e-15; rho0 2526; youngsModulus 1e8; poissonsRatio 0.35; packedAlpha 0.9; //0.64; constantVolume false; } subModels { particleForces { ErgunWenYu { alphac alphac; } gravity; } injectionModels { model1 { type patchInjection; massTotal 8; parcelBasisType fixed; nParticle 1; SOI 0; patchName INLET; nParticle 1; duration 50; parcelsPerSecond 20; flowRateProfile constant 1; U0 ( 0 -1 0); sizeDistribution { type fixedValue; fixedValueDistribution { value 0.0025; } } } } dispersionModel none; patchInteractionModel localInteraction; localInteractionCoeffs { patches ( "(WALL|EROSIONPLATE)" { type rebound; e 1; mu 0; } "(INLET|OUTLET)" { type escape; } ); } StandardWallInteractionCoeffs { type rebound; e 0.97; mu 0.09; } heatTransferModel none; surfaceFilmModel none; collisionModel pairCollision; pairCollisionCoeffs { maxInteractionDistance 0.0025; writeReferredParticleCloud no; pairModel pairSpringSliderDashpot; pairSpringSliderDashpotCoeffs { useEquivalentSize no; alpha 0.02; b 1.5; mu 0.10; cohesionEnergyDensity 0; collisionResolutionSteps 12; }; wallModel wallSpringSliderDashpot; wallSpringSliderDashpotCoeffs { useEquivalentSize no; collisionResolutionSteps 12; youngsModulus 1e8; poissonsRatio 0.23; alpha 0.01; b 1.5; mu 0.09; cohesionEnergyDensity 0; }; UName Uc; } stochasticCollisionModel none; radiation off; } cloudFunctions {}
Hier meine RBs: Code:
dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { WALL { type zeroGradient; } OUTLET { type totalPressure; p0 uniform 0; U U; psi none; gamma 1; phi phi; value uniform 0; } EROSIONPLATE { type zeroGradient; } INLET { type zeroGradient; } }
Beste Grüße! [Diese Nachricht wurde von kashian am 03. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 03. Jan. 2014 20:51 <-- editieren / zitieren --> Unities abgeben: Nur für kashian
|
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 03. Jan. 2014 21:11 <-- editieren / zitieren --> Unities abgeben:
leider hat das nicht funktioniert. hatte es auch so beim ersten mal gemacht und habe mich bereits gewundert weshalb es nicht klappt, daher der vorletzte post... der gleiche fehler erscheint wieder : / Habe es auch mit - alphaPhic - alphacf ausprobiert. Leider immer noch die gleiche Fehlemeldung.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 03. Jan. 2014 21:18 <-- editieren / zitieren --> Unities abgeben: Nur für kashian
|
Chrisi1984 Mitglied Berechnungsingenieur
Beiträge: 35 Registriert: 13.05.2010
|
erstellt am: 05. Jan. 2014 17:31 <-- editieren / zitieren --> Unities abgeben: Nur für kashian
Hallo, evtl. kann ich weiterhelfen. Wenn ich mich richtig erinnere, erhält man diese Fehlermeldung wenn die Startposition der Parcels nicht innerhalb des Rechengitters liegt. Du kannst das leicht prüfen in dem du in Paraview prüfst, ob der Punkt (-0.006 -0.0735 0.0015) innerhalb deiner Geometrie liegt. Viele Grüße Chrisi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 05. Jan. 2014 22:42 <-- editieren / zitieren --> Unities abgeben:
Hallo Chrisi, au die Idee bin ich gar nicht gekommen! Das klingt gar nicht mal so schlecht, hab es direkt ausprobieren wollen. Leider finde ich nicht wirklich die koordinaten, wenn ich bspw. auf mein Inlet zeige. Gibt es hierfür ein Filtertool? Oder wie bekomme ich es raus? Grüße! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 05. Jan. 2014 23:05 <-- editieren / zitieren --> Unities abgeben: Nur für kashian
|
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 05. Jan. 2014 23:46 <-- editieren / zitieren --> Unities abgeben:
das hatte ich auch gemacht..und jetzt weiß ich auch woran es liegt. mein paraview ist leider scheinbar nicht richtig installiert, weil es mittels paraFoam nicht geöffnet werden kann:
Code:
FATAL ERROR: ParaView reader module libraries do not existPlease build the reader module before continuing: cd $FOAM_UTILITIES/postProcessing/graphics/PV3Readers ./Allwclean ./Allwmake
Sicherlich als ich paraview als ThirdParty für OF 2.2x installiert hatte. Hab versucht meine Geometrie als VTK abzubillden und damit die Koordination aufzurufen, aber das klappt auch nicht. Werde wohl zunächst wohl oder übel (als nicht LINUX-Kenner) mich mal wieder an die Installation machen. Grüße an euch [Diese Nachricht wurde von kashian am 05. Jan. 2014 editiert.]
[Diese Nachricht wurde von kashian am 05. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 05. Jan. 2014 23:56 <-- editieren / zitieren --> Unities abgeben: Nur für kashian
Hallo, du brauchst das nicht unbedingt. Einfach die Binären Dateien holen, bzw. mit paraview das Tool starten. Dann lädst du die Datei "istTotalEgal.foam" Diese musst du natürlich erst im Case Ordner anlegen:
Code:
case - 0 - constant - system - istTotalEgal.foam
Wichtig ist nur das die Datei die Endung *.foam besitzt. Ich nenn diese daher immer paraview.foam. Diese kannst du in paraview einladen und es funktioniert alles.
------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 07. Jan. 2014 15:29 <-- editieren / zitieren --> Unities abgeben:
Hallo, entschuldige bitte die späte Antwort. Leider war mein Router defekt. Habe nicht ganz verstanden was du mit "binäre Dateien holen" meinst. Daher hab ich es mal so ausprobiert: Wie beim Plotten von Residuals eine log-Datei erstellen mit der Endung xz.foam in der ich die im Terminal berechneten Schritte des Solvers reinkopiere. Aber leider rechnet der ja wegen des obigen Probems nicht sehr weit... Bin verwirrt.. Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Jan. 2014 18:21 <-- editieren / zitieren --> Unities abgeben: Nur für kashian
Hallo, ich beziehe mich auf dein Paraview Problem. 1. wenn du es nicht aus den ThirdPartys nehmen willst, kannst du auch die binären Dateien verwenden. Diese kannst du von www.paraview.org herunterladen und direkt verwenden. 2. wenn du mit dem Befehl paraview starten kannst, kannst du auch deinen Case laden indem du im Caseordner eine Datei erstellst (xz.foam) diese aber leer bleibt. Im Programm (paraview) öffnest du diese leere Datei und schon ist dein Case in paraview geladen. ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kashian Mitglied Student
Beiträge: 28 Registriert: 16.12.2013 Ubnutu 12.04
|
erstellt am: 07. Jan. 2014 19:37 <-- editieren / zitieren --> Unities abgeben:
So hat es geklappt und ich kann die punkte auch lokalisieren! Vielen Dank für die ausführliche Erklärung; hier ist man echt gut aufgehoben falls man wirklich nicht mehr weiter weiß! Danke und Grüße!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |