pyNanoMatBuilder

📚 Docs and Theory

  • Introduction
  • Polydispersity
    • NanoparticleDistribution class
      • Context
      • Input data

🛠️ API Reference (Technical)

  • Core Crystalline Builder
    • CrystalNPs.py
      • Crystal
        • Crystal.loadExternalCif()
        • Crystal.bulk()
        • Crystal.makeSuperCell()
        • Crystal.makeSphere()
        • Crystal.makeEllipsoid()
        • Crystal.makeWire()
        • Crystal.makeCylinder()
        • Crystal.makeParallelepiped()
        • Crystal.makeWulff()
        • Crystal.makeNP()
        • Crystal.predefinedParameters4WulffShapes()
        • Crystal.prop()
  • Geometric Nanoparticle Shapes
    • platonicNPs.py
      • PlatonicNP
      • regfccOh
        • regfccOh.nAtoms
        • regfccOh.nAtomsPerLayer
        • regfccOh.nAtomsPerEdge
        • regfccOh.interLayerDistance
        • regfccOh.jmolCrystalShape
        • regfccOh.cog
        • regfccOh.imageFile
        • regfccOh.trPlanes
        • regfccOh.nFaces
        • regfccOh.nEdges
        • regfccOh.nVertices
        • regfccOh.edgeLengthF
        • regfccOh.radiusCSF
        • regfccOh.radiusISF
        • regfccOh.radiusMSF
        • regfccOh.dihedralAngle
        • regfccOh.interShellF
        • regfccOh.nAtomsF()
        • regfccOh.nAtomsPerShellAnalytic()
        • regfccOh.nAtomsPerShellCumulativeAnalytic()
        • regfccOh.nAtomsAnalytic()
        • regfccOh.edgeLength()
        • regfccOh.radiusCircumscribedSphere()
        • regfccOh.radiusInscribedSphere()
        • regfccOh.radiusMidSphere()
        • regfccOh.area()
        • regfccOh.volume()
        • regfccOh.MakeVertices()
        • regfccOh.coords()
        • regfccOh.calc_sasview_dims()
        • regfccOh.prop()
      • regIco
        • regIco.nAtoms
        • regIco.nAtomsPerShell
        • regIco.interShellDistance
        • regIco.jmolCrystalShape
        • regIco.imageFile
        • regIco.trPlanes
        • regIco.nFaces
        • regIco.nEdges
        • regIco.nVertices
        • regIco.phi
        • regIco.edgeLengthF
        • regIco.radiusCSF
        • regIco.interShellF
        • regIco.radiusISF
        • regIco.nAtomsF()
        • regIco.nAtomsPerShellAnalytic()
        • regIco.nAtomsPerShellCumulativeAnalytic()
        • regIco.nAtomsAnalytic()
        • regIco.edgeLength()
        • regIco.radiusCircumscribedSphere()
        • regIco.radiusInscribedSphere()
        • regIco.area()
        • regIco.volume()
        • regIco.MakeVertices()
        • regIco.edges_to_planes()
        • regIco.edges_to_planes2()
        • regIco.coords()
        • regIco.prop()
      • regfccTd
        • regfccTd.nAtoms
        • regfccTd.nAtomsPerLayer
        • regfccTd.nAtomsPerEdge
        • regfccTd.jmolCrystalShape
        • regfccTd.cog
        • regfccTd.imageFile
        • regfccTd.trPlanes
        • regfccTd.nFaces
        • regfccTd.nEdges
        • regfccTd.nVertices
        • regfccTd.edgeLengthF
        • regfccTd.heightOfPyramidF
        • regfccTd.radiusCSF
        • regfccTd.radiusISF
        • regfccTd.radiusMSF
        • regfccTd.fveAngle
        • regfccTd.fefAngle
        • regfccTd.vcvAngle
        • regfccTd.nAtomsF()
        • regfccTd.nAtomsPerLayerAnalytic()
        • regfccTd.nAtomsAnalytic()
        • regfccTd.edgeLength()
        • regfccTd.heightOfPyramid()
        • regfccTd.interLayerDistance()
        • regfccTd.radiusCircumscribedSphere()
        • regfccTd.radiusInscribedSphere()
        • regfccTd.radiusMidSphere()
        • regfccTd.area()
        • regfccTd.volume()
        • regfccTd.MakeVertices()
        • regfccTd.coords()
        • regfccTd.prop()
      • regDD
        • regDD.nAtoms
        • regDD.nAtomsPerShell
        • regDD.interShellDistance
        • regDD.jmolCrystalShape
        • regDD.imageFile
        • regDD.trPlanes
        • regDD.nFaces
        • regDD.nEdges
        • regDD.nVertices
        • regDD.phi
        • regDD.edgeLengthF
        • regDD.radiusCSF
        • regDD.interShellF
        • regDD.radiusISF
        • regDD.nAtomsF()
        • regDD.nAtomsPerShellAnalytic()
        • regDD.nAtomsAnalytic()
        • regDD.edgeLength()
        • regDD.radiusCircumscribedSphere()
        • regDD.radiusInscribedSphere()
        • regDD.area()
        • regDD.volume()
        • regDD.MakeVertices()
        • regDD.coords()
        • regDD.prop()
      • cube
        • cube.nAtoms
        • cube.nAtomsPerShell
        • cube.nAtomsPerEdge
        • cube.interLayerDistance
        • cube.jmolCrystalShape
        • cube.cog
        • cube.imageFile
        • cube.trPlanes
        • cube.nFaces
        • cube.nEdges
        • cube.nVertices
        • cube.edgeLengthFfcc
        • cube.edgeLengthFbcc
        • cube.radiusCSF
        • cube.radiusISF
        • cube.nAtomsfccF()
        • cube.nAtomsbccF()
        • cube.nAtomsPerShellAnalytic()
        • cube.nAtomsPerShellCumulativeAnalytic()
        • cube.nAtomsfccAnalytic()
        • cube.nAtomsbccAnalytic()
        • cube.edgeLength()
        • cube.latticeConstant()
        • cube.radiusCircumscribedSphere()
        • cube.radiusInscribedSphere()
        • cube.area()
        • cube.volume()
        • cube.coords()
        • cube.prop()
      • hollow_shapes
        • hollow_shapes.nAtoms
        • hollow_shapes.cog
        • hollow_shapes.create_hollow()
    • archimedeanNPs.py
      • ArchimedeanNP
      • fccCubo
        • fccCubo.nAtoms
        • fccCubo.nAtomsPerShell
        • fccCubo.interShellDistance
        • fccCubo.self.shape
        • fccCubo.self.nAtoms
        • fccCubo.self.nAtomsPerShell
        • fccCubo.self.interShellDistance
        • fccCubo.self.jmolCrystalShape
        • fccCubo.self.imageFile
        • fccCubo.self.trPlanes
        • fccCubo.nFaces
        • fccCubo.nEdges
        • fccCubo.nVertices
        • fccCubo.edgeLengthF
        • fccCubo.radiusCSF
        • fccCubo.interShellF
        • fccCubo.radiusISF
        • fccCubo.nAtomsF()
        • fccCubo.nAtomsPerShellAnalytic()
        • fccCubo.nAtomsPerShellCumulativeAnalytic()
        • fccCubo.nAtomsAnalytic()
        • fccCubo.edgeLength()
        • fccCubo.radiusCircumscribedSphere()
        • fccCubo.radiusInscribedSphere()
        • fccCubo.area()
        • fccCubo.volume()
        • fccCubo.MakeVertices()
        • fccCubo.coords()
        • fccCubo.prop()
      • fccTrTd
        • fccTrTd.self.shape
        • fccTrTd.self.nAtoms
        • fccTrTd.self.cog
        • fccTrTd.self.Tdprop
        • fccTrTd.self.interLayerDistance
        • fccTrTd.self.nAtomsPerEdge
        • fccTrTd.self.jmolCrystalShape
        • fccTrTd.self.imageFile
        • fccTrTd.self.trPlanes
        • fccTrTd.nFaces3
        • fccTrTd.nFaces6
        • fccTrTd.nEdges
        • fccTrTd.nVertices
        • fccTrTd.edgeLengthF
        • fccTrTd.radiusCSF
        • fccTrTd.radiusMSF
        • fccTrTd.cutFromVertexAt
        • fccTrTd.nAtomsF()
        • fccTrTd.nAtomsAnalytic()
        • fccTrTd.edgeLength()
        • fccTrTd.radiusCircumscribedSphere()
        • fccTrTd.radiusMidSphere()
        • fccTrTd.area()
        • fccTrTd.volume()
        • fccTrTd.magicEdgeNumberOfTd2MakeATrTd()
        • fccTrTd.NumberOfTdEdgeAtomsValid4ATrTd()
        • fccTrTd.coords()
        • fccTrTd.prop()
      • fccTrOh
        • fccTrOh.self.Ohprop
        • fccTrOh.self.self.cog
        • fccTrOh.self.nAtoms
        • fccTrOh.self.nAtomsPerEdge
        • fccTrOh.self.interLayerDistance
        • fccTrOh.self.jmolCrystalShape
        • fccTrOh.self.cog
        • fccTrOh.self.imageFile
        • fccTrOh.self.trPlanes
        • fccTrOh.nFaces4
        • fccTrOh.nFaces6
        • fccTrOh.nEdges
        • fccTrOh.nVertices
        • fccTrOh.edgeLengthF
        • fccTrOh.radiusCSF
        • fccTrOh.radiusMSF
        • fccTrOh.radiusISF
        • fccTrOh.cutFromVertexAt
        • fccTrOh.nAtomsF()
        • fccTrOh.nAtomsAnalytic()
        • fccTrOh.edgeLength()
        • fccTrOh.sasview_dims()
        • fccTrOh.octahedron_truncated_volume()
        • fccTrOh.radiusCircumscribedSphere()
        • fccTrOh.radiusMidSphere()
        • fccTrOh.radiusInscribedSphere()
        • fccTrOh.area()
        • fccTrOh.volume()
        • fccTrOh.magicEdgeNumberOfOh2MakeATrOh()
        • fccTrOh.NumberOfOhEdgeAtomsValid4ATrOh()
        • fccTrOh.coords()
        • fccTrOh.prop()
      • fccTrCube
        • fccTrCube.cubeProp
        • fccTrCube.trPlanes
        • fccTrCube.nAtomsPerEdge
        • fccTrCube.cog
        • fccTrCube.nFaces3
        • fccTrCube.nFaces8
        • fccTrCube.nEdges
        • fccTrCube.nVertices
        • fccTrCube.edgeLengthF
        • fccTrCube.radiusCSF
        • fccTrCube.radiusMSF
        • fccTrCube.radiusISF
        • fccTrCube.CornersAt
        • fccTrCube.magic_angle
        • fccTrCube.cutFromVertexAt
        • fccTrCube.NumberOfCubeEdgeAtomsValid4ATrCube()
        • fccTrCube.edgeLength()
        • fccTrCube.prop()
    • catalanNPs.py
      • CatalanNP
      • bccrDD
        • bccrDD.self.shape
        • bccrDD.self.nAtoms
        • bccrDD.self.nAtomsPerShell
        • bccrDD.self.interShellDistance3
        • bccrDD.self.interShellDistance4
        • bccrDD.self.cog
        • bccrDD.self.jmolCrystalShape
        • bccrDD.self.imageFile
        • bccrDD.nFaces
        • bccrDD.nEdges
        • bccrDD.nVertices
        • bccrDD.edgeLengthF
        • bccrDD.radiusCSF3rdOrderV
        • bccrDD.radiusCSF4thOrderV
        • bccrDD.radiusISF
        • bccrDD.radiusMSF
        • bccrDD.interShellF3
        • bccrDD.interShellF4
        • bccrDD.nAtomsF()
        • bccrDD.nAtomsPerShellAnalytic()
        • bccrDD.nAtomsPerShellCumulativeAnalytic()
        • bccrDD.nAtomsAnalytic()
        • bccrDD.edgeLength()
        • bccrDD.radiusCircumscribedSphere3()
        • bccrDD.radiusCircumscribedSphere4()
        • bccrDD.radiusMidSphere()
        • bccrDD.radiusInscribedSphere()
        • bccrDD.area()
        • bccrDD.volume()
        • bccrDD.MakeVertices()
        • bccrDD.coords()
        • bccrDD.prop()
      • fccdrDD
        • fccdrDD.self.shape
        • fccdrDD.self.nAtoms
        • fccdrDD.self.nAtomsPerShell
        • fccdrDD.self.interShellDistance
        • fccdrDD.self.jmolCrystalShape
        • fccdrDD.self.cog
        • fccdrDD.self.imageFile
        • fccdrDD.nFaces
        • fccdrDD.nEdges
        • fccdrDD.nVertices
        • fccdrDD.edgeLengthF
        • fccdrDD.radiusCSF
        • fccdrDD.radiusCSFTB
        • fccdrDD.interShellF
        • fccdrDD.interShellFTB
        • fccdrDD.nAtomsF()
        • fccdrDD.nAtomsPerShellAnalytic()
        • fccdrDD.nAtomsPerShellCumulativeAnalytic()
        • fccdrDD.nAtomsAnalytic()
        • fccdrDD.edgeLength()
        • fccdrDD.area()
        • fccdrDD.volume()
        • fccdrDD.MakeVertices()
        • fccdrDD.coords()
        • fccdrDD.prop()
    • johnsonNPs.py
      • JohnsonNP
      • fcctbp
        • fcctbp.nAtoms
        • fcctbp.nAtomsPerLayer
        • fcctbp.nAtomsPerEdge
        • fcctbp.interLayerDistance
        • fcctbp.fveAngle
        • fcctbp.fefAngle
        • fcctbp.vcvAngle
        • fcctbp.heightOfBiPyramid
        • fcctbp.imageFile
        • fcctbp.cog
        • fcctbp.trPlanes
        • fcctbp.nFaces
        • fcctbp.nEdges
        • fcctbp.nVertices
        • fcctbp.edgeLengthF
        • fcctbp.heightOfPyramidF
        • fcctbp.heightOfBiPyramidF
        • fcctbp.edgeLength()
        • fcctbp.coords()
        • fcctbp.prop()
      • epbpyM
        • epbpyM.element
        • epbpyM.shape
        • epbpyM.Rnn
        • epbpyM.sizeP
        • epbpyM.sizeE
        • epbpyM.Marks
        • epbpyM.nAtoms
        • epbpyM.nAtomsPerPentagonalCap
        • epbpyM.nAtomsPerElongatedPart
        • epbpyM.nAtomsPerEdgeOfPC
        • epbpyM.nAtomsPerEdgeOfEP
        • epbpyM.jmolCrystalShape
        • epbpyM.cog
        • epbpyM.interCompactPlanesDistance
        • epbpyM.imageFile
        • epbpyM.nFaces3
        • epbpyM.nFaces4
        • epbpyM.nEdgesPbpy
        • epbpyM.nEdgesEpbpy
        • epbpyM.nVerticesPbpy
        • epbpyM.nVerticesEpbpy
        • epbpyM.phi
        • epbpyM.edgeLengthF
        • epbpyM.heightOfPyramidF
        • epbpyM.interCompactPlanesF
        • epbpyM.magicFactorF
        • epbpyM.edgeLength()
        • epbpyM.nAtomsPerEdgeOfPC_after_truncation()
        • epbpyM.edgeLength_after_truncation()
        • epbpyM.area()
        • epbpyM.volume()
        • epbpyM.heightOfPyramid()
        • epbpyM.MakeVertices()
        • epbpyM.truncationPlaneTuples4MarksDecahedron()
        • epbpyM.coords()
        • epbpyM.prop()
      • eOhM
        • eOhM.interCompactPlanesF_100
        • eOhM.coords()
    • otherNPs.py
      • fcctpt
        • fcctpt.nFaces
        • fcctpt.nEdges
        • fcctpt.nVertices
        • fcctpt.edgeLengthF
        • fcctpt.element
        • fcctpt.shape
        • fcctpt.Rnn
        • fcctpt.nLayerTd
        • fcctpt.nLayer
        • fcctpt.nAtoms
        • fcctpt.interLayerDistance
        • fcctpt.nAtomsPerEdge
        • fcctpt.cog
        • fcctpt.dim
        • fcctpt.jmolCrystalShape
        • fcctpt.imageFile
        • fcctpt.nFaces
        • fcctpt.nEdges
        • fcctpt.nVertices
        • fcctpt.edgeLengthF
        • fcctpt.edgeLength()
        • fcctpt.coords()
        • fcctpt.prop()
  • Utilities (utils/)
    • core functions (core.py)
      • fg
        • fg.PURPLE
        • fg.CYAN
        • fg.DARKCYAN
        • fg.BLUE
        • fg.GREEN
        • fg.YELLOW
        • fg.RED
        • fg.LIGHTGRAY
        • fg.DARKGRAY
        • fg.BLACK
        • fg.WHITE
        • fg.OFF
      • hl
        • hl.BLINK
        • hl.blink
        • hl.BOLD
        • hl.bold
        • hl.UNDERL
        • hl.underl
        • hl.ITALIC
        • hl.italic
        • hl.OFF
      • bg
        • bg.DARKRED
        • bg.DARKREDB
        • bg.LIGHTRED
        • bg.LIGHTREDB
        • bg.LIGHTYELLOW
        • bg.LIGHTYELLOWB
        • bg.LIGHTGREEN
        • bg.LIGHTGREENB
        • bg.LIGHTBLUE
        • bg.LIGHTBLUEB
        • bg.OFF
      • color
        • color.PURPLE
        • color.CYAN
        • color.DARKCYAN
        • color.BLUE
        • color.GREEN
        • color.YELLOW
        • color.RED
        • color.LIGHTGRAY
        • color.DARKGRAY
        • color.BLACK
        • color.WHITE
        • color.BOLD
        • color.OFF
      • pyNMB_location()
      • get_resource_path()
      • timer
        • timer.hdelay_ms()
        • timer.chrono_start()
        • timer.chrono_stop()
        • timer.chrono_show()
      • RAB()
      • Rbetween2Points()
      • vector()
      • vectorBetween2Points()
      • coord2xyz()
      • vertex()
      • vertexScaled()
      • RadiusSphereAfterV()
      • centerOfGravity()
      • center2cog()
      • normOfV()
      • normV()
      • AngleBetweenVV()
      • signedAngleBetweenVV()
      • centerToVertices()
      • Rx()
      • Ry()
      • Rz()
      • EulerRotationMatrix()
      • plotPalette()
      • rgb2hex()
      • clone()
      • deleteElementsOfAList()
      • centerTitle()
      • centertxt()
      • planeFittingLSF()
      • faces_to_planes()
    • Geometry Tools (geometry.py)
      • MakeFaceCoord()
      • reduceHullFacets()
      • RotationMol()
      • EulerRotationMol()
      • RotationMatrixFromAxisAngle()
      • rotationMolAroundAxis()
      • rotation_around_axis_through_point()
      • reflection()
      • reflection_with_face_update()
      • helical_assembly()
      • reflection_tetra()
      • remove_duplicate_atoms()
      • planeRotation()
      • alignV1WithV2_returnR()
      • rotateMoltoAlignItWithAxis()
      • setdAsNegative()
      • returnPlaneParallel2Line()
      • normal2MillerPlane()
      • isPlaneParrallel2Line()
      • isPlaneOrthogonal2Line()
      • areDirectionsOrthogonal()
      • areDirectionsParallel()
      • shortestPoint2PlaneVectorDistance()
      • Pt2planeSignedDistance()
      • planeAtVertices()
      • planeAtPoint()
      • normalizePlane()
      • point2PlaneDistance()
      • calculateTruncationPlanesFromVertices()
      • truncateAboveEachPlane()
      • truncateAbovePlanes()
      • returnPointsThatLieInPlanes()
      • coreSurface()
      • peel_by_coordination()
      • peel_by_shifted_ellipsoid()
      • plot_npr_triangle()
      • applyTwist()
    • Crystal & Wulff Utilities (crystals.py)
      • print_ase_unitcell()
      • scaleUnitCell()
      • FindInterAtomicDist()
      • convertuvwh2hkld()
      • hklPlaneFitting()
      • interPlanarSpacing()
      • lattice_cart()
      • G()
      • Gstar()
      • spacegroup_to_bravais()
      • crystallographic_angle()
      • generateSlab()
    • I/O (io.py)
      • returnUnitcellData()
      • listCifsOfTheDatabase()
      • get_crystal_type()
      • extract_cif_info()
      • load_cif()
      • ciflist()
      • write()
      • writexyz()
      • create_data_csv()
      • imageNameWithPathway()
      • plotImageInPropFunction()
      • createDir()
    • Energy (energy.py)
      • full_diagnosticsEMT()
      • optimizeEMT()
      • optimize()
    • Properties (prop.py)
      • calculateCN()
      • delAtomsWithCN()
      • findNeighbours()
      • printNeighbours()
      • kDTreeCN()
      • magicNumbers()
      • rdf()
      • compute_moi()
      • get_moments_of_inertia_for_size()
      • moi_size()
      • calculate_rg()
      • calculate_npr()
      • Inscribed_circumscribed_spheres()
      • get_ellipsoid_analysis()
      • propPostMake()
        • moi
        • moisize
        • vertices
        • simplices
        • neighbors
        • equations
        • NPcs
        • NP
        • sasview_dims
        • NPR
        • Rg
      • compute_opd_index()
    • External programs (external_pgm.py)
      • check_jmol()
      • saveCoords_DrawJmol()
      • defCrystalShapeForJMol()
      • saveCN4JMol()
      • DrawJmol()
      • defHelixShapeForJMol()
      • defSlabShapeForJMol()
  • Visualization (visualID.py)
    • apply_css_style()
    • display_md()
    • hdelay()
    • hdelay_ms()
    • init()
    • end()
pyNanoMatBuilder
  • Search


© Copyright 2026, Sara Mokhtari, Romuald Poteau.

Built with Sphinx using a theme provided by Read the Docs.