Thermostating atoms in a region

Dear all,

I am still confused as to how to create a dynamic group with compute command and fix_modify even though I found a previous post in the mail list on this matter. I am trying to heat up a cylindrical region in the center of a thin film while the atoms at the side are thermostat at 300K with a buffering region in between where the temperature is allowed to change freely.

The following is a relevant segment of my input script.
region heat_reg cylinder z 54.63 54.63 14.568 0 5.463 units box
region eli_thermstat cylinder z 54.63 54.63 43.704 0 18.21 units box
region thermstat intersect 2 eli_thermstat box side out

group laser
group thermAtoms region thermstat
group equiAtoms subtract all thermAtoms

compute comp_temp all temp/region thermstat

fix fix1 laser heat 1 3000 region heat_reg
fix fix2 equiAtoms nve
fix fix3 thermAtoms nvt temp 300 300 0.01 drag 0.8
fix_modify fix3 temp comp_temp

Sorry…

The line “group laser region heat_reg” is incomplete. I accidentally sent the previous post.

Thank you very much.

Dear all,

I am still confused as to how to create a dynamic group with compute command

there *are* no dynamic groups. full stop. a group is constant during a
run. all you can do is bias/unbias a thermostat action, so that only a
subset of that group (e.g. a region) or its degrees of freedom are
thermalized.

generate a toy input example and experiment with it until you get it
right. it is simple enough.

axel.

Dear Axel,
Just to confirm, are you saying that the instructions below posted in one of the threads in the mailing list will not be able to give me the thermostating that I wish for?
1) Define a region which covers the bit of the box that you want to
thermostat
2) Use a fix command to set up the thermostatting you want (don't worry about limiting it to a region just yet)
3) Set up a compute temp/region to calculate the temperature in your region of interested
4) Use fix_modify temp to associate that compute with the thermostatting fix.

Dear Axel,

Just to confirm, are you saying that the instructions below posted in one of
the threads in the mailing list will not be able to give me the
thermostating that I wish for?

that is not what i am saying. those instructions are for thermalizing
a region, but they don't define a dynamic group.

axel.

Dear Axel,

Thank you for correcting my misconception on this matter. The following is a segment of my input script (which I wrote based on what I understand from the instructions).

region heat_reg cylinder z 54.63 54.63 14.568 0 5.463 units box
region eli_thermstat cylinder z 54.63 54.63 43.704 0 18.21 units box
region thermstat intersect 2 eli_thermstat box side out

group laser region heat_reg
group thermAtoms region thermstat
group equiAtoms subtract all thermAtoms

compute comp_temp all temp/region thermstat

fix fix1 laser heat 1 3000 region heat_reg
fix fix2 equiAtoms nve
fix fix3 thermAtoms nvt temp 300 300 0.01 drag 0.8
fix_modify fix3 temp comp_temp
run 2000

unfix fix1
unfix fix2

fix fix1 equiAtoms nve
run 30000

After I unfix the fix heat command, I am expecting the temperature of the system to slowly cool down as the energy would be transferred from the middle region to the thermostat region and be dissipated. However, this doesnt seem to be the case. May I know if I have misunderstood any of the instructions on thermostating atoms in the region?

Dear Axel,

Thank you for correcting my misconception on this matter. The following is a
segment of my input script (which I wrote based on what I understand from
the instructions).

please *try* yourself and *observe*. this is how science works and
ultimately you have to trust yourself. ultimately, you have to stand
for what you did and you can't argue with "some guy on a mailing list
told me that it was ok".

axel.