Continuation of the previous post: Langevin Thermostat Preventing Boiling : Static vs Dynamic Group Conflicts In a Flow
Updates:
- Flow successfully occurs.
- Dynamic group applied. Temperature at inlet maintains at 86k.
- Compute added & modified to remove flow velocity bias, i.e Vx (so that temperature is counted for only Vy & Vz). Previously langevin was conflicting with the applied force/motion.
The paper investigates how argon flows and boils over a heated substrate (Copper) in a simulation setup with three fluid regions and a copper wall/substrate. A force drives the flow, a Langevin thermostat resets the inlet temperature (at 86K), and data is collected to study boiling.
However, maintaining a constant inlet temperature (86K) causes the liquid temperature to drop unexpectedly (contradicting the results of the paper).
I’m curious to understand the phenomenon.
Fluid Regions:
Force Region (0–10mm): A force is applied to drive the argon flow.
Reset Region (10–17mm): The fluid’s temperature is set to 86K to ensure a constant inlet temperature for the next region. The paper uses a Langevin thermostat, but applying it in a continuous flow (where atoms enter and exit) is challenging : atoms are continuously entering & exiting the region.
Study Region (17–370mm): Data is to be collected here to observe boiling and bubble formation.
Copper Wall (3 Layers):
Fixed Layer: Bottom most layer, no heating, just structural support.
Ghost Layer (or popularly known as Phantom layer): Middle layer, heated to 180K to trigger boiling.
Real Layer: Top layer in contact with the fluid, conducts heat from the ghost layer to the argon.
Simulation Method as per the paper:
The system uses a continuous flow with periodic boundaries.
Steps:
NVT run (4ns): Equilibrates the system at 86K.
NVE run (0.2ns): Heats the copper wall’s ghost layer to 180K. Applies force & langevin thermostat in the reset region for constant inlet temperature.
NVE run (4ns): Collects data on temperature and boiling.
Issue:
With the langevin thermostat in the reset group (dynamic), the liquid atoms start cooling down after reaching ~115-120K.
But reset region temperature is maintained at 86K, substrate temperature is also at 180K, flow also occurs- everything seems right. But liquid temperature doesn’t rise upto 135-140K as per the paper.
Key Part of my input script (I’ve attached both the paper and input script. The picture is symbolic):
T_inlet.dat (7.9 KB)
T_LiquidTemp_at_study_region.dat (7.9 KB)
T_phantom_ghost.dat (7.9 KB)
#Temp Calculate
compute T_liq liq temp/partial 0 1 1
fix liquid liq ave/time 1 1000 1000 c_T_liq file T_liquid.dat
compute T_study study temp/partial 0 1 1
compute_modify T_study dynamic/dof yes
fix study_region study ave/time 1 1000 1000 c_T_study file T_study.dat
compute T_inlet inlet temp/partial 0 1 1
compute_modify T_inlet dynamic/dof yes
fix inlet_reset inlet ave/time 1 1000 1000 c_T_inlet file T_inlet.dat
compute T_ghost ghost temp
fix ghost ghost ave/time 1 1000 1000 c_T_ghost file T_ghost.dat
compute T_real real temp
fix real real ave/time 1 1000 1000 c_T_real file T_real.dat
# For inlet temperature control
compute thermal_temp reset temp/partial 0 1 1
compute_modify thermal_temp dynamic/dof yes
# Initial Velocities
velocity integration create 86 12345 dist gaussian mom yes rot yes
fix freeze fixed setforce 0.0 0.0 0.0
# Equilibrate the whole system
fix spring fgm_integration spring/self 2.93
fix equilibrate integration nvt temp 86 86 0.5
run 400000
unfix equilibrate
# Heating
variable Th equal 180
fix temp_elevate ghost langevin ${Th} ${Th} 0.1 498094 # temp raise of copper substrate
fix force_flow force addforce 0.000185 0.0 0.0 # 300fN
fix cold_inlet reset langevin 86 86 0.1 122345 # cold inlet maintaining
fix_modify cold_inlet temp thermal_temp
fix NVE integration nve
dump dump1 all atom 10000 dump_heat_nvt1.equil
run 40000
unfix temp_elevate
unfix cold_inlet
unfix force_flow
unfix NVE
# Data Collection
fix temp_maintain ghost langevin ${Th} ${Th} 0.2 14756
fix force_flow2 force addforce 0.000185 0.0 0.0 # 300fN
fix cold_inlet reset langevin 86 86 0.1 122345 # cold inlet maintaining
fix_modify cold_inlet temp thermal_temp
fix NVE_final integration nve
dump dump2 all atom 10000 dump_final_nvt1.equil
run 800000