pytwinnet.core

class pytwinnet.core.DigitalTwin(network=<factory>, environment=None, propagation_model=None)[source]

Bases: object

Parameters:
environment: Optional[Environment] = None
network: Network
propagation_model: Optional[PropagationModel] = None
set_environment(env)[source]
Return type:

None

Parameters:

env (Environment)

set_propagation_model(model)[source]
Return type:

None

Parameters:

model (PropagationModel)

snapshot()[source]
Return type:

DigitalTwin

class pytwinnet.core.Network(nodes=<factory>)[source]

Bases: object

Parameters:

nodes (Dict[str, WirelessNode])

add_node(node)[source]
Return type:

None

Parameters:

node (WirelessNode)

get_node_by_id(node_id)[source]
Return type:

Optional[WirelessNode]

Parameters:

node_id (str)

list_nodes()[source]
Return type:

List[WirelessNode]

nodes: Dict[str, WirelessNode]
remove_node(node_id)[source]
Return type:

None

Parameters:

node_id (str)

class pytwinnet.core.TransceiverProperties(transmit_power_dbm=20.0, antenna_gain_dbi=0.0, carrier_frequency_hz=2400000000.0, additional=<factory>)[source]

Bases: object

Parameters:
additional: Dict[str, Any]
antenna_gain_dbi: float = 0.0
carrier_frequency_hz: float = 2400000000.0
transmit_power_dbm: float = 20.0
class pytwinnet.core.WirelessNode(node_id, position=(0.0, 0.0, 0.0), transceiver_properties=<factory>, mobility_model=None, metadata=<factory>)[source]

Bases: object

Parameters:
metadata: Dict[str, Any]
mobility_model: Optional[object] = None
move_to(new_position)[source]
Return type:

None

Parameters:

new_position (Tuple[float, float, float])

node_id: str
position: Tuple[float, float, float] = (0.0, 0.0, 0.0)
transceiver_properties: TransceiverProperties
update_mobility(timestamp)[source]
Return type:

None

Parameters:

timestamp (float)

pytwinnet.core.list_gnbs(network)[source]
Return type:

List[str]

Parameters:

network (Network)

Modules

digital_twin

network

node

transceiver

Compatibility for older examples: Transceiver -> TransceiverProperties.

utils