geom.functions.create_geom

Functions

select_case(inp)

Selects the appropriate geometry creation function based on user input.

graphene(inp)

Generates a graphene structure (ribbon, disk, ring, or triangle).

sphere(inp)

Generates a spherical nanoparticle geometry.

sphere_core_shell(inp)

Generates a core-shell sphere structure.

sphere_3d_mesh(inp)

Generates a 3D mesh representation of a sphere using Gmsh in MeshFormat 2.2.

rod(inp)

Generates a cylindrical rod geometry.

rod_core_shell(inp)

Generates a core-shell rod structure.

rod_3d_mesh(inp)

Generates a 3D mesh representation of a rod using Gmsh in MeshFormat 2.2.

tip(inp)

Generates a nanostructured round tip geometry.

pyramid(inp)

Generates a pyramid-shaped geometry with a square base.

pentpyramid(inp)

Generates a pyramid-shaped geometry with a pentagonal base.

bipyramid(inp)

Generates a bipyramid-shaped geometry with a pentagonal base.

pentbipyramid(inp)

Generates a pentagonal bipyramid core-shell geometry.

cone(inp)

Generates a conical geometry.

microscope(inp)

Generates a simulated microscope tip structure with a pyramidal and paraboloidal combination.

icosahedra(inp)

Generates an icosahedral nanoparticle geometry.

cto(inp)

Generates a cuboctahedral nanoparticle geometry.

idh(inp)

Generates a decahedral nanoparticle geometry.

pencil(inp)

Generates a nanopencil nanoparticle geometry.

create_ase_bulk_metal(inp, base_dir)

Creates a temporary bulk metal XYZ file using ASE.

get_layers(inp, lattice_constant)

Dynamically calculates the required number of ASE layers for bulk structures

create_ase_bulk_graphene(inp, base_dir)

Creates a temporary bulk graphene XYZ file using ASE.

Module Contents

geom.functions.create_geom.select_case(inp)[source]

Selects the appropriate geometry creation function based on user input.

Parameters:

inp (input_class) – An instance of the input class containing user-defined parameters.

Returns:

Executes the corresponding geometry generation function.

Return type:

None

geom.functions.create_geom.graphene(inp)[source]

Generates a graphene structure (ribbon, disk, ring, or triangle).

Parameters:

inp (input_class) – An instance containing the input parameters.

Returns:

Saves the generated geometry to a file.

Return type:

None

geom.functions.create_geom.sphere(inp)[source]

Generates a spherical nanoparticle geometry.

Parameters:

inp (input_class) – An instance containing the input parameters.

Returns:

Saves the generated sphere geometry.

Return type:

None

geom.functions.create_geom.sphere_core_shell(inp)[source]

Generates a core-shell sphere structure.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the core-shell structure to a file.

Return type:

None

geom.functions.create_geom.sphere_3d_mesh(inp)[source]

Generates a 3D mesh representation of a sphere using Gmsh in MeshFormat 2.2.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated 3D mesh structure.

Return type:

None

geom.functions.create_geom.rod(inp)[source]

Generates a cylindrical rod geometry.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated rod geometry.

Return type:

None

geom.functions.create_geom.rod_core_shell(inp)[source]

Generates a core-shell rod structure.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated core-shell rod geometry.

Return type:

None

geom.functions.create_geom.rod_3d_mesh(inp)[source]

Generates a 3D mesh representation of a rod using Gmsh in MeshFormat 2.2.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated 3D mesh structure.

Return type:

None

geom.functions.create_geom.tip(inp)[source]

Generates a nanostructured round tip geometry.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated tip geometry.

Return type:

None

geom.functions.create_geom.pyramid(inp)[source]

Generates a pyramid-shaped geometry with a square base.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated pyramid geometry.

Return type:

None

geom.functions.create_geom.pentpyramid(inp)[source]

Generates a pyramid-shaped geometry with a pentagonal base.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated pyramid geometry.

Return type:

None

geom.functions.create_geom.bipyramid(inp)[source]

Generates a bipyramid-shaped geometry with a pentagonal base.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated bipyramidal geometry.

Return type:

None

geom.functions.create_geom.pentbipyramid(inp)[source]

Generates a pentagonal bipyramid core-shell geometry. Core uses the pentpyramid atom-by-atom stacking approach (atomtype_in). Shell is an outer rod, either fullshell or halfshell (atomtype_out).

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated geometry.

Return type:

None

geom.functions.create_geom.cone(inp)[source]

Generates a conical geometry.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated cone geometry.

Return type:

None

geom.functions.create_geom.microscope(inp)[source]

Generates a simulated microscope tip structure with a pyramidal and paraboloidal combination.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated microscope tip geometry.

Return type:

None

geom.functions.create_geom.icosahedra(inp)[source]

Generates an icosahedral nanoparticle geometry.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated icosahedral geometry.

Return type:

None

geom.functions.create_geom.cto(inp)[source]

Generates a cuboctahedral nanoparticle geometry.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated cuboctahedral geometry.

Return type:

None

geom.functions.create_geom.idh(inp)[source]

Generates a decahedral nanoparticle geometry.

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated decahedral geometry.

Return type:

None

geom.functions.create_geom.pencil(inp)[source]

Generates a nanopencil nanoparticle geometry. (Reference of experimental geometries: https://doi.org/10.1002/smll.202302302

Parameters:

inp (input_class) – An instance containing input parameters.

Returns:

Saves the generated decahedral geometry.

Return type:

None

geom.functions.create_geom.create_ase_bulk_metal(inp, base_dir)[source]

Creates a temporary bulk metal XYZ file using ASE.

Parameters:
  • inp (input_class) – An instance containing input parameters.

  • base_dir (str) – Absolute path to the working directory.

Returns:

Saves the generated bulk metal geometry.

Return type:

None

geom.functions.create_geom.get_layers(inp, lattice_constant)[source]

Dynamically calculates the required number of ASE layers for bulk structures based on the structural shape.

Parameters:
  • inp (input_class) – An instance containing input parameters.

  • lattice_constant (float) – Lattice constant of the atomic structure.

Returns:

Number of layers required along the x, y, and z axes.

Return type:

list[int]

geom.functions.create_geom.create_ase_bulk_graphene(inp, base_dir)[source]

Creates a temporary bulk graphene XYZ file using ASE.

Parameters:
  • inp (input_class) – An instance containing input parameters.

  • base_dir (str) – Absolute path to the working directory.

Returns:

Saves the generated bulk graphene geometry.

Return type:

None