Solvers

FEA Solve

class feastruct.solvers.feasolve.Solver(analysis, analysis_cases, solver_settings)[source]

Parent class for a finite element solver.

Provides a number of methods suitable for most finite element analysis solver types.

Variables:
  • analysis (FiniteElementAnalysis) – Analysis object to solve
  • analysis_cases (list[AnalysisCase]) – List of analysis cases to solve
  • solver_settings (SolverSettings) – Settings to use in the solver
  • ndof (int) – Number of active degrees of freedom in the analysis
__init__(analysis, analysis_cases, solver_settings)[source]

Inits the Solver class.

Parameters:
apply_bcs(K, f_ext, analysis_case)[source]

Applies the boundary conditions to the global stiffness matrix and external force vector for the analysis case.

Parameters:
  • K (scipy.sparse.coo_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
  • analysis_case (AnalysisCase) – Analysis case
Returns:

The global stiffness matrix and external force vector, modified by the boundary conditions (K, f_ext)

Return type:

tuple(scipy.sparse.lil_matrix, numpy.ndarray)

assemble_fext(analysis_case)[source]

Assembles the external force vector for analysis_case.

Parameters:analysis_case (AnalysisCase) – Analysis case used to assemble the external force vector
Returns:The external force vector f_ext and the equivalent nodal loads vector f_eq
Return type:tuple(numpy.ndarray, numpy.ndarray)
assemble_mass_matrix()[source]

Assembles the global stiffness using the sparse COO format.

Returns:The global mass matrix
Return type:scipy.sparse.coo_matrix
assemble_stiff_matrix(geometric=False, analysis_case=None)[source]

Assembles the global stiffness using the sparse COO format.

Parameters:
  • geometric (bool) – If set to True, also returns the global geometric stiffness matrix
  • analysis_case (AnalysisCase) – If geometric is set to True, the static analysis case from which to use to build the geometric stiffness matrix
Returns:

The global stiffness matrix and, if desired, the global geometric stiffness matrix (K, K_g)

Return type:

tuple(scipy.sparse.coo_matrix, scipy.sparse.coo_matrix)

assign_dofs()[source]

Method to assign global degrees of freedom to the nodes in the analysis object.

calculate_reactions(K, u, f_eq, analysis_case)[source]

Calculates the reactions using the stiffness matrix K and the displacement vector u and saves the reactions for the analysis case.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • u (numpy.ndarray) – Displacement vector
  • f_eq (numpy.ndarray) – Global equivalent nodal loads vector of size N
  • analysis_case (AnalysisCase) – Analysis case
calculate_stresses(analysis_case)[source]

Calculates and saves the element stresses for the analysis case.

Parameters:analysis_case (AnalysisCase) – Analysis case
cgs_solver(K, f_ext)[source]

Solves Ku=f_ext for u using the cgs method.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
Returns:

Displacement vector u

Return type:

numpy.ndarray

Raises:

Exception – If the cgs solver does not converge or if the preconditioner fails

direct_solver(K, f_ext)[source]

Solves Ku=f_ext for u using the direct method.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
Returns:

Displacement vector u

Return type:

numpy.ndarray

function_timer(text, function, *args)[source]

Displays the message text and returns the time taken for a function, with arguments args, to execute. The value returned by the timed function is also returned.

Parameters:
  • text (string) – Message to display
  • function (function) – Function to time and execute
  • args – Function arguments
Returns:

Value returned from the function

remove_constrained_dofs(K, analysis_case)[source]

Given an initial matrix K, returns a new matrix with the constrained degrees of freedom removed. The constrained degrees of freedom are those with supports defined in the freedom case used in the analysis case.

Parameters:
  • K (scipy.sparse.coo_matrix) – Stiffness matrix
  • analysis_case (AnalysisCase) – Analysis case
Returns:

A new stiffness matrix with the constrined dofs removed

Return type:

scipy.sparse.lil_matrix

save_buckling_results(w, v, analysis_case)[source]

Saves the buckling results w and v to the degree of freedom objects for the analysis case.

Parameters:
  • w (numpy.ndarray) – Eigenvalues
  • v (numpy.ndarray) – Eigenvectors
  • analysis_case (AnalysisCase) – Analysis case
save_displacements(u, analysis_case)[source]

Saves the displacements u to the degree of freedom objects for the analysis case.

Parameters:
  • u (numpy.ndarray) – Displacement vector
  • analysis_case (AnalysisCase) – Analysis case
save_frequency_results(w, v, analysis_case)[source]

Saves the frequency results w and v to the degree of freedom objects for the analysis case.

Parameters:
  • w (numpy.ndarray) – Eigenvalues
  • v (numpy.ndarray) – Eigenvectors
  • analysis_case (AnalysisCase) – Analysis case
solve_eigenvalue(A, M, eigen_settings)[source]

Finds eigenvalues and eigenvectors for A * x[i] = w[i] * M * x[i].

Parameters:
Returns:

Eigenvalues and corresponding eigenvectors (w, v)

Return type:

tuple(numpy.ndarray, numpy.ndarray)

Raises:

Exception – If the eigenvalue solver does not converge

Linear Static Solver

class feastruct.solvers.linstatic.LinearStatic(analysis, analysis_cases, solver_settings=None)[source]

Bases: feastruct.solvers.feasolve.Solver

Class for a linear static solver.

Variables:
  • analysis (FiniteElementAnalysis) – Analysis object to solve
  • analysis_cases (list[AnalysisCase]) – List of analysis cases to solve
  • solver_settings (SolverSettings) – Settings to use in the solver
  • ndof (int) – Number of degrees of freedom in the analysis
__init__(analysis, analysis_cases, solver_settings=None)[source]

Inits the LinearStatic class.

Parameters:
  • analysis (FiniteElementAnalysis) – Analysis object to solve
  • analysis_cases (list[AnalysisCase]) – List of analysis cases to solve
  • solver_settings (SolverSettings) – Settings to use in the solver - if not supplied, the default settings are adopted
apply_bcs(K, f_ext, analysis_case)

Applies the boundary conditions to the global stiffness matrix and external force vector for the analysis case.

Parameters:
  • K (scipy.sparse.coo_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
  • analysis_case (AnalysisCase) – Analysis case
Returns:

The global stiffness matrix and external force vector, modified by the boundary conditions (K, f_ext)

Return type:

tuple(scipy.sparse.lil_matrix, numpy.ndarray)

assemble_fext(analysis_case)

Assembles the external force vector for analysis_case.

Parameters:analysis_case (AnalysisCase) – Analysis case used to assemble the external force vector
Returns:The external force vector f_ext and the equivalent nodal loads vector f_eq
Return type:tuple(numpy.ndarray, numpy.ndarray)
assemble_mass_matrix()

Assembles the global stiffness using the sparse COO format.

Returns:The global mass matrix
Return type:scipy.sparse.coo_matrix
assemble_stiff_matrix(geometric=False, analysis_case=None)

Assembles the global stiffness using the sparse COO format.

Parameters:
  • geometric (bool) – If set to True, also returns the global geometric stiffness matrix
  • analysis_case (AnalysisCase) – If geometric is set to True, the static analysis case from which to use to build the geometric stiffness matrix
Returns:

The global stiffness matrix and, if desired, the global geometric stiffness matrix (K, K_g)

Return type:

tuple(scipy.sparse.coo_matrix, scipy.sparse.coo_matrix)

assign_dofs()

Method to assign global degrees of freedom to the nodes in the analysis object.

calculate_reactions(K, u, f_eq, analysis_case)

Calculates the reactions using the stiffness matrix K and the displacement vector u and saves the reactions for the analysis case.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • u (numpy.ndarray) – Displacement vector
  • f_eq (numpy.ndarray) – Global equivalent nodal loads vector of size N
  • analysis_case (AnalysisCase) – Analysis case
calculate_stresses(analysis_case)

Calculates and saves the element stresses for the analysis case.

Parameters:analysis_case (AnalysisCase) – Analysis case
cgs_solver(K, f_ext)

Solves Ku=f_ext for u using the cgs method.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
Returns:

Displacement vector u

Return type:

numpy.ndarray

Raises:

Exception – If the cgs solver does not converge or if the preconditioner fails

direct_solver(K, f_ext)

Solves Ku=f_ext for u using the direct method.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
Returns:

Displacement vector u

Return type:

numpy.ndarray

function_timer(text, function, *args)

Displays the message text and returns the time taken for a function, with arguments args, to execute. The value returned by the timed function is also returned.

Parameters:
  • text (string) – Message to display
  • function (function) – Function to time and execute
  • args – Function arguments
Returns:

Value returned from the function

remove_constrained_dofs(K, analysis_case)

Given an initial matrix K, returns a new matrix with the constrained degrees of freedom removed. The constrained degrees of freedom are those with supports defined in the freedom case used in the analysis case.

Parameters:
  • K (scipy.sparse.coo_matrix) – Stiffness matrix
  • analysis_case (AnalysisCase) – Analysis case
Returns:

A new stiffness matrix with the constrined dofs removed

Return type:

scipy.sparse.lil_matrix

save_buckling_results(w, v, analysis_case)

Saves the buckling results w and v to the degree of freedom objects for the analysis case.

Parameters:
  • w (numpy.ndarray) – Eigenvalues
  • v (numpy.ndarray) – Eigenvectors
  • analysis_case (AnalysisCase) – Analysis case
save_displacements(u, analysis_case)

Saves the displacements u to the degree of freedom objects for the analysis case.

Parameters:
  • u (numpy.ndarray) – Displacement vector
  • analysis_case (AnalysisCase) – Analysis case
save_frequency_results(w, v, analysis_case)

Saves the frequency results w and v to the degree of freedom objects for the analysis case.

Parameters:
  • w (numpy.ndarray) – Eigenvalues
  • v (numpy.ndarray) – Eigenvectors
  • analysis_case (AnalysisCase) – Analysis case
solve()[source]

Executes the linear static finite element solver and saves the relevant results.

solve_eigenvalue(A, M, eigen_settings)

Finds eigenvalues and eigenvectors for A * x[i] = w[i] * M * x[i].

Parameters:
Returns:

Eigenvalues and corresponding eigenvectors (w, v)

Return type:

tuple(numpy.ndarray, numpy.ndarray)

Raises:

Exception – If the eigenvalue solver does not converge

Linear Buckling Solver

class feastruct.solvers.linbuckling.LinearBuckling(analysis, analysis_cases, solver_settings=None)[source]

Bases: feastruct.solvers.feasolve.Solver

Class for a linear buckling solver.

Variables:
  • analysis (FiniteElementAnalysis) – Analysis object to solve
  • analysis_cases (list[AnalysisCase]) – List of analysis cases to solve
  • solver_settings (SolverSettings) – Settings to use in the solver
  • ndof (int) – Number of degrees of freedom in the analysis
__init__(analysis, analysis_cases, solver_settings=None)[source]

Inits the LinearBuckling class.

Parameters:
  • analysis (FiniteElementAnalysis) – Analysis object to solve
  • analysis_cases (list[AnalysisCase]) – List of analysis cases to solve
  • solver_settings (SolverSettings) – Settings to use in the solver - if not supplied, the default settings are adopted
apply_bcs(K, f_ext, analysis_case)

Applies the boundary conditions to the global stiffness matrix and external force vector for the analysis case.

Parameters:
  • K (scipy.sparse.coo_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
  • analysis_case (AnalysisCase) – Analysis case
Returns:

The global stiffness matrix and external force vector, modified by the boundary conditions (K, f_ext)

Return type:

tuple(scipy.sparse.lil_matrix, numpy.ndarray)

assemble_fext(analysis_case)

Assembles the external force vector for analysis_case.

Parameters:analysis_case (AnalysisCase) – Analysis case used to assemble the external force vector
Returns:The external force vector f_ext and the equivalent nodal loads vector f_eq
Return type:tuple(numpy.ndarray, numpy.ndarray)
assemble_mass_matrix()

Assembles the global stiffness using the sparse COO format.

Returns:The global mass matrix
Return type:scipy.sparse.coo_matrix
assemble_stiff_matrix(geometric=False, analysis_case=None)

Assembles the global stiffness using the sparse COO format.

Parameters:
  • geometric (bool) – If set to True, also returns the global geometric stiffness matrix
  • analysis_case (AnalysisCase) – If geometric is set to True, the static analysis case from which to use to build the geometric stiffness matrix
Returns:

The global stiffness matrix and, if desired, the global geometric stiffness matrix (K, K_g)

Return type:

tuple(scipy.sparse.coo_matrix, scipy.sparse.coo_matrix)

assign_dofs()

Method to assign global degrees of freedom to the nodes in the analysis object.

calculate_reactions(K, u, f_eq, analysis_case)

Calculates the reactions using the stiffness matrix K and the displacement vector u and saves the reactions for the analysis case.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • u (numpy.ndarray) – Displacement vector
  • f_eq (numpy.ndarray) – Global equivalent nodal loads vector of size N
  • analysis_case (AnalysisCase) – Analysis case
calculate_stresses(analysis_case)

Calculates and saves the element stresses for the analysis case.

Parameters:analysis_case (AnalysisCase) – Analysis case
cgs_solver(K, f_ext)

Solves Ku=f_ext for u using the cgs method.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
Returns:

Displacement vector u

Return type:

numpy.ndarray

Raises:

Exception – If the cgs solver does not converge or if the preconditioner fails

direct_solver(K, f_ext)

Solves Ku=f_ext for u using the direct method.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
Returns:

Displacement vector u

Return type:

numpy.ndarray

function_timer(text, function, *args)

Displays the message text and returns the time taken for a function, with arguments args, to execute. The value returned by the timed function is also returned.

Parameters:
  • text (string) – Message to display
  • function (function) – Function to time and execute
  • args – Function arguments
Returns:

Value returned from the function

remove_constrained_dofs(K, analysis_case)

Given an initial matrix K, returns a new matrix with the constrained degrees of freedom removed. The constrained degrees of freedom are those with supports defined in the freedom case used in the analysis case.

Parameters:
  • K (scipy.sparse.coo_matrix) – Stiffness matrix
  • analysis_case (AnalysisCase) – Analysis case
Returns:

A new stiffness matrix with the constrined dofs removed

Return type:

scipy.sparse.lil_matrix

save_buckling_results(w, v, analysis_case)

Saves the buckling results w and v to the degree of freedom objects for the analysis case.

Parameters:
  • w (numpy.ndarray) – Eigenvalues
  • v (numpy.ndarray) – Eigenvectors
  • analysis_case (AnalysisCase) – Analysis case
save_displacements(u, analysis_case)

Saves the displacements u to the degree of freedom objects for the analysis case.

Parameters:
  • u (numpy.ndarray) – Displacement vector
  • analysis_case (AnalysisCase) – Analysis case
save_frequency_results(w, v, analysis_case)

Saves the frequency results w and v to the degree of freedom objects for the analysis case.

Parameters:
  • w (numpy.ndarray) – Eigenvalues
  • v (numpy.ndarray) – Eigenvectors
  • analysis_case (AnalysisCase) – Analysis case
solve()[source]

Executes the linear buckling finite element solver and saves the relevant results.

solve_eigenvalue(A, M, eigen_settings)

Finds eigenvalues and eigenvectors for A * x[i] = w[i] * M * x[i].

Parameters:
Returns:

Eigenvalues and corresponding eigenvectors (w, v)

Return type:

tuple(numpy.ndarray, numpy.ndarray)

Raises:

Exception – If the eigenvalue solver does not converge

Natural Frequency Solver

class feastruct.solvers.naturalfrequency.NaturalFrequency(analysis, analysis_cases, solver_settings=None)[source]

Bases: feastruct.solvers.feasolve.Solver

Class for a natural frequency solver.

Variables:
  • analysis (FiniteElementAnalysis) – Analysis object to solve
  • analysis_cases (list[AnalysisCase]) – List of analysis cases to solve
  • solver_settings (SolverSettings) – Settings to use in the solver
  • ndof (int) – Number of degrees of freedom in the analysis
__init__(analysis, analysis_cases, solver_settings=None)[source]

Inits the NaturalFrequency class.

Parameters:
  • analysis (FiniteElementAnalysis) – Analysis object to solve
  • analysis_cases (list[AnalysisCase]) – List of analysis cases to solve
  • solver_settings (SolverSettings) – Settings to use in the solver - if not supplied, the default settings are adopted
apply_bcs(K, f_ext, analysis_case)

Applies the boundary conditions to the global stiffness matrix and external force vector for the analysis case.

Parameters:
  • K (scipy.sparse.coo_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
  • analysis_case (AnalysisCase) – Analysis case
Returns:

The global stiffness matrix and external force vector, modified by the boundary conditions (K, f_ext)

Return type:

tuple(scipy.sparse.lil_matrix, numpy.ndarray)

assemble_fext(analysis_case)

Assembles the external force vector for analysis_case.

Parameters:analysis_case (AnalysisCase) – Analysis case used to assemble the external force vector
Returns:The external force vector f_ext and the equivalent nodal loads vector f_eq
Return type:tuple(numpy.ndarray, numpy.ndarray)
assemble_mass_matrix()

Assembles the global stiffness using the sparse COO format.

Returns:The global mass matrix
Return type:scipy.sparse.coo_matrix
assemble_stiff_matrix(geometric=False, analysis_case=None)

Assembles the global stiffness using the sparse COO format.

Parameters:
  • geometric (bool) – If set to True, also returns the global geometric stiffness matrix
  • analysis_case (AnalysisCase) – If geometric is set to True, the static analysis case from which to use to build the geometric stiffness matrix
Returns:

The global stiffness matrix and, if desired, the global geometric stiffness matrix (K, K_g)

Return type:

tuple(scipy.sparse.coo_matrix, scipy.sparse.coo_matrix)

assign_dofs()

Method to assign global degrees of freedom to the nodes in the analysis object.

calculate_reactions(K, u, f_eq, analysis_case)

Calculates the reactions using the stiffness matrix K and the displacement vector u and saves the reactions for the analysis case.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • u (numpy.ndarray) – Displacement vector
  • f_eq (numpy.ndarray) – Global equivalent nodal loads vector of size N
  • analysis_case (AnalysisCase) – Analysis case
calculate_stresses(analysis_case)

Calculates and saves the element stresses for the analysis case.

Parameters:analysis_case (AnalysisCase) – Analysis case
cgs_solver(K, f_ext)

Solves Ku=f_ext for u using the cgs method.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
Returns:

Displacement vector u

Return type:

numpy.ndarray

Raises:

Exception – If the cgs solver does not converge or if the preconditioner fails

direct_solver(K, f_ext)

Solves Ku=f_ext for u using the direct method.

Parameters:
  • K (scipy.sparse.lil_matrix) – Global stiffness matrix
  • f_ext (numpy.ndarray) – External force vector
Returns:

Displacement vector u

Return type:

numpy.ndarray

function_timer(text, function, *args)

Displays the message text and returns the time taken for a function, with arguments args, to execute. The value returned by the timed function is also returned.

Parameters:
  • text (string) – Message to display
  • function (function) – Function to time and execute
  • args – Function arguments
Returns:

Value returned from the function

remove_constrained_dofs(K, analysis_case)

Given an initial matrix K, returns a new matrix with the constrained degrees of freedom removed. The constrained degrees of freedom are those with supports defined in the freedom case used in the analysis case.

Parameters:
  • K (scipy.sparse.coo_matrix) – Stiffness matrix
  • analysis_case (AnalysisCase) – Analysis case
Returns:

A new stiffness matrix with the constrined dofs removed

Return type:

scipy.sparse.lil_matrix

save_buckling_results(w, v, analysis_case)

Saves the buckling results w and v to the degree of freedom objects for the analysis case.

Parameters:
  • w (numpy.ndarray) – Eigenvalues
  • v (numpy.ndarray) – Eigenvectors
  • analysis_case (AnalysisCase) – Analysis case
save_displacements(u, analysis_case)

Saves the displacements u to the degree of freedom objects for the analysis case.

Parameters:
  • u (numpy.ndarray) – Displacement vector
  • analysis_case (AnalysisCase) – Analysis case
save_frequency_results(w, v, analysis_case)

Saves the frequency results w and v to the degree of freedom objects for the analysis case.

Parameters:
  • w (numpy.ndarray) – Eigenvalues
  • v (numpy.ndarray) – Eigenvectors
  • analysis_case (AnalysisCase) – Analysis case
solve()[source]

Executes the natural frequency finite element solver and saves the relevant results.

solve_eigenvalue(A, M, eigen_settings)

Finds eigenvalues and eigenvectors for A * x[i] = w[i] * M * x[i].

Parameters:
Returns:

Eigenvalues and corresponding eigenvectors (w, v)

Return type:

tuple(numpy.ndarray, numpy.ndarray)

Raises:

Exception – If the eigenvalue solver does not converge

Solver Settings

class feastruct.solvers.feasolve.SolverSettings[source]

Class for settings to be used in a finite element analysis.

Variables:
__init__()[source]

Inits the SolverSettings class.

Linear Static Settings

class feastruct.solvers.feasolve.LinearStaticSettings(time_info=False, solver_type='direct', cgs_tol=1e-05, cgs_maxiter=None, cgs_precond=True)[source]

Bases: object

Class for settings to be used in a linear static analysis.

Variables:
  • time_info (bool) – If set to True, a detailed description of the computation and the time cost is printed to the terminal
  • solver_type (string) – Solver type used to solve Ku = f - ‘direct’ or ‘cgs’
  • cgs_tol (float) – Tolerance to achieve for the cgs solver
  • cgs_maxiter (int) – Maximum number of iterations for the cgs solver
  • cgs_precond (bool) – If set to True, calculates a preconditioner for K using an ILU decomposition
__init__(time_info=False, solver_type='direct', cgs_tol=1e-05, cgs_maxiter=None, cgs_precond=True)[source]

Inits the LinearStaticSettings class.

Parameters:
  • time_info (bool) – If set to True, a detailed description of the computation and the time cost is printed to the terminal
  • solver_type (string) – Solver type used to solve Ku = f - ‘direct’ or ‘cgs’
  • cgs_tol (float) – Tolerance to achieve for the cgs solver
  • cgs_maxiter (int) – Maximum number of iterations for the cgs solver
  • cgs_precond (bool) – If set to True, calculates a preconditioner for K using an ILU decomposition

Linear Buckling Settings

class feastruct.solvers.feasolve.LinearBucklingSettings(time_info=False, num_modes=4, shift=0, maxiter=None, tol=1e-09)[source]

Bases: object

Class for settings to be used in a linear buckling analysis.

__init__(time_info=False, num_modes=4, shift=0, maxiter=None, tol=1e-09)[source]

Inits the LinearBucklingSettings class.

Parameters:
  • time_info (bool) – If set to True, a detailed description of the computation and the time cost is printed to the terminal
  • num_modes (int) – Number of modes to compute
  • shift (float) – Finds eigenvalues near shift using the shift-invert mode
  • maxiter (int) – Maximum number of iterations allowed
  • tol (float) – Relative accuracy for eigenvalues (stopping criterion)

Natural Frequency Settings

class feastruct.solvers.feasolve.NaturalFrequencySettings(time_info=False, num_modes=4, shift=0, maxiter=None, tol=1e-09)[source]

Bases: object

Class for settings to be used in a natural frequency analysis.

__init__(time_info=False, num_modes=4, shift=0, maxiter=None, tol=1e-09)[source]

Inits the NaturalFrequencySettings class.

Parameters:
  • time_info (bool) – If set to True, a detailed description of the computation and the time cost is printed to the terminal
  • num_modes (int) – Number of modes to compute
  • shift (float) – Finds eigenvalues near shift using the shift-invert mode
  • maxiter (int) – Maximum number of iterations allowed
  • tol (float) – Relative accuracy for eigenvalues (stopping criterion)