# Address and location of source

**URL:** <https://community.freefem.org/t/address-and-location-of-source/2209>\
**Category:** General Discussion\
**Created:** [January 6, 2023, 4:40am UTC](https://community.freefem.org/t/address-and-location-of-source/2209 "2023-01-06T04:40:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mahdi](https://avatars.discourse-cdn.com/v4/letter/m/e9c0ed/32.png) [@mahdi](https://community.freefem.org/u/mahdi)\
**Post date:** [January 6, 2023, 4:40am UTC](https://community.freefem.org/t/address-and-location-of-source/2209/1 "2023-01-06T04:40:17Z")

</div>

Hi;  
I am trying to find the source files in Linux, (convect function for example). Can someone help me find where files are installed?

---

<div class="post-metadata">

**Author:** ![frederichecht](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/frederichecht/32/15_2.png) [@frederichecht](https://community.freefem.org/u/frederichecht)\
**Post date:** [January 6, 2023, 10:58am UTC](https://community.freefem.org/t/address-and-location-of-source/2209/2 "2023-01-06T10:58:03Z")

</div>

OK, is not so difficult,

first go in directory src of the distribution

after find '“convert” in all source files

```auto
brochet:src hecht$ grep '"convect"' */*pp
fflib/lgfem.cpp: Global.Add("convect", "(", new OneOperatorCode< Convect >);
brochet:src hecht$ 

```

after find the word ‘Convect’

```auto
brochet:src hecht$ grep -n 'Convect' */*pp
fflib/lgfem.cpp:2261:class Convect : public E_F0mps {
fflib/lgfem.cpp:2269: Convect(const basicAC_F0 &args) : u(0), v(0), w(0), ff(0), dt(0) {
fflib/lgfem.cpp:2290: if (verbosity > 3) cout << "\n -- Convert number of Convect case: .... " << state << endl;
fflib/lgfem.cpp:2301: static E_F0 *f(const basicAC_F0 &args) { return new Convect(args); }
fflib/lgfem.cpp:2308:Expression Convect::ou = 0;
fflib/lgfem.cpp:2309:Expression Convect::ov = 0;
fflib/lgfem.cpp:2310:Expression Convect::ow = 0;
fflib/lgfem.cpp:2311:Expression Convect::odt = 0;
fflib/lgfem.cpp:2312:long Convect::count = 0;
fflib/lgfem.cpp:5064:AnyType Convect::operator( )(Stack s) const {
fflib/lgfem.cpp:5071:AnyType Convect::eval2(Stack s) const {
fflib/lgfem.cpp:5117: cerr << "Fatal error in Convect (R2) operator: loop => velocity too high ???? or NaN "
fflib/lgfem.cpp:5144:AnyType Convect::eval3old(Stack s) const {
fflib/lgfem.cpp:5146: if (newconvect3) return eval3(s); // New Convect in test
fflib/lgfem.cpp:5228:AnyType Convect::eval3(
fflib/lgfem.cpp:6264: Global.Add("convect", "(", new OneOperatorCode< Convect >);

```

the function convect is defined in at  
`fflib/lgfem.cpp:5064:AnyType Convect::operator( )(Stack s) const`

good luck
