Hot News:

Unser Angebot:

  Foren auf CAD.de
  OpenFOAM
  Kompilierungs-Fehler. Brauche Hilfe bei C++

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:  Kompilierungs-Fehler. Brauche Hilfe bei C++ (941 mal gelesen)
Basti1986
Mitglied
Student


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

Beiträge: 17
Registriert: 04.12.2009

erstellt am: 08. Jul. 2012 15: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

Hi,

ich bräuchte eure Hilfe um eine Gleichung ins C++ zu übersetzen.

Der folgende Code funktioniert einwandfrei:

Code:

{
    kappat = turbulence->nut()/Prt;
    kappat.correctBoundaryConditions();

    volScalarField kappaEff("kappaEff", turbulence->nu()/Pr + kappat);

    fvScalarMatrix TEqn
    (
        fvm::Div(phi, T)
      - fvm::Sp(fvc::Div(phi), T)
      - fvm::laplacian(kappaEff, T)
      - ((U & fvc::grad(p)) / Cp)
      - (((turbulence->nuEff() / Cp) * (fvc::grad(U) + fvc::grad(U)().T())) && fvc::grad(U))
    );

    TEqn.relax();
    TEqn.solve();

    rhok = 1.0 - beta*(T - TRef);
}



Jetzt wollte ich den Term erweitern, aber das funktioniert leider nicht.
Diese Gleichung würde ich gerne in C++ übersetzen:

So hab ichs mal versucht:

Code:

{
    kappat = turbulence->nut()/Prt;
    kappat.correctBoundaryConditions();

    volScalarField kappaEff("kappaEff", turbulence->nu()/Pr + kappat);

    fvScalarMatrix TEqn
    (
        fvm::Div(phi, T)
      - fvm::Sp(fvc::Div(phi), T)
      - fvm::laplacian(kappaEff, T)
      - ((U & fvc::grad(p)) / Cp) 
      - (((turbulence->nuEff() / Cp) * (fvc::grad(U) + fvc::grad(U)().T() - (2.0/3.0 * fvm::Div(U)))) && fvc::grad(U))
    );

    TEqn.relax();
    TEqn.solve();

    rhok = 1.0 - beta*(T - TRef);
}


Beim Kompilieren bekomm ich aber folgenden Fehler:

Zitat:

Making dependency list for source file buoyantBoussinesqSimpleFoamVH211_erw.C
SOURCE=buoyantBoussinesqSimpleFoamVH211_erw.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/opt/openfoam211/src/finiteVolume/lnInclude -I/opt/openfoam211/src/turbulenceModels -I/opt/openfoam211/src/turbulenceModels/incompressible/RAS/lnInclude -I/opt/openfoam211/src/transportModels -I/opt/openfoam211/src/transportModels/incompressible/singlePhaseTransportModel -IlnInclude -I. -I/opt/openfoam211/src/OpenFOAM/lnInclude -I/opt/openfoam211/src/OSspecific/POSIX/lnInclude   -fPIC -c $SOURCE -o Make/linux64GccDPOpt/buoyantBoussinesqSimpleFoamVH211_erw.o
In file included from buoyantBoussinesqSimpleFoamVH211_erw.C:77:0:
TEqn.H: In Funktion »int main(int, char**)«:
TEqn.H:13:98: Fehler: keine passende Funktion für Aufruf von »div(Foam::volVectorField&)«
TEqn.H:13:98: Anmerkung: Kandidaten sind:
/opt/openfoam211/src/finiteVolume/lnInclude/fvmDiv.C:45:1: Anmerkung: template<class Type> Foam::tmp<Foam::fvMatrix<Type> > Foam::fvm::Div(const surfaceScalarField&, const Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>&, const Foam::word&)
/opt/openfoam211/src/finiteVolume/lnInclude/fvmDiv.C:62:1: Anmerkung: template<class Type> Foam::tmp<Foam::fvMatrix<Type> > Foam::fvm::Div(const Foam::tmp<Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> >&, const Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>&, const Foam::word&)
/opt/openfoam211/src/finiteVolume/lnInclude/fvmDiv.C:77:1: Anmerkung: template<class Type> Foam::tmp<Foam::fvMatrix<Type> > Foam::fvm::Div(const surfaceScalarField&, const Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>&)
/opt/openfoam211/src/finiteVolume/lnInclude/fvmDiv.C:88:1: Anmerkung: template<class Type> Foam::tmp<Foam::fvMatrix<Type> > Foam::fvm::Div(const Foam::tmp<Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> >&, const Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>&)
make: *** [Make/linux64GccDPOpt/buoyantBoussinesqSimpleFoamVH211_erw.o] Fehler 1

Ich hoffe ihr könnt mir helfen!
Vielen Dank im Voraus!

Grüße
Sebastian

[Diese Nachricht wurde von Basti1986 am 08. Jul. 2012 editiert.]

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

Basti1986
Mitglied
Student


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

Beiträge: 17
Registriert: 04.12.2009

erstellt am: 08. Jul. 2012 16:21    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

Ok ich glaub ich habs. Hab den neuen Term mit der Einheitsmatrix multipliziert. Jetzt konnte ichs kompilieren.

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

TTB
Mitglied
CFD Engineer


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

Beiträge: 353
Registriert: 02.10.2008

BIM HVACTool für Windows OpenFOAM-2.2.x

erstellt am: 10. Jul. 2012 07: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 Nur für Basti1986 10 Unities + Antwort hilfreich

Hallo,

kannst du deine komplette Lösung hier posten? Des Weiteren würde es mich interessieren, ob die "viscouse heating effects" die Lösung stark verändert hat, besonders mit dem Lösuer buoyantBoussinesqSimpleFoam.

Gruß Thomas

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. Jul. 2012 13:27    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 Basti1986 10 Unities + Antwort hilfreich

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