Internal Documentation

Documentation for the internals of MNN.jl. These are subject to change.

Contents

Index

Public Interface

MNN.BehaviourType
abstract type Behaviour

Abstract supertype of all behaviours the network can be optimized for. Implemented behaviours:

TODO: Add implemented behaviours here.

source
MNN.HouseType
mutable struct House <: Network

Rough model of a house with a square layout and gravity. The purpose is to model earthquakes and analyse the effects on the "house" and effectiveness of training MNNs for earthquake / vibration protection.

source
MNN.NetworkType
abstract type Network

Abstract supertype of all mechanical neural networks. Implemented networks:

  • MNN.TestNetwork: Network described by Lee et al. (2022) with springs arrangd in equilateral triangles.
  • MNN.House: Rough model of a house with a square layout and gravity.
source
MNN.NeuronType
struct Neuron

Represents a node between springs. Position and velocity are stored in the MNN.Network.

Fields

  • movable::Bool: Is the neuron movable (not fixed to wall)?
source
MNN.SpringType
struct Spring

Represents an edge between neurons.

Fields

  • spring_constant::Float64: The spring constant.
  • length::Float64: The length of the spring at rest; this is constant and can't be changed after creation of the object.
source
MNN.calc_ydistMethod
calc_ydist(xdist)

Calculate necessary distance on y axis to create an equilateral triangle with given distance between columns on x axis.

source