Hi,
My name is Aradhya Rajanala, a graduate student in the Goldman Lab of Georgia Tech.
I’m working on a system in which I have a cylinder made of bonded atoms in the shape of a plant root. My goal is to grow this system by using fix adapt to elongate the bonds as a function of length to emulate root growth. It is important that I am able to set the time at which the bonds grow as a function of their index – varying the speed and timing of growth of the bonds is crucial to my research question. At the moment, the simulation runs correctly but prohibitively slowly. With 2000 particles and 7000 bonds, I can run 2*10^8 timesteps in 20-40 minutes (which has already given valuable results), but the range of ~7000 particles and ~22000 bonds this simulation takes dozens of hours to run, tested on several different machines of varying performances.
Currently, I am using a for loop with fix adapt to set the rate of growth. I recognize that this is the major slowdown in the simulation and an inefficient method to set updating bonds (running thousands of fix commands is almost certainly problematic), but I was unable to find a better way to accomplish this.
In short, what I want to do is to be able to set an equation for the bond lengths as a function of the bond type without drastically reducing the simulation speed. For example, is there a way to run a single fix adapt that updates the bond lengths as a function of their index (instead of one fix per bond type)?
I’ve included an simplified version of what I believe is the lines that cause the major slow down below. Happy to provide more details as needed or show visualizations of the outputs for context.
Thank you so much for your help,
Aradhya Rajanala
variable a loop 7360 #number of adapting bonds in the system
label loop
variable size$a equal #some function of a and elaplong here
fix $a all adapt 5000 bond harmonic r0 $a v_size$a reset no
next a
jump SELF loop