-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarifying attack/damage rates #223
Comments
drbergman
added a commit
to drbergman/PhysiCell
that referenced
this issue
Apr 12, 2024
Define damage rate as damage/attack. See MathCancer#223.
See #224 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Motivating question
If
cd8
attackstumor
withattack_rate("tumor") = 1.0
and thedamage_rate
forcd8
is1.0
, how much damage do we expect atumor
agent to accumulate per minute as it continuously as a neighboringcd8
cell?Expected answer
If the attack rate is in attack/minute (against a given neighbor) and the damage rate is in damage/attack, the answer is obvious: we expect 1.0 damage/minute. This answer is sensible, predictable, and knowable from only the two numbers above.
What actually happens
The
cd8
attacks in amechanics_dt
(default =0.1 min
) with probabilityprobability = attack_rate("tumor") * mechanics_dt = 1.0 * 0.1 = 0.1
12. This has the desirable effect of initiating an "attack" once per minute, exactly as the attack rate suggests.Then the unexpected happens. Upon successful attack by the
cd8
, thetumor
agent accumulatesdamage_rate * mechanics_dt = 1.0 * 0.1 = 0.1
damage3. The net effect is that thetumor
agent is expected to accumulate0.1
damage per minute from this interaction.Analyzing this more closely, we see the expected damage accumulation in a minute for the
tumor
agent isNotice that$dt$ , the
mechanics_dt
, factors in to how much damage is accumulated by thetumor
agent. In other words, knowing only the attack rate and damage rate is insufficient to predict the damage accumulation rate.Proposed change
Redefine the
damage_rate
to be damage/attack rather than damage/minute. That is, theattack_rate
will be the rate at which the attacking cell type,cd8
above, attacks a given neighbor (possibly modulated byimmunogenicity
1); and thedamage_rate
is the amount of damage dealt to the attacked cell type,tumor
above, given that the attacker attacked.Footnotes
There is also an
immunogenicity
factor I'll ignore here. ↩ ↩2cf. https://github.com/MathCancer/PhysiCell/blob/3d7051f167b6b3551296a4b6d93db742dc532ee6/core/PhysiCell_standard_models.cpp#L1234 ↩
cf. https://github.com/MathCancer/PhysiCell/blob/3d7051f167b6b3551296a4b6d93db742dc532ee6/core/PhysiCell_cell.cpp#L1407 ↩
The text was updated successfully, but these errors were encountered: