geom.classes.input_class ======================== .. py:module:: geom.classes.input_class Classes ------- .. autoapisummary:: geom.classes.input_class.input_class Module Contents --------------- .. py:class:: input_class Manages user-defined parameters for geometric transformations and structure generation. This class stores user inputs related to translation, rotation, structure creation, and other transformations for metal nanoparticles and graphene structures. .. attribute:: - Transformation Flags Enable operations such as translation, rotation, mirroring, and structure generation. .. attribute:: - Geometry Files Stores input filenames for molecular structures. .. attribute:: - Translation & Rotation Contains direction, distances, angles, and axis information. .. attribute:: - Structure Generation Flags and parameters for generating different nanostructures. .. attribute:: - Miscellaneous Handles alloy composition, verbosity settings, and file extensions. .. rubric:: Notes - The full list of attributes is initialized in `__init__()`. - Methods validate inputs, read data, and apply transformations. .. py:attribute:: rdkit :value: False .. py:attribute:: rdkit_visualize :value: False .. py:attribute:: rdkit_visualize_2d :value: False .. py:attribute:: rdkit_visualize_3d :value: False .. py:attribute:: rdkit_bw :value: False .. py:attribute:: rdkit_match :value: False .. py:attribute:: rdkit_abbreviations :value: False .. py:attribute:: rdkit_file_conversion :value: False .. py:attribute:: rdkit_opt :value: False .. py:attribute:: rdkit_conformers :value: False .. py:attribute:: stereo_annotations :value: False .. py:attribute:: atom_index :value: False .. py:attribute:: remove_H :value: False .. py:attribute:: check_aromaticity :value: False .. py:attribute:: match_smiles :value: '' .. py:attribute:: rdkit_mol_file :value: '' .. py:attribute:: rdkit_mol_file_extension :value: '' .. py:attribute:: rdkit_force_field :value: '' .. py:attribute:: rdkit_output_file :value: '' .. py:attribute:: rdkit_confs_ext :value: '.pdb' .. py:attribute:: rdkit_max_iters :value: 200 .. py:attribute:: rdkit_confs :value: 50 .. py:attribute:: rdkit_confs_prune_rms :value: 0.3 .. py:attribute:: small_tasks :value: False .. py:attribute:: translate :value: False .. py:attribute:: translate_controlled_distance :value: False .. py:attribute:: translate_1 :value: False .. py:attribute:: translate_center :value: False .. py:attribute:: move_geom_to_000 :value: False .. py:attribute:: move_geom_1_to_000 :value: False .. py:attribute:: move_geom_2_to_000 :value: False .. py:attribute:: distances :value: [] .. py:attribute:: dir_factor :value: [] .. py:attribute:: file_geom2_translated :value: '' .. py:attribute:: distances_input :value: '' .. py:attribute:: geom_file :value: '' .. py:attribute:: geom1_file :value: '' .. py:attribute:: geom2_file :value: '' .. py:attribute:: dir_axis_input :value: '' .. py:attribute:: origin_CM :value: '' .. py:attribute:: origin_CM_1 :value: '' .. py:attribute:: origin_CM_2 :value: '' .. py:attribute:: direction :value: 1.0 .. py:attribute:: dimer_distance :value: 0.0 .. py:attribute:: min_dist :value: False .. py:attribute:: rotate :value: False .. py:attribute:: rotate_angles :value: False .. py:attribute:: rotate_1 :value: False .. py:attribute:: angles :value: [] .. py:attribute:: angles_input :value: '' .. py:attribute:: file_geom_rotated :value: '' .. py:attribute:: angle :value: 0.0 .. py:attribute:: geom_center :value: False .. py:attribute:: geom_specular :value: False .. py:attribute:: create_dimer :value: False .. py:attribute:: create_bowtie :value: False .. py:attribute:: create_geom :value: False .. py:attribute:: create_ase_bulk :value: False .. py:attribute:: gen_3d_mesh :value: False .. py:attribute:: gen_3d_mesh_sphere :value: False .. py:attribute:: gen_3d_mesh_rod :value: False .. py:attribute:: gen_graphene :value: False .. py:attribute:: gen_core_shell :value: False .. py:attribute:: gen_sphere :value: False .. py:attribute:: gen_sphere_core_shell :value: False .. py:attribute:: gen_rod :value: False .. py:attribute:: gen_rod_core_shell :value: False .. py:attribute:: gen_tip :value: False .. py:attribute:: gen_cone :value: False .. py:attribute:: gen_icosahedra :value: False .. py:attribute:: gen_cto :value: False .. py:attribute:: gen_idh :value: False .. py:attribute:: gen_pyramid :value: False .. py:attribute:: gen_pentpyramid :value: False .. py:attribute:: gen_microscope :value: False .. py:attribute:: gen_bipyramid :value: False .. py:attribute:: gen_pencil :value: False .. py:attribute:: gen_pentbipyramid :value: False .. py:attribute:: pentbipyramid_type :value: '' .. py:attribute:: alloy :value: False .. py:attribute:: mesh_size :value: 1.0 .. py:attribute:: alloy_perc :value: 0.0 .. py:attribute:: elliptic_parabola_a :value: 1.0 .. py:attribute:: elliptic_parabola_b :value: 1.0 .. py:attribute:: elliptic_parabola_c :value: 0.0 .. py:attribute:: z_min :value: 0.0 .. py:attribute:: z_max :value: 0.0 .. py:attribute:: z_max_paraboloid :value: 0.0 .. py:attribute:: z_max_pyramid :value: 0.0 .. py:attribute:: rod_length :value: 0.0 .. py:attribute:: rod_length_in :value: 0.0 .. py:attribute:: rod_length_out :value: 0.0 .. py:attribute:: rod_width :value: 0.0 .. py:attribute:: rod_width_in :value: 0.0 .. py:attribute:: rod_width_out :value: 0.0 .. py:attribute:: bipyramid_width :value: 0.0 .. py:attribute:: bipyramid_length :value: 0.0 .. py:attribute:: side_length :value: 0.0 .. py:attribute:: base_width :value: 0.0 .. py:attribute:: radius :value: 0.0 .. py:attribute:: radius_in :value: 0.0 .. py:attribute:: radius_out :value: 0.0 .. py:attribute:: X_length :value: 0.0 .. py:attribute:: Y_length :value: 0.0 .. py:attribute:: sphere_center :value: [0.0, 0.0, 0.0] .. py:attribute:: xyz_output :value: '' .. py:attribute:: mesh_output :value: '' .. py:attribute:: tmp_folder :value: '' .. py:attribute:: alloy_string :value: '' .. py:attribute:: atomtype :value: '' .. py:attribute:: atomtype_in :value: '' .. py:attribute:: atomtype_out :value: '' .. py:attribute:: atomtypes_alloys :value: ['ag', 'au'] .. py:attribute:: atomtypes_core_shell :value: ['ag', 'au'] .. py:attribute:: axes :value: ['x', 'y', 'z'] .. py:attribute:: graphene_structures :value: ['rib', 'disk', 'ring', 'triangle'] .. py:attribute:: graphene_structure :value: '' .. py:attribute:: graphene_edge_types :value: ['armchair', 'zigzag'] .. py:attribute:: graphene_edge_type :value: '' .. py:attribute:: merge :value: False .. py:attribute:: merge_cutoff :value: 0.0 .. py:attribute:: verbose :value: False .. py:attribute:: verbose_inp :value: '' .. py:method:: check_input_case() Validates and checks input requirements for selected operations. :returns: Performs necessary checks and raises errors if conditions are not met. :rtype: None .. rubric:: Notes - Ensures input files exist before processing. - Checks file extensions for validity. - Validates direction axis input. - Ensures selected operations are correctly configured. .. py:method:: read_input(what) Reads an input file containing distances or angles. :param what: Specifies whether to read 'distances' or 'angles'. :type what: str :returns: Populates the respective list attribute (`self.distances` or `self.angles`). :rtype: None :raises RuntimeError: If a blank line or multiple values are found in a single line. .. rubric:: Notes - Reads a file line by line and converts values to floats. - Ensures valid input formatting before processing. .. py:method:: change_trans_sense() Reverses the direction factor for translations. :returns: The modified `input_class` instance with updated `dir_factor`. :rtype: input_class .. rubric:: Notes - Multiplies all direction factors by -1. - Used to invert translation direction dynamically.