First
This commit is contained in:
17
archive/source/sim_agents/config.py
Normal file
17
archive/source/sim_agents/config.py
Normal file
@@ -0,0 +1,17 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
E.Drake - ENGN-2220
|
||||
|
||||
Thu Jan 22 23:48:50 2026
|
||||
"""
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).parent.parent.parent
|
||||
SOURCE_DIR = ROOT/"source"
|
||||
ARCHIVE_DIR = ROOT/"archive"
|
||||
PATH_DIR = ROOT/"path"
|
||||
AGENTS_DIR = ROOT/SOURCE_DIR/"sim_agents"
|
||||
GEO_DIR = ROOT/SOURCE_DIR/"sim_geometry"
|
||||
TEST_DIR = ROOT/SOURCE_DIR/"test"
|
||||
|
||||
|
||||
72
archive/source/sim_agents/traits.py
Normal file
72
archive/source/sim_agents/traits.py
Normal file
@@ -0,0 +1,72 @@
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
from dataclasses import dataclass
|
||||
|
||||
|
||||
grades = {
|
||||
"Kindergarden":np.array(
|
||||
[31.43,5.65,1.21,0.24]
|
||||
),
|
||||
"Grade 1":np.array(
|
||||
[32.57,6.27,1.35,0.26]
|
||||
),
|
||||
"Grade 2":np.array(
|
||||
[34.43,6.80,1.42,0.28]
|
||||
),
|
||||
"Grade 3":np.array(
|
||||
[35.43,5.19,1.48,0.23]
|
||||
),
|
||||
"Grade 4":np.array(
|
||||
[34.86,6.77,1.58,0.26]
|
||||
),
|
||||
"Grade 5":np.array(
|
||||
[36.71,7.09,1.59,0.24]
|
||||
),
|
||||
"Grade 6":np.array(
|
||||
[37.71,6.99,1.65,0.24]
|
||||
),
|
||||
"Grade 7":np.array(
|
||||
[40.43,6.02,1.61,0.25]
|
||||
),
|
||||
"Grade 8":np.array(
|
||||
[40.43,5.50,1.66,0.24]
|
||||
),
|
||||
"Grade 9":np.array(
|
||||
[44.14,4.85,1.60,0.24]
|
||||
),
|
||||
"Grade 10":np.array(
|
||||
[46.29,6.29,1.57,0.23]
|
||||
),
|
||||
"Grade 11":np.array(
|
||||
[48.29,3.30,1.51,0.22]
|
||||
),
|
||||
"Grade 12":np.array(
|
||||
[43.71,6.02,1.54,0.23]
|
||||
)}
|
||||
|
||||
df_srs_data=pd.DataFrame({
|
||||
"Grade Level":(
|
||||
list(grades.keys())),
|
||||
"Pop Mean":[
|
||||
grades[j][0] for j in grades],
|
||||
"Pop Std Dev":[
|
||||
grades[j][1] for j in grades],
|
||||
"Speed Mean":[
|
||||
grades[j][2] for j in grades],
|
||||
"Speed Std Dev":[
|
||||
grades[j][3] for j in grades]})
|
||||
|
||||
@dataclass
|
||||
class AgentConfig:
|
||||
id:int
|
||||
grade:str
|
||||
door:str
|
||||
speed:float
|
||||
radius:float
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
91
archive/source/sim_agents/traits_current.py
Normal file
91
archive/source/sim_agents/traits_current.py
Normal file
@@ -0,0 +1,91 @@
|
||||
import numpy as np
|
||||
from dataclasses import dataclass
|
||||
from typing import List, Dict, Optional
|
||||
from collections import defaultdict
|
||||
|
||||
##https://censusatschool.ca/data-results/2017-2018/average-height-by-age/
|
||||
@dataclass
|
||||
class AgentConfig:
|
||||
id:int
|
||||
grade:str
|
||||
door:int
|
||||
speed:float
|
||||
radius:float
|
||||
|
||||
def agent_params():
|
||||
gr_data = {
|
||||
# [0]: number of students
|
||||
# [1]: door number
|
||||
# [2]: speed mean
|
||||
# [3]: speed standard deviation
|
||||
# [4]: radius mean
|
||||
"Kindergarden":np.array(
|
||||
[34,0,1.21,0.24,0.407]
|
||||
),
|
||||
"Grade 1":np.array(
|
||||
[26,0,1.35,0.26,0.407]
|
||||
),
|
||||
"Grade 2":np.array(
|
||||
[42,0,1.42,0.28,0.407]
|
||||
),
|
||||
"Grade 3":np.array(
|
||||
[39,0,1.48,0.23,0.407]
|
||||
),
|
||||
"Grade 4":np.array(
|
||||
[30,1,1.58,0.26,0.417]
|
||||
),
|
||||
"Grade 5":np.array(
|
||||
[43,1,1.59,0.24,0.434]
|
||||
),
|
||||
"Grade 6":np.array(
|
||||
[29,1,1.65,0.24,0.454]
|
||||
),
|
||||
"Grade 7":np.array(
|
||||
[45,2,1.61,0.25,0.471]
|
||||
),
|
||||
"Grade 8":np.array(
|
||||
[36,2,1.66,0.24,0.488]
|
||||
),
|
||||
"Grade 9":np.array(
|
||||
[44,2,1.60,0.24,0.500]
|
||||
),
|
||||
"Grade 10":np.array(
|
||||
[36,2,1.57,0.23,0.507]
|
||||
),
|
||||
"Grade 11":np.array(
|
||||
[54,2,1.51,0.22,0.515]
|
||||
),
|
||||
"Grade 12":np.array(
|
||||
[46,2,1.54,0.23,0.520]
|
||||
)}
|
||||
agent_id = 1
|
||||
rng = np.random.default_rng(seed=42)
|
||||
all_agents = []
|
||||
gr_agents = []
|
||||
for grade in gr_data:
|
||||
for num in range(int(gr_data[grade][0])):
|
||||
door = gr_data[grade][1]
|
||||
speed = rng.normal(
|
||||
loc=gr_data[grade][2],
|
||||
scale=gr_data[grade][3],
|
||||
size=1)
|
||||
radius = gr_data[grade][4]
|
||||
gr_agents.append(
|
||||
AgentConfig(
|
||||
id=agent_id,
|
||||
grade=grade,
|
||||
door=door,
|
||||
speed=speed,
|
||||
radius = radius
|
||||
))
|
||||
agent_id += 1
|
||||
all_agents.append(gr_agents)
|
||||
gr_agents = []
|
||||
#for grade in all_agents:
|
||||
# for agent in grade:
|
||||
# print(agent)
|
||||
return all_agents
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user