Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write a tutorial on how to create a simple module #3

Open
MilheiroSantos opened this issue Dec 11, 2014 · 1 comment
Open

Write a tutorial on how to create a simple module #3

MilheiroSantos opened this issue Dec 11, 2014 · 1 comment

Comments

@MilheiroSantos
Copy link
Collaborator

We should do a step-by-step tutorial on how to create a module. This exercise will also allow not so recent collaborators ( like me and Alejandro ) to learn more about COOLFluiD and find problem with the Framework API (like too verbose boilerplate code, quick-fixs, etc ). I propose the following guide:

  1. "Hello world" module: A module that only prints hello world. It will teach how to define the modules, the CMake file, to register the module and the minimal set of methods to make the code compile. Finally add the method on the CFcase file and get the "Hello World" string.
  2. Add config options to the module. Change the module so that the string to output can be set from the CFcase file. Add another option for an array of ints and a bool. If the bool is true, the module will also print the array.
  3. Access some mesh data. Here the fun starts! We will provide a simple mesh with different TRS's. The module will print the cell volume, its faces, vertices, and neighboring cell of all TRS's. The module will be changed to allow for the TRS names to be specified from the CFcase file.
  4. Data sockets: We will alter step 3. to use the pre-calculated values from the data sockets. we'll explain them and add the necessary methods.
  5. Physical System: Here, we'll grab a compressible Couette flow testcase and teach how to read the temperatures, velocities and access the viscosity and density from the physical properties library. We can even export the information to a cvs file and plot it through MATLAB or so.
  6. Numerics: I didn't work with those modules yet, so I don't know what is the best. Maybe use the Poisson solver to get some Magnetic values?

What do you think?

@andrealani
Copy link
Owner

I really think we should do this, 100%, but I would like to do it after having restructured some things in the framework. Some things now are not as clean and easy as I would like them to be. But, yes, should be done soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants