AnyLogic
Expand
Font size

Phase 8. Modeling electrodes production from lead rolls

The electrodes used in the battery production are formed from rolls of lead. The lead alloy differs depending on whether the electrode is positive or negative.

During this phase we will use the elements of the  Fluid Library to model the electrodes production from the rolls of lead. With the help of this library you can model storage and transfer of fluids, bulk matter, or large amounts of discrete items, which you don’t want to model as separate objects.

The  FluidToAgent block of this library also provides an opportunity to transit from the modeling of fluids to the modeling of discrete agents.

As usual, we will start with preparing the layout.

Draw the layout

  1. Double-click the  Bulk Conveyor Belt element in the Space Markup section of the  Fluid Library palette to switch to the drawing mode.
  2. In the  Main graphical diagram, draw a section of the bulk conveyor belt in front of the  conveyor according to the layout.
  3. Name it leadMetalConveyor.
  4. In its properties specify the Z: 20.
  5. In the same manner draw another section of the bulk conveyor belt in front of the  BatteryBlock.
  6. Name it leadDioxideMetalConveyor.
  7. In its properties specify the Z: 20.

Add the 3D animation

  1. From the CNC Machines section of the  3D Objects palette, drag the CNC Cutter 3 State 1 3D object to the  Main diagram and place it over the connection between the  leadMetalConveyor and  conveyor.
  2. In the displayed Auto scale 3D object dialog window click No.
  3. In the object’s properties specify the Additional scale50% and Z18.
  4. Hold Ctrl key and drag the object to the second conveyor and place accordingly.

Next, let’s modify the properties of our custom block PrepareElectrode so that it can differentiate between two bulk conveyor belts.

Modify the PrepareElectrode block

  1. Add a  Parameter to the  PrepareElectrode agent.
  2. Name it metalBulkConveyor.
  3. In its properties specify the Type: Other... and in the edit box next to it type BulkConveyorBelt.
  4. Specify the LabelMetal bulk conveyor and in the Control type parameter select Element chooser.
  5. In the properties of the prepareAnode block specify the Metal bulk conveyor:  leadMetalConveyor.
  6. In the properties of the prepareCathode block specify the Metal bulk conveyor:  leadDioxideMetalConveyor.

Now, we have to add the logic behind the metal handling process to our flowchart.

Add the logic

  1. Drag the  FluidSource block from the  Fluid Library palette to the  PrepareElectrode graphical diagram.
  2. Name it metalSource.
  3. In its properties specify the following:
    • Rate: 5 cubic meters / s
    • Mode: Limited amount, call inject() to refill
    • Initial amount: 0.075 cubic meters
    Let’s customize the color of metal batches generated by the source block to make them easily distinguished during the model animation.
  4. Select the Custom batch option in the metalSource block properties.
  5. Among the options that have become visible, select the Custom batch color option and specify any color you like in the Batch color parameter.
    In our reference model we will use the default deepSkyBlue color.

    Now, let’s move on and define how the metal is moved along the line in its fluid state.
  6. Drag the  BulkConveyor block from the  Fluid Library palette and place it after the metalSource block. Make sure the connection is properly established.
  7. Name the new block conveyMetal. In its properties specify the following:
    • Length: 10 meter
    • Speed: 1 meters per second
    • Maximum input rate at speed: 0.0001 cubic meters / s
    • Bulk conveyor belt:  metalBulkConveyor
  8. Drag the  FluidToAgent block from the  Fluid Library palette and place it after the conveyMetal block.
  9. In the new block’s properties specify the Fluid in agent0.0002 cubic meters and the New agent:  Electrode.
  10. Delete the source block from the main flowchart, which describes the processing of electrodes, and replace it with the sequence of blocks you have just created.
  11. Select the text element that represents the agent counter for the PrepareElectrode block and in the Text edit-field change the line of code to this: fluidToAgent.out.count()
    Since we’ve deleted the source block which we queried for the number of electrodes, we have to specify a different block for this query. In our case, this block is fluidToAgent that converts the rolls of lead to electrodes.
    Now, we need to make sure that a new roll of lead will be added to the production line in the specified time. For this purpose we will use the  Event element.
  12. Drag the  Event element from the  Agent palette to the  PrepareElectrode graphical diagram.
  13. Name it addRoll.
  14. In its properties specify the following:
    • Mode: Cyclic
    • First occurrence time: 2 hours
    • Recurrence time: 2 hours
  15. In the Action field type the following line of code: metalSource.inject(0.075).
  16. Run the model and enjoy the completed version!

How can we improve this article?