|
[Sponsors] |
Problem with creation of new BC fixing it to a patch using refCast |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
April 26, 2014, 11:44 |
Problem with creation of new BC fixing it to a patch using refCast
|
#1 |
Member
Join Date: Feb 2012
Posts: 35
Rep Power: 14 |
Hi guys,
I already opened a post talking about my problems in setting a new BC to a patch, using refCast method; the post is located here: http://www.cfd-online.com/Forums/ope...m-refcast.html I did some new steps further, but now I have troubles to compile the library. As I explained in the previous post, I thought the possible solution to the problem of lack in identification of my new Boundary Condition also as a new type to be used by refCast method, could be in the macros written at the end of fvPatchField.H. Therefore I tried to use these macros in some ways, taking inspiration by reading other already compiled BCs. I looked at calculatedFvPatchField as an example and I tried to reproduce same code arrangement; in 'calculated' folder I find the following headers: calculatedFvPatchField.C calculatedFvPatchField.H calculatedFvPatchFields.C calculatedFvPatchFields.H calculatedFvPatchFieldsFwd.H I did the same for my headers: myGradientEnthalpyFvPatchScalarField.C myGradientEnthalpyFvPatchScalarField.H myGradientEnthalpyFvPatchScalarFields.C myGradientEnthalpyFvPatchScalarFields.H myGradientEnthalpyFvPatchScalarFieldsFwd.H The content of the headers in which are called the macros are the following: myGradientEnthalpyFvPatchScalarFields.C Code:
namespace Foam { // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // makePatchTypeField ( fvPatchScalarField, myGradientEnthalpyFvPatchScalarField ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam Code:
#ifndef myGradientEnthalpyFvPatchFields_H #define myGradientEnthalpyFvPatchFields_H #include "myGradientEnthalpyFvPatchScalarField.H" #include "fieldTypes.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // template<class Scalar> class myGradientEnthalpyFvPatchField; makePatchTypeFieldTypedefs(myGradientEnthalpy); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif Code:
#ifndef myGradientEnthalpyFvPatchFieldsFwd_H #define myGradientEnthalpyFvPatchFieldsFwd_H #include "fieldTypes.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // template<class Scalar> class myGradientEnthalpyFvPatchField; makePatchTypeFieldTypedefs(myGradientEnthalpy); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif Code:
Making dependency list for source file myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarFields.C SOURCE=myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarFields.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O0 -fdefault-inline -ggdb3 -DFULLDEBUG -DNoRepository -ftemplate-depth-100 -I/opt/OpenFOAM/OpenFOAM-2.1.1/src/finiteVolume/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.1.1/src/meshTools/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.1.1/src/turbulenceModels/compressible/turbulenceModel/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.1.1/src/turbulenceModels/compressible/matteoBC/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.1.1/src/thermophysicalModels/basic/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.1.1/src/thermophysicalModels/specie/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.1.1/src/thermophysicalModels/basicSolidThermo/lnInclude -IlnInclude -I. -I/opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.1.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPDebug/myGradientEnthalpyFvPatchScalarFields.o In file included from /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/Field.H:360:0, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/labelField.H:39, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/primitiveFields.H:37, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/pointField.H:36, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/edge.H:40, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/edgeList.H:32, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/PrimitivePatch.H:56, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/primitivePatch.H:35, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/polyPatch.H:43, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/finiteVolume/lnInclude/fvPatch.H:39, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/finiteVolume/lnInclude/fvPatchField.H:47, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/finiteVolume/lnInclude/fixedGradientFvPatchField.H:38, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/finiteVolume/lnInclude/fixedGradientFvPatchFields.H:29, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/thermophysicalModels/basic/lnInclude/gradientEnthalpyFvPatchScalarField.H:38, from myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarField.H:52, from myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarFields.H:29, from myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarFields.C:26: /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/Field.C: In member function ‘void Foam::Field<Type>::operator=(const Foam::VectorSpace<Form, Cmpt, nCmpt>&)’: /opt/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/Field.C:680:42: warning: typedef ‘VSType’ locally defined but not used [-Wunused-local-typedefs] typedef VectorSpace<Form,Cmpt,nCmpt> VSType; ^ In file included from /opt/OpenFOAM/OpenFOAM-2.1.1/src/finiteVolume/lnInclude/fixedGradientFvPatchField.H:38:0, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/finiteVolume/lnInclude/fixedGradientFvPatchFields.H:29, from /opt/OpenFOAM/OpenFOAM-2.1.1/src/thermophysicalModels/basic/lnInclude/gradientEnthalpyFvPatchScalarField.H:38, from myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarField.H:52, from myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarFields.H:29, from myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarFields.C:26: myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarFields.H: At global scope: myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarFields.H:43:28: error: conflicting declaration ‘typedef class Foam::myGradientEnthalpyFvPatchField<double> Foam::myGradientEnthalpyFvPatchScalarField’ makePatchTypeFieldTypedefs(myGradientEnthalpy); ^ /opt/OpenFOAM/OpenFOAM-2.1.1/src/finiteVolume/lnInclude/fvPatchField.H:597:40: note: in definition of macro ‘makePatchTypeFieldTypedefs’ typedef type##FvPatchField<scalar> type##FvPatchScalarField; \ ^ In file included from myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarFields.H:29:0, from myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarFields.C:26: myGradientEnthalpyFvPatchScalarField/myGradientEnthalpyFvPatchScalarField.H:66:7: error: ‘class Foam::myGradientEnthalpyFvPatchScalarField’ has a previous declaration as ‘class Foam::myGradientEnthalpyFvPatchScalarField’ class myGradientEnthalpyFvPatchScalarField ^ make: *** [Make/linux64GccDPDebug/myGradientEnthalpyFvPatchScalarFields.o] Error 1 Could someone tell me how to do it better? Thank you all. Matteo |
|
Tags |
refcast, typedef |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Other] Cyclic patch problem! | SMartella | OpenFOAM Meshing & Mesh Conversion | 7 | May 6, 2024 09:03 |
AMI speed performance | danny123 | OpenFOAM | 21 | October 24, 2020 05:13 |
problem with surface creation in ICEM from multiple curves | dialolema | ANSYS Meshing & Geometry | 2 | October 27, 2014 14:14 |
[Gmsh] Single volume Mesh gmsh | PeteH | OpenFOAM Meshing & Mesh Conversion | 9 | August 6, 2013 09:54 |
Multicomponent fluid | Andrea | CFX | 2 | October 11, 2004 06:12 |