OOFEM 3.0
Loading...
Searching...
No Matches
floatarrayf.h File Reference
#include "oofemenv.h"
#include "contextioresulttype.h"
#include "contextmode.h"
#include "datastream.h"
#include "error.h"
#include "floatarray.h"
#include <array>
#include <initializer_list>
#include <cmath>
#include <algorithm>
#include <numeric>

Go to the source code of this file.

Classes

class  oofem::FloatArrayF< N >

Namespaces

namespace  oofem

Functions

template<std::size_t N>
std::ostream & oofem::operator<< (std::ostream &out, const FloatArrayF< N > &x)
 Print to stream.
template<size_t N, size_t M>
FloatArrayF< Noofem::assemble (const FloatArrayF< M > &x, int const (&c)[M])
 Assemble components into zero matrix.
template<std::size_t N>
FloatArrayF< Noofem::operator* (double a, const FloatArrayF< N > &x)
 Simple math operations.
template<std::size_t N>
FloatArrayF< Noofem::operator* (const FloatArrayF< N > &x, double a)
template<std::size_t N>
FloatArrayF< Noofem::mult (const FloatArrayF< N > &x, const FloatArrayF< N > &y)
 Element-wise multiplication.
template<std::size_t N>
FloatArrayF< Noofem::operator/ (const FloatArrayF< N > &x, double a)
template<std::size_t N>
FloatArrayF< Noofem::operator^ (const FloatArrayF< N > &x, double a)
template<std::size_t N>
FloatArrayF< Noofem::operator+ (const FloatArrayF< N > &x, const FloatArrayF< N > &y)
template<std::size_t N>
FloatArrayF< Noofem::operator- (const FloatArrayF< N > &x, const FloatArrayF< N > &y)
template<std::size_t N>
FloatArrayF< Noofem::operator- (const FloatArrayF< N > &x)
template<std::size_t N>
FloatArrayF< N > & oofem::operator+= (FloatArrayF< N > &x, const FloatArrayF< N > &y)
template<std::size_t N>
FloatArrayF< N > & oofem::operator-= (FloatArrayF< N > &x, const FloatArrayF< N > &y)
template<std::size_t N>
FloatArrayF< N > & oofem::operator*= (FloatArrayF< N > &x, double a)
template<std::size_t N>
FloatArrayF< N > & oofem::operator/= (FloatArrayF< N > &x, double a)
template<std::size_t N>
FloatArrayF< Noofem::operator^= (FloatArrayF< N > &x, double a)
template<std::size_t N>
bool oofem::iszero (const FloatArrayF< N > &x)
 Returns true if all coefficients of the receiver are 0, else false.
template<std::size_t N>
bool oofem::isfinite (const FloatArrayF< N > &x)
 Returns true if all coefficients of the receiver are finite, else false.
template<std::size_t N>
double oofem::norm_squared (const FloatArrayF< N > &x)
 Computes the L2 norm of x.
template<std::size_t N>
double oofem::norm (const FloatArrayF< N > &x)
 Computes the L2 norm of x.
template<std::size_t N>
FloatArrayF< Noofem::normalize (const FloatArrayF< N > &x)
 Normalizes vector (L2 norm).
template<std::size_t N>
double oofem::sum (const FloatArrayF< N > &x)
 Computes the sum of x.
template<std::size_t N>
double oofem::product (const FloatArrayF< N > &x)
 Computes the product of x.
FloatArrayF< 3 > oofem::cross (const FloatArrayF< 3 > &x, const FloatArrayF< 3 > &y)
 Computes $ x \cross y $.
template<std::size_t N>
double oofem::dot (const FloatArrayF< N > &x, const FloatArrayF< N > &y)
 Computes $ x_i y_i $.
template<std::size_t N>
FloatArrayF< Noofem::max (const FloatArrayF< N > &a, const FloatArrayF< N > &b)
template<std::size_t N>
FloatArrayF< Noofem::min (const FloatArrayF< N > &a, const FloatArrayF< N > &b)
template<std::size_t N>
FloatArrayF< Noofem::zeros ()
 For more readable code.
template<std::size_t N>
FloatArrayF< Noofem::distance_squared (const FloatArrayF< N > &a, const FloatArrayF< N > &b)
 Computes the norm(a-b)^2.
template<std::size_t N>
FloatArrayF< Noofem::distance (const FloatArrayF< N > &a, const FloatArrayF< N > &b)
 Computes the norm(a-b).
void oofem::swap_46 (FloatArrayF< 6 > &t)
void oofem::swap_46 (FloatArrayF< 9 > &t)
FloatArrayF< 6 > oofem::to_voigt_strain_6 (const FloatArrayF< 6 > &s)
 Convert stress to strain Voigt form.
FloatArrayF< 6 > oofem::to_voigt_stress_6 (const FloatArrayF< 6 > &e)
 Convert strain to stress Voigt form.

Variables

const FloatArrayF< 6 > oofem::I6 {1., 1., 1., 0., 0., 0.}
 I expressed in Voigt form.

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011