Octopus
classical_modes.F90
Go to the documentation of this file.
1!! Copyright (C) 2024 M. Lueders
2!!
3!! This Source Code Form is subject to the terms of the Mozilla Public
4!! License, v. 2.0. If a copy of the MPL was not distributed with this
5!! file, You can obtain one at https://mozilla.org/MPL/2.0/.
6!!
7#include "global.h"
8
10
11
13
14 use, intrinsic :: iso_fortran_env
15 use debug_oct_m
16 use global_oct_m
19 use parser_oct_m
21
22 private
23 public :: &
25
40 !
41 type :: classical_modes_t
42
43 ! All variables are public by default
44
45 integer :: num_modes
46 integer :: dim
47 real(real64), allocatable :: frequencies(:)
48 real(real64), allocatable :: eigenvectors(:,:)
49
50 contains
51
52 procedure :: end => classical_modes_end
53
54 end type classical_modes_t
55
56contains
57
58
59
60 subroutine classical_modes_end(this)
61 class(classical_modes_t), intent(inout) :: this
62
63 push_sub(classical_modes_end)
64 safe_deallocate_a(this%frequencies)
65 safe_deallocate_a(this%eigenvectors)
66 pop_sub(classical_modes_end)
67 end subroutine classical_modes_end
68
69end module classical_modes_oct_m
This module provides a general class for classical modes.
subroutine classical_modes_end(this)
This class describes classical modes, which are specified by their frequencies and eigenvectors.