| |  | 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

 Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 08. Jul. 2012 15:35 <-- editieren / zitieren --> Unities abgeben:         
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

 Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 08. Jul. 2012 16:21 <-- editieren / zitieren --> Unities abgeben:         
|
TTB Mitglied CFD Engineer
 
 Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 10. Jul. 2012 07:19 <-- editieren / zitieren --> Unities abgeben:          Nur für Basti1986
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
     

 Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 10. Jul. 2012 13:27 <-- editieren / zitieren --> Unities abgeben:          Nur für Basti1986
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |