Complete configuration from .mqc file
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public | :: | aimd_dt | = | DEFAULT_AIMD_DT |
Timestep (femtoseconds) |
|
| real(kind=dp), | public | :: | aimd_initial_temperature | = | DEFAULT_AIMD_TEMPERATURE |
Initial temperature for velocity init (K) |
|
| integer, | public | :: | aimd_nsteps | = | DEFAULT_AIMD_NSTEPS |
Number of MD steps (0 = no AIMD) |
|
| integer, | public | :: | aimd_output_frequency | = | DEFAULT_AIMD_OUTPUT_FREQ |
Write output every N steps |
|
| logical, | public | :: | allow_overlapping_fragments | = | .false. | ||
| character(len=:), | public, | allocatable | :: | aux_basis | |||
| character(len=:), | public, | allocatable | :: | basis | |||
| type(bond_t), | public, | allocatable | :: | bonds(:) | |||
| integer(kind=int32), | public | :: | calc_type | = | CALC_TYPE_ENERGY | ||
| integer, | public | :: | charge | = | 0 | ||
| integer, | public | :: | cpcm_nang | = | DEFAULT_CPCM_NANG |
Number of angular grid points for CPCM cavity |
|
| real(kind=dp), | public | :: | cpcm_rscale | = | DEFAULT_CPCM_RSCALE |
Radii scaling factor for CPCM cavity |
|
| character(len=:), | public, | allocatable | :: | cutoff_method | |||
| real(kind=dp), | public | :: | dielectric | = | -1.0_dp |
Direct dielectric constant (-1 = use solvent lookup) |
|
| character(len=:), | public, | allocatable | :: | distance_metric | |||
| character(len=:), | public, | allocatable | :: | embedding | |||
| integer, | public | :: | frag_level | = | DEFAULT_FRAG_LEVEL | ||
| character(len=:), | public, | allocatable | :: | frag_method |
MBE, etc. |
||
| real(kind=dp), | public, | allocatable | :: | fragment_cutoffs(:) |
Distance cutoffs indexed by n-mer level (2=dimer, 3=trimer, etc.) |
||
| type(input_fragment_t), | public, | allocatable | :: | fragments(:) | |||
| type(geometry_type), | public | :: | geometry | ||||
| real(kind=dp), | public | :: | hessian_displacement | = | DEFAULT_DISPLACEMENT |
Finite difference displacement (Bohr) |
|
| real(kind=dp), | public | :: | hessian_pressure | = | DEFAULT_PRESSURE |
Pressure for thermochemistry (atm) |
|
| real(kind=dp), | public | :: | hessian_temperature | = | DEFAULT_TEMPERATURE |
Temperature for thermochemistry (K) |
|
| integer, | public | :: | index_base | = | 0 |
0-based or 1-based indexing |
|
| character(len=:), | public, | allocatable | :: | log_level | |||
| integer, | public | :: | max_intersection_level | = | DEFAULT_MAX_INTERSECTION |
Maximum k-way intersection depth for GMBE |
|
| integer(kind=int32), | public | :: | method | = | METHOD_TYPE_GFN2 | ||
| type(molecule_t), | public, | allocatable | :: | molecules(:) |
Array of molecules (if nmol > 0) |
||
| integer, | public | :: | multiplicity | = | 1 | ||
| integer, | public | :: | nbonds | = | 0 | ||
| integer, | public | :: | nbroken | = | 0 | ||
| integer, | public | :: | nfrag | = | 0 | ||
| integer, | public | :: | nmol | = | 0 |
Number of molecules (0 = single molecule mode for backward compatibility) |
|
| integer, | public | :: | scf_maxiter | = | 300 |
Using 300 (parser-specific, different from DEFAULT_SCF_MAXITER) |
|
| real(kind=dp), | public | :: | scf_tolerance | = | DEFAULT_SCF_CONV | ||
| character(len=:), | public, | allocatable | :: | schema_name | |||
| character(len=:), | public, | allocatable | :: | schema_version | |||
| logical, | public | :: | skip_json_output | = | .false. |
Skip JSON output for large calculations |
|
| character(len=:), | public, | allocatable | :: | solvation_model |
Solvation model: “alpb” (default), “gbsa”, or “cpcm” |
||
| character(len=:), | public, | allocatable | :: | solvent |
Solvent name (e.g., “water”, “ethanol”) or empty for gas phase |
||
| character(len=:), | public, | allocatable | :: | units |
angstrom or bohr |
||
| logical, | public | :: | use_cds | = | .true. |
Include non-polar CDS terms in solvation (not for CPCM) |
|
| logical, | public | :: | use_shift | = | .true. |
Include solution state shift in solvation (not for CPCM) |
Clean up allocated memory in mqc_config_t
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mqc_config_t), | intent(inout) | :: | this |
type :: mqc_config_t !! Complete configuration from .mqc file ! Schema information character(len=:), allocatable :: schema_name character(len=:), allocatable :: schema_version integer :: index_base = 0 !! 0-based or 1-based indexing character(len=:), allocatable :: units !! angstrom or bohr ! Model information integer(int32) :: method = METHOD_TYPE_GFN2 character(len=:), allocatable :: basis character(len=:), allocatable :: aux_basis ! XTB solvation settings character(len=:), allocatable :: solvent !! Solvent name (e.g., "water", "ethanol") or empty for gas phase character(len=:), allocatable :: solvation_model !! Solvation model: "alpb" (default), "gbsa", or "cpcm" logical :: use_cds = .true. !! Include non-polar CDS terms in solvation (not for CPCM) logical :: use_shift = .true. !! Include solution state shift in solvation (not for CPCM) ! CPCM-specific settings real(dp) :: dielectric = -1.0_dp !! Direct dielectric constant (-1 = use solvent lookup) integer :: cpcm_nang = DEFAULT_CPCM_NANG !! Number of angular grid points for CPCM cavity real(dp) :: cpcm_rscale = DEFAULT_CPCM_RSCALE !! Radii scaling factor for CPCM cavity ! Driver information integer(int32) :: calc_type = CALC_TYPE_ENERGY ! Multiple molecules support integer :: nmol = 0 !! Number of molecules (0 = single molecule mode for backward compatibility) type(molecule_t), allocatable :: molecules(:) !! Array of molecules (if nmol > 0) ! Single molecule fields (backward compatibility - used if nmol == 0) ! Structure information integer :: charge = 0 integer :: multiplicity = 1 ! Geometry type(geometry_type) :: geometry ! Fragments integer :: nfrag = 0 type(input_fragment_t), allocatable :: fragments(:) ! Connectivity integer :: nbonds = 0 integer :: nbroken = 0 type(bond_t), allocatable :: bonds(:) ! SCF settings integer :: scf_maxiter = 300 !! Using 300 (parser-specific, different from DEFAULT_SCF_MAXITER) real(dp) :: scf_tolerance = DEFAULT_SCF_CONV ! Hessian settings real(dp) :: hessian_displacement = DEFAULT_DISPLACEMENT !! Finite difference displacement (Bohr) real(dp) :: hessian_temperature = DEFAULT_TEMPERATURE !! Temperature for thermochemistry (K) real(dp) :: hessian_pressure = DEFAULT_PRESSURE !! Pressure for thermochemistry (atm) ! AIMD settings real(dp) :: aimd_dt = DEFAULT_AIMD_DT !! Timestep (femtoseconds) integer :: aimd_nsteps = DEFAULT_AIMD_NSTEPS !! Number of MD steps (0 = no AIMD) real(dp) :: aimd_initial_temperature = DEFAULT_AIMD_TEMPERATURE !! Initial temperature for velocity init (K) integer :: aimd_output_frequency = DEFAULT_AIMD_OUTPUT_FREQ !! Write output every N steps ! Fragmentation settings character(len=:), allocatable :: frag_method !! MBE, etc. integer :: frag_level = DEFAULT_FRAG_LEVEL logical :: allow_overlapping_fragments = .false. integer :: max_intersection_level = DEFAULT_MAX_INTERSECTION !! Maximum k-way intersection depth for GMBE character(len=:), allocatable :: embedding character(len=:), allocatable :: cutoff_method character(len=:), allocatable :: distance_metric real(dp), allocatable :: fragment_cutoffs(:) !! Distance cutoffs indexed by n-mer level (2=dimer, 3=trimer, etc.) ! Logger settings (kept for compatibility) character(len=:), allocatable :: log_level ! Output control logical :: skip_json_output = .false. !! Skip JSON output for large calculations contains procedure :: destroy => config_destroy end type mqc_config_t