This is the second time to ask this question since nobody answered the first and I really need an answer for this issue!
I'm trying to make a triaxial compression test in two scripts. First, generating particles using insert/stream in a cubic region then unfix all walls and save a restart file. Second, fix new servo walls and apply equal pressure from all walls except the base wall and after reaching the target confining pressure, I only increase the pressure of the upper wall to apply vertical compression on the sample. I use kp = 1, ki = 0, kd = 1e-6.
My problem is the movement of servo walls takes too much time!!!. Here is the output timings:
Pair time (%) = 1877.42 (11.2241)
Neigh time (%) = 0 (0)
Comm time (%) = 10.555 (0.063103)
Outpt time (%) = 0.548146 (0.00327708)
Modfy time (%) = 14834.9 (88.6899)
Other time (%) = 3.27776 (0.019596)
It is obvious that "Modfy time (%)" is consuming much time and I found that this time is mainly consumed on a certain wall (xwall_min_servo) only:
Fix xwall_min_servo mesh/surface/stress/servo time (%) = 14776.9 (88.3436)
Fix xwall_max_servo mesh/surface/stress/servo time (%) = 5.27957 (0.0315638)
Fix ywall_min_servo mesh/surface/stress/servo time (%) = 4.78473 (0.0286054)
Fix ywall_max_servo mesh/surface/stress/servo time (%) = 4.3746 (0.0261534)
Fix zwall_min_servo mesh/surface/stress/servo time (%) = 3.35807 (0.0200761)
Fix zwall_max_servo mesh/surface/stress/servo time (%) = 4.24073 (0.0253531)
So my question is why this certain wall "xwall_min_servo" is taking that much time and how to fix this issue?
Thanks in advance. I really appreciate any help :)
mschramm | Tue, 09/28/2021 - 15:39
input script
Hello,
Are you running in parallel? Could that one wall be right on a processor boundary?
Sherif | Tue, 09/28/2021 - 18:43
I'm using a personal laptop
I'm using a personal laptop with 12 cores and 6 slots.
I used " mpirun (...) -in (...) " to run liggghts but I found that only half the cpu MHz is used since this mpi command depends on the number of slots which are 6.
So after some reading I found that using " mpirun --use-hwthread-cpus (...) -in (...) " makes all the 12 cores work.
I don't have much knowledge about how cpu can run in parallel and all this stuff. So any guide steps will be appreciated.
Thanks a lot mscharm.
Contact: sherif.atif.bdr@cu.edu.eg
mschramm | Tue, 09/28/2021 - 20:32
mpirun == parallel
Hello,
using the mpirun command states that you are running in parallel.
Do you get the same % usage if you only use a single process (run without mpirun)?
Sherif | Thu, 10/07/2021 - 18:40
Thanks matthew!
I was reading more in the last week about parallel processing and trying to optimize my scripts. I'll update this topic with the reason behind that problem.
Thanks a lot for your hint!