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
plugin for initial temperature condition for ellipsoid chunk geometry #720
plugin for initial temperature condition for ellipsoid chunk geometry #720
Conversation
|
||
/** This initial condition is designed for the 3D ellipsoid chunk geometry | ||
* model. It discretizes the model domain into two regions separated by an | ||
* isotherm below with the temperature increases adiabatically. The user |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
with -> which
* temperature increases adiabatically while above the adiabatic | ||
* boundary the temperature linearly increases from a surface temperature | ||
* (273.15 K or 0 degree C) to an isotherm (1673.15 K or 1600 degree C) | ||
* that is the adiabatic boundary. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I meant to move this documentation to the class declaration, not to the namespace declaration. I think it would also be useful if you merged the documentation, not just collated it.
double initial_temperature (const Point<dim> &position) const; | ||
|
||
/** | ||
* declare the parameters that this class needs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
d -> D
Some other comments:
I (or others) might have other comments once the current ones are addressed. |
The adiabatic boundary isotherm is not a standard technical term. I will think about a better name for it. |
{ | ||
prm.enter_subsection("Adiabatic boundary isotherm"); | ||
{ | ||
prm.declare_entry("Adiabatic Boundary Filename", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We typically capitalize only the first word of an option (just like for section names).
Let me know when you're done rewriting things and we'll give it another once-over. Every patch is currently checked whether it satisfies the correct indentation, simply because that makes the entire code base look uniform. We do this using a program called Can you install version 2.04 (NOT the newer versions) on your machine in a place where it will be found when calling |
Just to let you know that I pushed the updated patch. |
Just a reminder that I have made these changes.
|
@gassmoeller -- talking to @trajaona he says that he's made some changes and would appreciate if you could take another look. |
@@ -144,27 +109,21 @@ namespace aspect | |||
double | |||
AdiabaticBoundary<dim>::initial_temperature (const Point<dim> &) const | |||
{ | |||
Assert (false, ExcNotImplemented()); | |||
AssertThrow (false, ExcMessage ("The 'adiabatic boundary' initial temperature plugin is only implemented for 3d cases.")); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function is a bit confusing, because it is not a template specialization (I guess it is only called in 2d, because you provide a specialization for 3d below). Can you change it to the same format as the AdiabaticBoundary<2>::get_isotherm_depth()
function above? I.e. please make this function a template specialization for dim==2.
Sorry for the delay, I did not see this PR was updated (I only get messages when somebody writes a comment, not when commits are pushed here). |
@gassmoeller-- My apologize for late reply. Our cluster was down for a while so I could not test the changes I have made on the PR. I have done the edits according to your comments. I have also increased the grid size the lithospheric thickness data to 0.5x0.5 degree since I think this resolution will be enough for the test. |
@@ -135,10 +137,13 @@ namespace aspect | |||
{ | |||
prm.enter_subsection("Adiabatic boundary"); | |||
{ | |||
prm.declare_entry ("Data directory", "$ASPECT_SOURCE_DIR/tests/adiabatic_boundary/", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer if the default value could be set to "$ASPECT_SOURCE_DIR/data/initial-conditions/adiabatic-boundary/", and you would move the test data file there as well. This is how we handle it for all the other tests that need data files, and then all data is in one subfolder (aspect/data).
No apologies needed 😄. I have two last minor details and a few typos, after that this is good to go. |
Ok, great. The code is good to go. There are two small things left (I had not noticed before, or they just came up with your latest commits): You will need to update your test results to succeed with a current master (I think Timo changed some output format for the number of iterations and updated all already merged tests). And you commited a file 'tests/adiabatic_boundary/.DS_Store' that does not belong there, probably it is something your operating system or file manager created and you accidentally added it, please remove that. After that we are ready to go, thanks for all the work 👍 |
Sorry for all the comments, but two more things: There is another .DS_Store in source/initial_conditions/.DS_Store, please remove that as well. And please add an entry to doc/module/changes.h to document your addition. This way we can properly anounce the new feature at the next release. Just copy one of the other entries and write a sentence or two about your plugin. Thanks! |
Ok, looks great. Thanks a lot 👍 |
This is a plugin for initial conditions.