Exploring How Green Energy Capacity Affects Mine Production with Electric Trucks

Exploring How Green Energy Capacity Affects Mine Production with Electric Trucks

Introduction

Hey everyone! I wanted to share some interesting insights from a simulation I recently conducted. If you're interested in green energy, electric vehicles, or mining operations, this might catch your eye.

The mining industry is steadily moving towards sustainability, and one significant shift is the adoption of electric trucks powered by green energy. But here's the question: How does the efficiency of green energy sources impact the actual production capacity of a mine using these electric trucks?

I decided to explore this by simulating a mining operation powered entirely by green energy assets with varying capacity factors (a measure of how effectively the green energy system operates).

The Simulation

I used Python with the SimPy library to create a simulation that models the following:

  • Electric Trucks: 10 trucks, each capable of carrying 100 units of material per trip.
  • Operation Cycle: Each trip takes 2 hours, and charging the truck takes 1 hour.
  • Green Energy Generation: Dependent on capacity factors ranging from 0.1 to 1.0.
  • Energy Storage: A system with a capacity of 1,000 kWh to store generated energy.
  • Simulation Time: 24 hours, representing one full day of operation.

How It Works

  • Energy Generation: At each time step (hour), energy is generated based on the capacity factor and stored in the energy storage system, up to its capacity limit.
  • Truck Operations: Trucks perform hauling trips and require charging after each trip. They draw energy from the storage system to charge.
  • Energy Availability: If there's not enough energy in storage, trucks have to wait until sufficient energy is generated and stored.

What I Found

After running the simulation across different capacity factors, here's the interesting part:

  • Growth Up to Capacity Factor 0.7: The total material moved increases as the capacity factor increases, up to about 0.7.
  • Plateau Beyond Capacity Factor 0.7: Beyond this point, increasing the capacity factor doesn't boost production.

Why Does This Happen?

  • Maximum Truck Utilisation: At higher capacity factors, the trucks and charging stations are being used at full capacity. The bottleneck becomes the number of trucks and the time it takes to complete trips and charge - not the energy supply.
  • Energy Surplus: Additional energy generated beyond a capacity factor of 0.7 doesn't contribute to increased production because the trucks can't operate any faster or more frequently.

Implications

  • Optimal Investment Point: Investing in green energy assets to achieve a capacity factor higher than 0.7 may not yield significant returns in production capacity.
  • Balanced Approach Needed: To make use of higher capacity factors, mines might need to invest in more trucks or improved charging infrastructure.

Takeaways

  • Efficiency Isn't Everything: There's a limit to how much increased energy availability can impact production if other factors (like the number of trucks) aren't scaled accordingly.
  • Holistic Planning: For mining operations looking to maximise efficiency and sustainability, it's essential to balance energy generation capacity with operational capabilities.

What's Next?

There's a lot more to explore:

  • Variable Green Energy Output: Incorporating fluctuating energy generation to simulate real-world conditions (like changes in sunlight or wind).
  • Operational Adjustments: Testing different numbers of trucks or optimising charging schedules to see how production capacity can be further improved.
  • Economic Analysis: Evaluating the cost-effectiveness of additional investments in green energy versus operational assets.

The Code

For those who are curious, here's the Python code I used to run the simulation:

import simpy
import numpy as np
import matplotlib.pyplot as plt

# Parameters
NUM_TRUCKS = 10             # Number of electric trucks in the mine
TRUCK_CAPACITY = 100        # Load capacity of each truck
TRIP_TIME = 2               # Time taken for one trip (hours)
CHARGE_TIME = 1             # Time taken to fully charge a truck (hours)
SIM_TIME = 24               # Total simulation time (hours)

# Green energy parameters
CAPACITY_FACTOR = np.linspace(0.1, 1.0, 10)  # Range of capacity factors to simulate
ENERGY_STORAGE_CAPACITY = 1000               # Energy storage capacity (kWh)
TRUCK_ENERGY_USAGE = 100                     # Energy used per charge (kWh)
MAX_GENERATION = 500                         # Max green energy generation per hour (kWh)

def energy_system(env, capacity_factor, max_generation, energy_storage):
    while True:
        energy_generated = capacity_factor * max_generation
        available_capacity = energy_storage.capacity - energy_storage.level
        energy_to_store = min(energy_generated, available_capacity)
        if energy_to_store > 0:
            yield energy_storage.put(energy_to_store)
        yield env.timeout(1)

class Truck:
    def __init__(self, env, name, energy_system_resource, energy_storage, trips_completed):
        self.env = env
        self.name = name
        self.energy_system_resource = energy_system_resource
        self.energy_storage = energy_storage
        self.trips_completed = trips_completed
        self.action = env.process(self.run())

    def run(self):
        while True:
            yield self.env.timeout(TRIP_TIME)
            with self.energy_system_resource.request() as req:
                yield req
                yield self.energy_storage.get(TRUCK_ENERGY_USAGE)
                yield self.env.timeout(CHARGE_TIME)
                self.trips_completed.append(1)

production_capacity = []

for cf in CAPACITY_FACTOR:
    env = simpy.Environment()
    energy_system_resource = simpy.Resource(env, capacity=NUM_TRUCKS)
    energy_storage = simpy.Container(env, capacity=ENERGY_STORAGE_CAPACITY, init=0)
    trips_completed = []

    env.process(energy_system(env, cf, MAX_GENERATION, energy_storage))

    for i in range(NUM_TRUCKS):
        Truck(env, f'Truck {i}', energy_system_resource, energy_storage, trips_completed)

    env.run(until=SIM_TIME)

    total_trips = len(trips_completed)
    total_material_moved = total_trips * TRUCK_CAPACITY
    production_capacity.append(total_material_moved)

# Plotting the results
plt.figure(figsize=(10, 6))
plt.plot(CAPACITY_FACTOR, production_capacity, marker='o')
plt.title('Mine Production Capacity vs Green Energy Capacity Factor')
plt.xlabel('Green Energy Capacity Factor')
plt.ylabel('Total Material Moved (units)')
plt.grid(True)
plt.show()        

Simulation Results

Here's a visual representation of the simulation results:


Let's Connect!

I'd love to hear your thoughts:

  • Have you encountered similar challenges in integrating green energy into industrial operations?
  • What strategies have you found effective in balancing energy supply with operational demands?

Feel free to share your experiences or ask questions in the comments.

If you're interested in learning more about simulation in Python or want to dive deeper into how you can build similar models yourself, make sure to grab my free guide to simulation in Python over at teachem.digital. It's a great resource to get you started and learn more about the tools and techniques I used in this project.

要查看或添加评论,请登录

?? Harry Munro ??的更多文章

社区洞察

其他会员也浏览了