CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   Backwards Compatibility (https://www.cfd-online.com/Forums/openfoam-programming-development/154459-backwards-compatibility.html)

Chris_DSMC June 15, 2015 06:42

Backwards Compatibility
 
Hello Community,

I am currently working on the DSMC-Solver in OpenFOAM. I already made some changes in the code and implemented a new boundary condition. Because I am planing some new features for the Solver, I think there will be some more modifications. Of course we are planing to contribute our changes to the official release of OpenFOAM after our project (if they are interested ;) )

I am wondering how important backwards compatibility is to the community?

To give an example: Like I said, I added a new boundary condition. Because of this I added a new boundaryField called "boundaryRhoN". The existing boundary condition "freeStream" specifies the number density in the "dsmcProperties" file. Now this is a bit contrary to the new boundaryCondition. Now three ways come to my mint:

1) I implement everything clean and let freeStream also use the boundaryRhoN file. In this way it would not be possible to use older Models with my version. (Of course I would update the tutorials)

or

2) I make sure, that it is possible to run the existing tutorials with my version, which of course could be a bit more creepy in the code.

or

3) I completly do not touch the existing boundary condition. (Which I think is no option, because it would lead to double code and would break some other basic rules using object oriented programming with c++)

I am very curious to your answers

Best regards

Chris_DSMC June 17, 2015 14:09

Hi there,

do I have to make myself a bit more clear?
If anybody has a hint, for example something I missed in the programmers guide, I would be very grateful.

The question is, if it is allowed to change the user interface of a solver such, that older models are not runable with my version any more.

I am happy for every answer.

Wish you all a nice day.


All times are GMT -4. The time now is 08:44.