QMol_TDCI_abs_mask_space - fmauger1/QMol-grid GitHub Wiki

QMol_TDCI_abs_mask_space

Mask type damping matrix for TDCI calculations built from the spatial extension of configuration states.

Description

Use QMol_TDCI_abs_mask_space to build mask damping matrix for TDCI calculations based on the spatial overlap between the CI molecular-orbital basis and a spatial mask. The overlap mask is characterized by (i) the distance from the origin at which it starts, (ii) its width, and (iii) its shape.

After each time step in the TDCI propagation, the CI wave function is multiplied by the damping matrix.

Class properties

Mask function

The QMol_TDCI_abs_mask_space class defines the following public get-access properties; each can be changed using the set method:

length (L)

Length of the mask [ positive scalar (default 10) | positive vector [lengthLeft lengthRight] ]

  • Scalar length defines a mask with the same length on both sides of the discretization domain.
  • length = [lengthLeft, lengthRight] independently specifies the CAP length on each side of the domain.
  • Note: Unlike for TDSE and TDDFT, the mask is defined outward from the position $x=0$ of the Configuration interaction model discretization domain, one should therefore budget for this.

distance (D)

Distance from the origin for the beginning of the mask [ positive scalar | positive vector [distLeft distRight] | (default []) ]

  • Scalar distance defines a mask starting at the same distance from both sides of $x=0$ .
  • distance = [distLeft, distRight] independently specifies the starting distance for the mask on each side of $x=0$ .

shape

Shape of the CAP mask [ 'sin^1/8' (default) | 'sin' | 'sin^2' | function handle ]

  • 'sin^1/8' uses a $\sin^{1/8}$ -shaped CAP mask.
  • 'sin' uses a $\sin$ -shaped CAP mask.
  • 'sin^2' uses a $\sin^2$ -shaped CAP mask.
  • A function handle enables user-defined mask, with the signature @(x) fun(x), where fun(0)=1 and fun(1)=0 return the values for the mask at the beginning and end of the absorbing domain, respectively (the absorbing domain on either side of $x=0$ are linearly mapped to the segment [0 1] when calling the CAP function). fun must be real valued and positive; the sign and complex coefficients are internally handeled by the QMol-grid package. The damping strength should be set between 0 and 1, with 0 corresponding to full damping and 1 to no damping.

Other properties

These properties cannot be edited with the set method.

isInitialized (isInit)

Whether the absorbing-boundary mask object is properly initialized. This is used throughout the QMol-grid package to check that the absorber object holds meaningful information and is ready for use.

Class methods

Creation

constructor

Create an absorbing-boundary mask object with empty class properties.

obj = QMol_TDCI_abs_mask_space;

Create an absorbing-boundary mask object with the name properties set to the specified value. Several name-value pairs can be specified consecutively. Suitable name is any of the mask function properties and is case insensitive.

obj = QMol_TDCI_abs_mask_space(name1,value1);
obj = QMol_TDCI_abs_mask_space(name1,value1,name2,value2,___);

Changing class properties

set

Update the name properties of an absorbing-boundary mask object to the specified value. Several name-value pairs can be specified consecutively. Suitable name is any of the mask function properties and is case insensitive.

obj.set(name1,value1);
obj.set(name1,value1,name2,value2,___);

This is the common name-value pair assignment method used throughout the QMol-grid package. The set method also reset the class. After running, the set property updates the isInitialized flag to a false value.

reset

Reset the object by deleting/re-initializing all run-time properties of the class and updating the isInitialized flag to false.

obj.reset;
  • This is the common reset method available to all classes throughout the QMol-grid package.

clear

Clear all class properties.

obj.clear;

Clear a specific set of the class properties. Suitable name is any of the mask function properties and is case insensitive.

obj.clear(name1,name2,___);

This is the common clear method available to all classes throughout the QMol-grid package. The clear method also reset the class. The clear method can be used to delete specific properties before saving an instance of the QMol_TDCI_abs_mask_space class.

Initializing the object

initialize

Initialize a QMol_TDCI_abs_mask_space object and set the isInitialized flag to true.

obj.initialize(CI);

Using the mask damping matrix

getDampingMatrix

Get the mask damping matrix with

M = obj.getDampingMatrix()
  • The object must be properly initialized.

Run-time documentation

getMemoryProfile

Get an estimate of the memory held by a QMol_TDCI_abs_mask_space object with either

mem = obj.getMemoryProfile;
mem = obj.getMemoryProfile(false);
  • The object must be properly initialized.
  • The output mem is the estimated size in bytes.

Additionally display the detail of the memory footprint with

mem = obj.getMemoryProfile(true);

showDocumentation

Display the run-time documentation for the specific configuration of a QMol_TDCI_abs_mask_space object

ref = obj.showDocumentation;
  • The output ref is a cell vector containing the list of references to be included in the bibliography.

Test suite

Run the test suite for the class in normal or summary mode respectively with

QMol_test.test('TDCI_abs_mask_space');
QMol_test.test('-summary','TDCI_abs_mask_space');

Notes

  • QMol_TDCI_abs_mask_space was introduced in version 01.23.