OOFEM 3.0
Loading...
Searching...
No Matches
mathfem.h File Reference
#include "error.h"
#include "oofemenv.h"
#include <cmath>
#include <cfloat>

Go to the source code of this file.

Classes

class  oofem::mem_fun< T >
class  oofem::c_fun

Namespaces

namespace  oofem

Macros

#define M_PI   3.1415926535897932384626433832795029L
#define M_LN2   0.6931471805599453094172321214581766L
#define MATHFEM_C   0.38196601
#define MATHFEM_R   ( 1 - MATHFEM_C )
#define MATHFEM_BRENT_MAXITER   100

Functions

int oofem::min (int i, int j)
 Returns smaller value from two given decimals.
long oofem::min (long i, long j)
 Returns smaller value from two given long decimals.
unsigned long oofem::min (unsigned long i, unsigned long j)
 Returns smaller value from two given long decimals.
double oofem::min (double i, double j)
 Returns smaller value from two given floats.
int oofem::max (int i, int j)
 Returns bigger value form two given decimals.
double oofem::clamp (int a, int lower, int upper)
 Returns the clamped value of a between upper and lower.
long oofem::max (long i, long j)
 Returns bigger value form two given long decimals.
double oofem::max (double i, double j)
 Returns bigger value form two given floats.
double oofem::clamp (double a, double lower, double upper)
 Returns the clamped value of a between upper and lower.
double oofem::sgn (double i)
 Returns the signum of given value (if value is < 0 returns -1, otherwise returns 1).
double oofem::signum (double i)
 Returns the signum of given value (i = 0 returns 0, i < 0 returns -1, i > 0 returns 1).
bool oofem::isnan (double x)
double oofem::cbrt (double x)
 Returns the cubic root of x.
double oofem::sqr (double x)
double oofem::macbra (double x)
 Returns the positive part of given float.
double oofem::negbra (double x)
 Returns the negative part of given float.
void oofem::cubic (double a, double b, double c, double d, double *r1, double *r2, double *r3, int *num)
void oofem::cubic3r (double a, double b, double c, double d, double *r1, double *r2, double *r3, int *num)
int oofem::iperm (int val, int rank)
template<class T>
double oofem::gss (double ax, double bx, double cx, const T &f, double tol, double &xmin)
template<class T>
double oofem::brent (double ax, double bx, double cx, const T &f, double tol, double &xmin)
void oofem::ls2fit (const FloatArray &x, const FloatArray &y, FloatArray &a)

Macro Definition Documentation

◆ M_LN2

#define M_LN2   0.6931471805599453094172321214581766L

Definition at line 55 of file mathfem.h.

Referenced by oofem::OctreeSpatialLocalizerT< T > *::giveCellDepth().

◆ M_PI

#define M_PI   3.1415926535897932384626433832795029L

Definition at line 52 of file mathfem.h.

Referenced by oofem::CemhydMatStatus::AnalyticHomogenizationConcrete(), oofem::EnrichmentItem::calcPolarCoord(), oofem::FRCFCMNL::computeAngleBetweenVectors(), oofem::WeakPeriodicBoundaryCondition::computeBaseFunctionValue1D(), oofem::FRCFCM::computeCrackFibreAngle(), oofem::FRCFCM::computeCrackSpacing(), oofem::FRCFCM::computeD2ModulusForCrack(), oofem::MisesMatNl::computeDistanceModifier(), oofem::NonlocalMaterialExtensionInterface::computeDistanceModifier(), oofem::XfemStructuralElementInterface::computeEffectiveSveSize(), oofem::SurfaceTensionBoundaryCondition::computeLoadVectorFromElement(), oofem::MDM::computeLocalDamageTensor(), oofem::FRCFCMNL::computeNonlocalStressInFibers(), oofem::StructuralMaterial::computePrincipalValues(), oofem::FRCFCM::computeStressInFibersInCracked(), oofem::SurfaceTensionBoundaryCondition::computeTangentFromElement(), oofem::ConcreteDPM2::computeTempKappa(), oofem::BondLink3d::computeVolumeAround(), oofem::LatticeLink3d::computeVolumeAround(), oofem::PrescribedDispSlipBCNeumannRC::computeWeightMatrix(), csgpolygon_cylinder(), csgpolygon_sphere(), oofem::cubic3r(), oofem::NURBSPlaneStressElement::drawScalar(), oofem::FRCFCM::estimateD2ModulusForCrack(), oofem::Parser::get_token(), oofem::LayeredCrossSection::give2dPlateStiffMtrx(), oofem::CohesiveInterfaceMaterial::give3dStiffnessMatrix_Eng(), oofem::Element::giveCharacteristicLengthForAxisymmElements(), oofem::FRCFCM::giveCrackingModulus(), oofem::CohesiveInterfaceMaterial::giveEngTraction_3d(), oofem::LayeredCrossSection::giveFirstPKStress_3d(), oofem::LayeredCrossSection::giveGeneralizedStress_Plate(), oofem::LayeredCrossSection::giveGeneralizedStress_Shell(), oofem::Circle::giveGlobalCoordinates(), oofem::NonlocalMaterialExtensionInterface::giveIntegralOfWeightFunction(), oofem::LayeredCrossSection::giveIPValue(), oofem::Beam3d::giveLocalCoordinateSystem(), oofem::PrescribedGradientBCWeak::giveMirroredPointOnGammaMinus(), oofem::PrescribedGradientBCWeak::giveMirroredPointOnGammaPlus(), oofem::TR_SHELL11::GivePitch(), oofem::TrPlaneStrRot::GivePitch(), oofem::HydratingConcreteMat::GivePower(), oofem::LayeredCrossSection::giveRealStress_3d(), oofem::LayeredCrossSection::giveRealStress_3dDegeneratedShell(), oofem::LayeredCrossSection::giveStiffnessMatrix_3d(), oofem::LayeredCrossSection::giveStiffnessMatrix_dPdF_3d(), Printer::handleG1Command(), oofem::IsotropicDamageMaterial1::initDamaged(), oofem::MDM::initializeData(), oofem::FRCFCM::initializeFrom(), oofem::HydratingConcreteMat::initializeFrom(), oofem::PrescribedDispSlipBCNeumannRC::integrateTangentBStressSteel(), oofem::PrescribedDispSlipBCNeumannRC::integrateTangentRStressSteel(), oofem::FRCFCM::maxShearStress(), oofem::ConcreteDPM2::performRegularReturn(), oofem::ConcreteDPM::performRegularReturn(), oofem::PLCrackPrescribedDir::propagateInterface(), oofem::PLHoopStressCirc::propagateInterface(), oofem::PLPrincipalStrain::propagateInterface(), oofem::CemhydMatStatus::rand3d(), and oofem::NlDEIDynamic::solveYourselfAt().

◆ MATHFEM_BRENT_MAXITER

#define MATHFEM_BRENT_MAXITER   100

Definition at line 172 of file mathfem.h.

Referenced by oofem::brent().

◆ MATHFEM_C

#define MATHFEM_C   0.38196601

Definition at line 170 of file mathfem.h.

Referenced by oofem::brent(), and oofem::gss().

◆ MATHFEM_R

#define MATHFEM_R   ( 1 - MATHFEM_C )

Definition at line 171 of file mathfem.h.

Referenced by oofem::gss().


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