FEDEM Solver  R8.0
Source code of the dynamics solver
Data Types | Modules | Functions/Subroutines | Variables
freqResponseModule.f90 File Reference

Frequency domain implementation for the FEDEM Dynamics Solver. More...

Data Types

type  freqresponsemodule::dloadmotion
 Data type for frequency-domain load/motions. More...
 

Modules

module  freqresponsemodule
 Module with subroutines for frequency domain analysis.
 

Functions/Subroutines

subroutine, public freqresponsemodule::solvefreqdomain (ierr)
 Interface to the frequency-domain solver module in Fedem. More...
 
subroutine, public freqresponsemodule::deallocatefreq ()
 Deallocates the dynamic structures of the frequency domain analysis. More...
 
subroutine freqresponsemodule::read_input (mech)
 Reads input specifications for the frequency domain analysis. More...
 
subroutine freqresponsemodule::freq_eigenvalues (ndim, IOC, IOF, ierr)
 Calculates the eigenvalues and eigenvectors (optional). More...
 
subroutine freqresponsemodule::freq_sweep (ndim, ierr)
 Runs a sweep analysis for detecting the eigenfrequencies (optional). More...
 
subroutine writetofile (filename, abscissa, ordinate)
 Writes data records to the file filename. More...
 
subroutine freqresponsemodule::freq_input (forces, npt, inc, start, IOC, ierr)
 Load and motion definition for the frequency domain analysis. More...
 
subroutine freqresponsemodule::freqincandupdate (sam, sys, mech, dis, vel, acc, ierr)
 Updates mechanism based on displacement, velocity and acceleration. More...
 
subroutine freqresponsemodule::freq_segment (data, sUd, sUv, sUa, mDmp, del, npt, sdim, ierr)
 Handles the data segments including modal or direct solution. More...
 
subroutine remove_rowcol_matrix (A, i, sCol)
 Removes a column and corresponding row in a quadratic matrix. More...
 
subroutine add_row_vec (value, A, i)
 Extends the 1D array A by inserting a value at position i. More...
 
subroutine remove_row_vec (A, i)
 Reduces the 1D array A by deleting the i'th element. More...
 
subroutine freqresponsemodule::freq_seg_analysis (sam, sys, mech, t, IOC, IOF, ierr)
 Main driver for the segmented frequency response analysis. More...
 
subroutine freqresponsemodule::complexeqsolv (n, A, B, ierr)
 Solving a complex system of linear equations. More...
 
subroutine freqresponsemodule::fft_complex_1d (n, data, del, transform, viewing, ierr)
 Fourier transformation for a single periodic sequence within a complex array. More...
 
subroutine freqresponsemodule::createpyplot (abscissa, ordinate, atitle, alabel, afilename, axlabel, savefigure, istat)
 Creates output file for curve plotting in python. More...
 
subroutine freqresponsemodule::createpyplotcurves (abscissa, ordinate, atitle, alabel, afilename, axlabel, type, savefigure)
 Creates output file for curve plotting in python. More...
 

Variables

type(dloadmotion), dimension(:), pointer, save freqresponsemodule::plm => null()
 All frequency-domain loads and motions. More...
 
integer, save freqresponsemodule::nrmodes
 number of modes used in the calculation More...
 
integer, save freqresponsemodule::windowsize
 describes the window size in samples More...
 
integer, save freqresponsemodule::sweep_dof
 sweep analysis (sweep location for acting force) More...
 
real(dp), dimension(2), save freqresponsemodule::sweep_range
 sweep range (start and end frequency) More...
 
real(dp), save freqresponsemodule::fs
 sampling frequency More...
 
integer, dimension(20), save freqresponsemodule::output_triad_dof
 postprocessing, contains triad id and local dof number More...
 
integer, dimension(10), save freqresponsemodule::out_dof
 internal equation number (based on output_triad_dof) More...
 
type(pyplot), pointer, save freqresponsemodule::plt => null()
 python plot handler More...
 
integer, save freqresponsemodule::ccw = 0
 total number of windows More...
 
integer, save freqresponsemodule::seg_start = 0
 segstart (total position) More...
 

Detailed Description

Frequency domain implementation for the FEDEM Dynamics Solver.

Subroutines of this file are related to frequency domain analysis.

Author
Guenter Glanzer, SAP SE
Date
Feb 2019

Function/Subroutine Documentation

◆ add_row_vec()

subroutine freq_segment::add_row_vec ( complex(dp), intent(in)  value,
complex(dp), dimension(:), intent(inout), allocatable  A,
integer, intent(in)  i 
)
private

Extends the 1D array A by inserting a value at position i.

◆ remove_row_vec()

subroutine freq_segment::remove_row_vec ( complex(dp), dimension(:), intent(inout), allocatable  A,
integer, intent(in)  i 
)
private

Reduces the 1D array A by deleting the i'th element.

◆ remove_rowcol_matrix()

subroutine freq_segment::remove_rowcol_matrix ( real(dp), dimension(:,:), intent(inout), allocatable  A,
integer, intent(in)  i,
real(dp), dimension(:), intent(inout)  sCol 
)

Removes a column and corresponding row in a quadratic matrix.

◆ writetofile()

subroutine freq_sweep::writetofile ( character(len=*), intent(in)  filename,
real(dp), intent(in)  abscissa,
complex(dp), intent(in)  ordinate 
)

Writes data records to the file filename.