CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Programming & Development

Adding Thermo to basicKinematicCollidingCloud

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree2Likes
  • 2 Post By bruce

Reply
 
LinkBack Thread Tools Display Modes
Old   September 29, 2011, 09:14
Default Adding Thermo to basicKinematicCollidingCloud
  #1
Member
 
bruce
Join Date: May 2009
Location: Germany
Posts: 42
Rep Power: 8
bruce is on a distinguished road
hello all,

now i add Thermo to basicKinematicCollidingCloud and basicKinematicCollidingParcel in order to simulate heat transfer for KinematicCollidingCloud.

first i copy and renamed basicKinematicCollidingCloud to basicThermoKinematicCollidingCloud and done neccesary changes.

basicThermoKinematicCollidingCloud.H as
HTML Code:
namespace Foam
{
    typedef ThermoCloud
    <
        CollidingCloud
        <
            KinematicCloud
            <
                Cloud
                <
                    basicThermoKinematicCollidingParcel
                >
            >
        >
    > basicThermoKinematicCollidingCloud;
}
and basicThermoKinematicCollidingParcel.H as
HTML Code:
namespace Foam
{
    typedef ThermoParcel<CollidingParcel<KinematicParcel<particle> > > basicThermoKinematicCollidingParcel;

    template<>
    inline bool contiguous<basicThermoKinematicCollidingParcel>()
    {
        return true;
    }
}
defineBasicThermoKinematicCollidingParcel.C as
HTML Code:
namespace Foam
{
   defineTemplateTypeNameAndDebug(basicThermoKinematicCollidingParcel, 0);

   defineTemplateTypeNameAndDebug(Cloud<basicThermoKinematicCollidingParcel>, 0);
}
finnally makeBasicThermoKinematicCollidingParcelSubmodels.C as
HTML Code:
namespace Foam
{
    makeParcelCloudFunctionObjects(basicThermoKinematicCollidingCloud);

    // Kinematic sub-models
    makeThermoParcelForces(basicThermoKinematicCollidingCloud);
    makeParcelDispersionModels(basicThermoKinematicCollidingCloud);

    makeParcelCollisionModels(basicThermoKinematicCollidingCloud);
    makeParcelInjectionModels(basicThermoKinematicCollidingCloud);
    makeParcelPatchInteractionModels(basicThermoKinematicCollidingCloud);

    // Thermo sub-models
    makeParcelHeatTransferModels(basicThermoKinematicCollidingCloud);
    makeParcelSurfaceFilmModels(basicThermoKinematicCollidingCloud);
}
and i compile this new library as libbasicThermoKinematicCollidingParcel.so

and now i link this new type library to icoUncoupledKinematicParcelFoam solver.

and Constructing new type as

HTML Code:
basicThermoKinematicCollidingCloud kinematicParcels
(
    "kinematicCloud1",
    rho,
    U,
    g,
    slgThermo
);
now i get this link error.

HTML Code:
/lib//libbasicThermoKinematicCollidingParcel.so: undefined reference to `Foam::WallModel<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > >::dictionaryConstructorTablePtr_'
/lib//libbasicThermoKinematicCollidingParcel.so: undefined reference to `Foam::PairModel<Foam::CollidingCloud<Foam::KinematicCloud<Foam::Cloud<Foam::ThermoParcel<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > > > >::dictionaryConstructorTablePtr_'
collect2: ld returned 1 exit status

Could any body help to figure out this error?

Thanks
bruce is offline   Reply With Quote

Old   April 28, 2012, 09:41
Default
  #2
MPJ
New Member
 
Oliver Pasqual
Join Date: May 2011
Posts: 12
Rep Power: 6
MPJ is on a distinguished road
Hi bruce,
have you solved your problem?
I have the same problem with you.
although the same process have been taken as what you have done.
the same problem occur to me
it will be highly appreciated if you can give me some suggestion.
Best Regards
oliver
MPJ is offline   Reply With Quote

Old   April 28, 2012, 12:55
Default
  #3
Member
 
bruce
Join Date: May 2009
Location: Germany
Posts: 42
Rep Power: 8
bruce is on a distinguished road
hi,

the above posted problem was minimized version actually to post on this forum. but what i actually wanted work is coalCombustion library with parcel collision. so i solved this problem directly over there. take a look at the attached code. for details compare it with actual coalCombustion library.

have fun
Attached Files
File Type: zip collidingCoalCombustion.zip (19.7 KB, 48 views)
alquimista and mneben like this.
bruce is offline   Reply With Quote

Old   April 29, 2012, 05:57
Default
  #4
MPJ
New Member
 
Oliver Pasqual
Join Date: May 2011
Posts: 12
Rep Power: 6
MPJ is on a distinguished road
Hi bruce,
Many thanks!
The codes were compiled successfuly with the same modification as in your attachment.
That's really helpful, thanks for sharing your modification detail.
Have a nice day~
oliver
MPJ is offline   Reply With Quote

Old   May 8, 2013, 10:43
Default
  #5
Member
 
Join Date: Apr 2010
Posts: 61
Rep Power: 7
alquimista is on a distinguished road
Thank you very much. The trick is in :

Code:
collidingCoalCombustion/coalParcel/makeCoalParcelSubmodelsAdded.C
with:

Code:
        typedef coalCloud::collidingCloudType collidingParcelType;
    makeParcelCollisionModels(collidingParcelType);
alquimista is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
problem with Min/max rho tH3f0rC3 OpenFOAM 7 February 23, 2013 06:37
Help with chtMultiRegionFoam jbvw96 OpenFOAM Running, Solving & CFD 2 December 26, 2010 18:16
How creating new thermo physical model weiste01 OpenFOAM Programming & Development 10 August 21, 2009 02:26
dieselFoam: how to implement thermo for liquid/gas continuous phase natrask OpenFOAM Running, Solving & CFD 1 July 16, 2009 05:37
How to adding source in UDF? Sam Liu FLUENT 1 November 2, 2005 00:59


All times are GMT -4. The time now is 02:30.