Skip to content

Latest commit

 

History

History
37 lines (30 loc) · 1.38 KB

README.md

File metadata and controls

37 lines (30 loc) · 1.38 KB

Dielectric Breakdown Simulator

Compiling the code

The code is compilable using bazel.

The .devcontainer directory creates a docker container that installs bazelisk which is a friendly launcher for Bazel. You can run the same build commands using bazel or bazelisk.

  • Compile everythin:

    bazelisk build src/...
    
  • Run tests

    bazelisk test src:all \
        --test_output=all \
        --cache_test_results=no \
        --nouse_action_cache
    
  • Clean Bazel cache

    bazelisk clean
    

Better code completion and IDE

  • Hedron's Compile Commands Extractor for Bazel: This build rule adds a compile_commands.json file and an external directory to the Bazel workspace directory so that the IDE works better with the dependency recovery.
    bazelisk run @hedron_compile_commands//:refresh_all
    

Class definitions

  • Node class represents a point in space that breakdown has happened.
  • NodeManager class is responsible for creating new nodes as the simulation progresses.
    • This class depends on Node class and RandomPositionGenerator class.
  • RandomPositionGenerator creates random positions for breakdown locations.
  • BreakdownDetector is responsible to detect breakdowns