#include <Orbital.h>
Public Methods | |
Orbital (const float *atompos, const float *wave_function, const float *basis, const basis_atom_t *bset, const int *types, const int *atom_sort, const int *atom_basis, const float **norm_factors, const int *num_shells_per_atom, const int *num_prim_per_shell, const int *orbital_symmetry, int numatoms, int numtypes, int num_wave_f, int num_basis_funcs, int orbid) | |
constructor. More... | |
~Orbital (void) | |
destructor. More... | |
int | total_shells () |
int | num_types (void) |
int | max_primitives (void) |
Return the max number of primitives that occur in a basis function. More... | |
int | max_shell_type (void) |
Return maximum shell type contained in the orbital. More... | |
int | max_wave_f_count (void) |
Count the max number of wave_f accesses for the shell types contained in this orbital. More... | |
const float * | get_origin () |
Get the grid origin. More... | |
const float * | get_gridsize () |
Get the side lengths of the grid in Angstrom. More... | |
const int * | get_numvoxels () |
Get the number of voxels in each dimension. More... | |
void | get_grid_axes (float xaxis[3], float yaxis[3], float zaxis[3]) |
Get the axes of the volumetric grid as defined in volumetric_t. More... | |
float | get_resolution () |
Get the grid resolution, i.e. the side length of a voxel. More... | |
void | set_grid (float newori[3], float newdim[3], float voxelsize) |
Set the grid size and resolution The given grid dimensions will be rounded to a multiple of the voxel size. More... | |
void | set_resolution (float voxelsize) |
Change the resolution of the grid. More... | |
float * | get_grid_data () |
Get a pointer to the raw volumetric data. More... | |
int | set_grid_to_bbox (const float *pos, float padding, float resolution) |
Sets the grid dimensions to the bounding box of the given set of atoms *pos including a padding in all dimensions. The resulting grid dimensions will be rounded to a multiple of the voxel size. More... | |
void | find_optimal_grid (float threshold, int minstepsize, int maxstepsize) |
Optimize position and dimension of current grid so that all orbital values higher than threshold are contained in the grid. More... | |
int | check_plane (int w, float threshold, int minstepsize, int &stepsize) |
Check if all values in the boundary plane given by dir are below threshold. If not, jump back, decrease the stepsize and test again. Helper function for find_optimal_grid(). More... | |
void | normalize_wavefunction (const float *wfn) |
Multiply wavefunction coefficients with the basis set normalization factors. More... | |
int | calculate_mo (DrawMolecule *mol, int density) |
Compute the volumetric data for the orbital. More... | |
float | evaluate_grid_point (float grid_x, float grid_y, float grid_z) |
Compute the volumetric data for given point in space. More... | |
double | flops_per_gridpoint () |
Compute total FLOPS executed for a single gridpoint. More... | |
void | print_wavefunction () |
Definition at line 31 of file Orbital.h.
|
constructor.
Definition at line 167 of file Orbital.C. References normalize_wavefunction, and NULL. |
|
destructor.
|
|
Compute the volumetric data for the orbital.
Definition at line 501 of file Orbital.C. References DrawMolecule::app, CPU_AVX2, CPU_AVX512ER, CPU_AVX512F, DrawMolecule::cpu_threadpool, VMDApp::cpucaps, DrawMolecule::cuda_devpool, evaluate_grid_fast, wkf_cpu_caps_struct::flags, flops_per_gridpoint, G_SHELL, max_primitives, max_shell_type, NULL, PROFILE_POP_RANGE, PROFILE_PUSH_RANGE, total_shells, VECPADMASK, vmd_cl_get_platform_index, vmd_cuda_evaluate_orbital_grid, vmd_opencl_create_orbital_handle, vmd_opencl_destroy_orbital_handle, vmd_opencl_evaluate_orbital_grid, VMDORBUSETHRPOOL, wkf_thread_numprocessors, wkf_timer_create, wkf_timer_destroy, wkf_timer_start, wkf_timer_stop, wkf_timer_time, and wkf_timerhandle. |
|
Check if all values in the boundary plane given by dir are below threshold. If not, jump back, decrease the stepsize and test again. Helper function for find_optimal_grid().
Definition at line 335 of file Orbital.C. References threshold. Referenced by find_optimal_grid. |
|
Compute the volumetric data for given point in space.
Definition at line 718 of file Orbital.C. References ANGS_TO_BOHR. Referenced by evaluate_grid_sve. |
|
Optimize position and dimension of current grid so that all orbital values higher than threshold are contained in the grid.
Definition at line 439 of file Orbital.C. References check_plane, threshold, XNEG, XPOS, YNEG, YPOS, ZNEG, and ZPOS. |
|
Compute total FLOPS executed for a single gridpoint.
Definition at line 854 of file Orbital.C. References D_SHELL, F_SHELL, G_SHELL, P_SHELL, and S_SHELL. Referenced by calculate_mo. |
|
Get the axes of the volumetric grid as defined in volumetric_t.
|
|
Get a pointer to the raw volumetric data.
|
|
Get the side lengths of the grid in Angstrom.
|
|
Get the number of voxels in each dimension.
|
|
Get the grid origin.
|
|
Get the grid resolution, i.e. the side length of a voxel.
|
|
Return the max number of primitives that occur in a basis function.
Definition at line 786 of file Orbital.C. Referenced by calculate_mo. |
|
Return maximum shell type contained in the orbital.
Definition at line 805 of file Orbital.C. Referenced by calculate_mo. |
|
Count the max number of wave_f accesses for the shell types contained in this orbital.
|
|
Multiply wavefunction coefficients with the basis set normalization factors.
Definition at line 220 of file Orbital.C. References shell_t::num_cart_func, basis_atom_t::numshells, basis_atom_t::shell, and shell_t::type. Referenced by Orbital. |
|
|
|
Definition at line 2173 of file Orbital.C. References basis_atom_t::shell, and shell_t::type. |
|
Set the grid size and resolution The given grid dimensions will be rounded to a multiple of the voxel size.
Definition at line 305 of file Orbital.C. References set_resolution. |
|
Sets the grid dimensions to the bounding box of the given set of atoms *pos including a padding in all dimensions. The resulting grid dimensions will be rounded to a multiple of the voxel size.
Definition at line 264 of file Orbital.C. References set_resolution. |
|
Change the resolution of the grid.
Definition at line 316 of file Orbital.C. Referenced by set_grid, and set_grid_to_bbox. |
|
Definition at line 97 of file Orbital.h. Referenced by calculate_mo. |