espressomd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ESPResSo-users] one question about the virtual sites in integrate.c


From: Jiajia Zhou
Subject: [ESPResSo-users] one question about the virtual sites in integrate.c
Date: Thu, 5 May 2011 22:42:39 +0200

Dear Espresso Users,

I was reading through the source files to learn how the virtual sites
works and one small problem bothers me. In the integrate.c file, at
the 4th step of the vv scheme:

00536     /* Integration Step: Step 4 of Velocity Verlet scheme:
00537        v(t+dt) = v(t+0.5*dt) + 0.5*dt * f(t+dt) */
00538     rescale_forces_propagate_vel();
00539
00540 #ifdef LB
00541   if (lattice_switch & LATTICE_LB) lattice_boltzmann_update();
00542   if (check_runtime_errors()) break;
00543 #endif
00544
00545 #ifdef LB_GPU
00546   if(this_node == 0){
00547         if (lattice_switch & LATTICE_LB_GPU)
lattice_boltzmann_update_gpu();
00548   }
00549 #endif
00550
00551 #ifdef BOND_CONSTRAINT
00552     ghost_communicator(&cell_structure.update_ghost_pos_comm);
00553     correct_vel_shake();
00554 #endif
00555
00556 //VIRTUAL_SITES update vel
00557 #ifdef VIRTUAL_SITES
00558    ghost_communicator(&cell_structure.update_ghost_pos_comm);
00559    update_mol_vel();
00560    if (check_runtime_errors()) break;
00561 #endif
00562
00563 #ifdef ELECTROSTATICS
00564     if(coulomb.method == COULOMB_MAGGS) {
00565       maggs_propagate_B_field(0.5*time_step);
00566     }
00567 #endif
00568
00569 #ifdef ROTATION
00570     convert_torques_propagate_omega();
00571 #endif

If I understand correctly, before this step, the position and the
force are at time step t+dt, but the velocity is at t+0.5dt. This last
step is to update the velocity to t+dt. My question is shouldn't the
convert_torques_propagate_omega() comes before update the virtual
sites? otherwise the velocity of vs is still at t+0.5dt.

Cheers,
Jiajia



reply via email to

[Prev in Thread] Current Thread [Next in Thread]