finite_element_method 0.9.12

A finite element method module.
Documentation
//! separated_stiffness_matrix.
//!
//! See crate README for context. This file contains the implementation for the
//! `separated_stiffness_matrix` element/type.

use extended_matrix::{Matrix, SquareMatrix};

pub struct SeparatedStiffnessMatrix<V> {
    k_aa_indexes: Vec<usize>,
    k_bb_indexes: Vec<usize>,
    k_aa_skyline: Vec<usize>,
    k_aa_matrix: SquareMatrix<V>,
    k_ab_matrix: Matrix<V>,
    k_ba_matrix: Matrix<V>,
    k_bb_matrix: SquareMatrix<V>,
}

impl<V> SeparatedStiffnessMatrix<V> {
    pub fn create(
        k_aa_indexes: Vec<usize>,
        k_bb_indexes: Vec<usize>,
        k_aa_skyline: Vec<usize>,
        k_aa_matrix: SquareMatrix<V>,
        k_ab_matrix: Matrix<V>,
        k_ba_matrix: Matrix<V>,
        k_bb_matrix: SquareMatrix<V>,
    ) -> Self {
        SeparatedStiffnessMatrix {
            k_aa_indexes,
            k_bb_indexes,
            k_aa_skyline,
            k_aa_matrix,
            k_ab_matrix,
            k_ba_matrix,
            k_bb_matrix,
        }
    }

    pub fn get_k_aa_indexes(&self) -> &Vec<usize> {
        &self.k_aa_indexes
    }

    pub fn get_k_bb_indexes(&self) -> &Vec<usize> {
        &self.k_bb_indexes
    }

    pub fn get_k_aa_skyline(&self) -> &Vec<usize> {
        &self.k_aa_skyline
    }

    pub fn get_k_aa_matrix(&self) -> &SquareMatrix<V> {
        &self.k_aa_matrix
    }

    pub fn get_k_ab_matrix(&self) -> &Matrix<V> {
        &self.k_ab_matrix
    }

    pub fn get_k_ba_matrix(&self) -> &Matrix<V> {
        &self.k_ba_matrix
    }

    pub fn get_k_bb_matrix(&self) -> &SquareMatrix<V> {
        &self.k_bb_matrix
    }
}