Skip to content
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

Inertial model #40

Merged
merged 19 commits into from
Apr 22, 2024
Merged

Inertial model #40

merged 19 commits into from
Apr 22, 2024

Conversation

MSallermann
Copy link
Member

An inertial version of the activity driven model.

amritagos and others added 19 commits March 23, 2024 13:48
The InertialAgent has a velocity also.

Co-authored-by: Moritz Sallermann <[email protected]>
We need to implement a velocity Verlet algorithm for iteration(), in the
inertial model. However, many functions are not needed in the
ActivityDrivenModel. Therefore, we are considering inheritance of the
abstract class instead

Co-authored-by: Moritz Sallermann <[email protected]>
We have not yet implemented the InertialModel specific behaviour, but
now InertialModel inherits from ActivityDrivenModelAbstract base class.

Co-authored-by: Moritz Sallermann <[email protected]>
We changed the definition of get_euler_slopes. Now the timestep is
multiplied in the update rule. This enables us to re-use
get_euler_slopes in the InertialModel.

Co-authored-by: Moritz Sallermann <[email protected]>
Implemented a Velocity Verlet algorithm for the Inertial model.

Co-authored-by: Moritz Sallermann <[email protected]>
We have implemented the Inertial model (more specifically the activity driven inertial model). The example added runs and produces output. TODO: unit test the shit of this!

Co-authored-by: Moritz Sallermann <[email protected]>
We have implemented a unit test with 1 agent and 1 bot for the activity
driven inertial model

Co-authored-by: Moritz Sallermann <[email protected]>
We removed a superfluous `using WeightT = typename Network::WeightT;`.
These are present at the top of the class

Co-authored-by: Moritz Sallermann <[email protected]>
Test is a generous word, as we actually just write out some results and
see if it crashes. But we plotted the histograms vs the expected pdf
in python and they match. It's hard to quantify this in a unit test.
Added the probability density functions to the truncated gaussian
and the power law distribution. Also renamed the cumulative distribution
functions to cdf.

Co-authored-by: Amrita Goswami <[email protected]>
Fixed issues with bivariate_gaussian_copula, due to previous renaming of
cdf. Also put it into the same unit test and plotted the histograms.

Co-authored-by: Amrita Goswami <[email protected]>
Use the copula to generate correlated activities and reluctances.

Co-authored-by: Amrita Goswami <[email protected]>
Bivariate gaussian copula for reluctances and activities
Co-authored-by: Moritz Sallermann <[email protected]>
The multi-dimensional DeffuantVector model has a different AgentT
from the regular Deffuant model. Therefore, the model and simulation
have to be built with the DeffuantVector agent. This requires some
repititive logic in main.cpp.
Also fixed a small typo in the TOML input file for the DeffuantVector
model example.
@MSallermann MSallermann merged commit 0eb8031 into main Apr 22, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants