[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [ESPResSo-users] one question about the virtual sites in integrate.c,
Jiajia Zhou <=