code: def forward(self, g):
      d_scaled = g.edata["d"] / self.cutoff
      # Necessary for proper broadcasting behaviour
      d_scaled = torch.unsqueeze(d_scaled, -1)
      d_cutoff = self.envelope(d_scaled)
      g.edata["rbf"] = d_cutoff * torch.sin(self.frequencies * d_scaled)
      return g
  
file_path: dgl/examples/pytorch/dimenet/modules/bessel_basis_layer.py
imports: import numpy
  import torch
  import torch.nn
  from modules.envelope import Envelope
label_desc: Use image node_id 3 for calling the BesselBasisLayer obj's underlying member method code with example usage: obj.forward(g) and returns: g