-
Notifications
You must be signed in to change notification settings - Fork 3
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
added temperature schedules #318
Conversation
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
pre-commit.ci autofix |
for more information, see https://pre-commit.ci
pre-commit.ci autofix |
for more information, see https://pre-commit.ci
pre-commit.ci autofix |
for more information, see https://pre-commit.ci
temperature_schedule: | ||
name: constant | ||
T0: <T> # K |
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 think we should document all the possible config inputs. Not only for the temp scheduler.
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.
you mean with regards to the unit?
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.
No I mean in various parts of the config one can choose different temp schedules, ensemble types and so on. We only communicate one of these choices properly. I think we should think about a better way of communicating the different choices that can be made in the configuration script.
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 does not be addressed here in the PR I just recognised it.
apax/config/md_config.py
Outdated
class ConstantTempSchedule(BaseModel, extra="forbid"): | ||
""" | ||
Attributes | ||
---------- | ||
temperature : PositiveFloat, default = 298.15 | ||
Temperature in Kelvin (K). | ||
""" | ||
|
||
name: Literal["constant"] = "constant" | ||
T0: PositiveFloat = 298.15 # K |
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.
update docs
apax/config/md_config.py
Outdated
class PiecewiseLinearTempSchedule(ConstantTempSchedule, extra="forbid"): | ||
name: Literal["piecewise"] = "piecewise" |
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.
Add docs
apax/config/md_config.py
Outdated
class OscillatingRampTempSchedule(ConstantTempSchedule, extra="forbid"): | ||
name: Literal["oscillating_ramp"] = "oscillating_ramp" | ||
Tend: PositiveFloat | ||
amplitude: PositiveFloat | ||
num_oscillations: PositiveInt | ||
total_steps: PositiveInt |
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.
Add docs
Looks good. After including docs I think we can merge. |
for more information, see https://pre-commit.ci
pre-commit.ci autofix |
for more information, see https://pre-commit.ci
This PR adds temperature schedules to JaxMD.
The three schedules are Constant, PiecewiseLinear and the OscillatingRamp from IPSuite.
All combinations of thermostat and schedule work.