Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
boxmatrix.h File Reference
#include "gromacs/math/matrix.h"
#include "gromacs/math/vec.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/stringutil.h"
+ Include dependency graph for boxmatrix.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares routines to operate on 3x3 matrices that are boxes, ie. have zero values in their upper right triangle.

This header is distinct from matrix.h so that we can still inline these operations while not requiring headers that merely need the name Matrix3x3 to pull in the dependencies needed here.

Author
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Functions

static void gmx::assertMatrixIsBoxMatrix (const Matrix3x3 gmx_used_in_debug &m)
 Assert that the matrix m describes a simulation box. More...
 
static void gmx::assertMatrixIsBoxMatrix (const matrix gmx_used_in_debug m)
 Assert that the matrix m describes a simulation box. More...
 
static void gmx::multiplyVectorByTransposeOfBoxMatrix (const Matrix3x3 &m, const rvec v, rvec result)
 Multiply vector v by the transpose of the box matrix m, relying on the fact that the upper triangle of the matrix is zero.
 
static RVec gmx::multiplyVectorByTransposeOfBoxMatrix (const Matrix3x3 &m, const RVec &v)
 Multiply vector v by the transpose of the box matrix m, relying on the fact that the upper triangle of the matrix is zero.
 
static Matrix3x3 gmx::multiplyBoxMatrices (const Matrix3x3 &a, const Matrix3x3 &b)
 Multiply box matrices, relying on the fact that their upper triangle is zero.
 
static Matrix3x3 gmx::multiplyBoxMatrices (const Matrix3x3 &a, const matrix b)
 Multiply box matrices, relying on the fact that their upper triangle is zero.
 
static Matrix3x3 gmx::invertBoxMatrix (const Matrix3x3 &src)
 Invert a simulation-box matrix. More...
 
static void gmx::invertBoxMatrix (const matrix src, matrix dest)
 Invert a simulation-box matrix in src, return in dest. More...