OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
mathfem.h File Reference
#include "error.h"
#include "oofemcfg.h"
#include <cmath>
#include <cfloat>

Go to the source code of this file.

Classes

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

Namespaces

 oofem
 the oofem namespace is to define a context or scope in which all oofem names are defined.
 

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. More...
 
long oofem::min (long i, long j)
 Returns smaller value from two given long decimals. More...
 
double oofem::min (double i, double j)
 Returns smaller value from two given floats. More...
 
int oofem::max (int i, int j)
 Returns bigger value form two given decimals. More...
 
double oofem::clamp (int a, int lower, int upper)
 Returns the clamped value of a between upper and lower. More...
 
long oofem::max (long i, long j)
 Returns bigger value form two given long decimals. More...
 
double oofem::max (double i, double j)
 Returns bigger value form two given floats. More...
 
double oofem::clamp (double a, double lower, double upper)
 Returns the clamped value of a between upper and lower. More...
 
double oofem::sgn (double i)
 Returns the signum of given value (if value is < 0 returns -1, otherwise returns 1) More...
 
double oofem::signum (double i)
 Returns the signum of given value (i = 0 returns 0, i < 0 returns -1, i > 0 returns 1) More...
 
bool oofem::isnan (double x)
 
double oofem::cbrt (double x)
 Returns the cubic root of x. More...
 
double oofem::sqr (double x)
 
double oofem::macbra (double x)
 Returns the positive part of given float. More...
 
double oofem::negbra (double x)
 Returns the negative part of given float. More...
 
void oofem::cubic (double a, double b, double c, double d, double *r1, double *r2, double *r3, int *num)
 Solves cubic equation for real roots. More...
 
void oofem::cubic3r (double a, double b, double c, double d, double *r1, double *r2, double *r3, int *num)
 Solves cubic equation for real roots, assuming that if cubic polynomial given then the only possibility is that only three real roots exists. More...
 
int oofem::iperm (int val, int rank)
 Returns iperm of val, in specific rank. More...
 
template<class T >
double oofem::gss (double ax, double bx, double cx, const T &f, double tol, double &xmin)
 Minimize function of one variable using golden section search. More...
 
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)
 Least-square fit of 2nd degree polynomial $ y = a_0 + a_1 x + a_2 x^2 $. More...
 

Macro Definition Documentation

#define M_LN2   0.6931471805599453094172321214581766L
#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::MisesMatNl::computeDistanceModifier(), oofem::NonlocalMaterialExtensionInterface::computeDistanceModifier(), oofem::XfemStructuralElementInterface::computeEffectiveSveSize(), oofem::SurfaceTensionBoundaryCondition::computeLoadVectorFromElement(), oofem::MDM::computeLocalDamageTensor(), oofem::FRCFCMNL::computeNonlocalStressInFibers(), oofem::SurfaceTensionBoundaryCondition::computeTangentFromElement(), oofem::ConcreteDPM2::computeTempKappa(), oofem::ConcreteDPM2::computeTrialCoordinates(), oofem::cubic3r(), oofem::NURBSPlaneStressElement::drawScalar(), oofem::Parser::get_token(), oofem::LayeredCrossSection::give2dPlateStiffMtrx(), oofem::CohesiveInterfaceMaterial::give3dStiffnessMatrix_Eng(), oofem::Element::giveCharacteristicLengthForAxisymmElements(), oofem::CohesiveInterfaceMaterial::giveEngTraction_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::TrPlaneStrRot::GivePitch(), oofem::LayeredCrossSection::giveRealStress_3d(), oofem::LayeredCrossSection::giveStiffnessMatrix_3d(), oofem::IsotropicDamageMaterial1::initDamaged(), oofem::MDM::initializeData(), oofem::FRCFCM::initializeFrom(), oofem::ParticleTopologyDescription::instanciateYourself(), oofem::ConcreteDPM::performRegularReturn(), oofem::ConcreteDPM2::performRegularReturn(), oofem::PLPrincipalStrain::propagateInterface(), oofem::PLHoopStressCirc::propagateInterface(), oofem::PLCrackPrescribedDir::propagateInterface(), oofem::CemhydMatStatus::rand3d(), oofem::M1MaterialStatus::restoreContext(), and oofem::NlDEIDynamic::solveYourselfAt().

#define MATHFEM_BRENT_MAXITER   100

Definition at line 159 of file mathfem.h.

Referenced by oofem::brent().

#define MATHFEM_C   0.38196601

Definition at line 157 of file mathfem.h.

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

#define MATHFEM_R   ( 1 - MATHFEM_C )

Definition at line 158 of file mathfem.h.

Referenced by oofem::gss().


This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:32 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011