How physical indexes are implemented in Montjoie
In equations solved by Montjoie, for instance Helmholtz equation :
The coefficients
and
are the so-called physical indexes and depend on the position x. The
physical indexes can be constant on the different domains of the mesh,
but can also vary continuously inside each domain. An index can be
scalar, vectorial, tensorial, each scalar component is either a
constant (on the considered domain) or a varying field (object of
type PhysicalVaryingMedia). In the case of a varying field, the
constant stored in the object PhysicalVaryingMedia is used to
specify a value of the physical index at infinity (used for PML or
absorbing boundary condition).
Public attributes of class PhysicalVaryingMedia
index_regular |
varying field defined through values
on a regular grid |
index_sinus |
varying field defined as a product of
sine functions |
index_mesh |
varying field defined through values
on nodal points of the mesh |
index_radial |
varying field defined through values
at different radii r |
Public methods of class PhysicalVaryingMedia
Constructors |
constructor with a constant value |
IsComplex |
returns true if the physical index
contains values with non-null imaginary part |
IsVarying |
returns false if the physical index
is contant, true otherwise |
SetMediaType |
sets the type of varying field |
GetMediaType |
returns the type of varying field |
GetConstant |
returns the constant value associated
with the field |
InitConstant |
initializes a constant field |
InitSinus |
initializes a sinusoidal field
(product of sine functions) |
InitRandom |
initializes a field defined by its
values on a regular grid |
InitMesh |
initializes a field defined by its
values on nodal points of the mesh |
InitRadial |
initializes a radial field defined by
its values
on different radii r |
GetInverse |
inverts the field, so that 1/rho is
returned instead of rho |
Mlt |
modifies the field such that alpha rho is
returned
instead of rho |
Clear |
clears arrays used to store the field |
GetValue |
returns the value of the field on
quadrature points of the mesh |
GetGradient |
returns the gradient of the field on
quadrature points of the mesh |
SetCoefficient |
modifies the field on a quadrature
point of the mesh |
SetCoefGradient |
modifies the gradient of the field on
a quadrature point of the mesh |
GetCoefficient |
returns the field on a quadrature
point of the mesh |
GetCoefGradient |
returns the gradient of the field on
a quadrature point of the mesh |
Reallocate |
sets the number of elements of the mesh |
ReallocateOnElement |
sets the number of quadrature points
on an element of the mesh |
Public methods of class RectangleCutOff
Init |
initializes the boundaries of the
cut-off function |
InsideBox |
returns true if the point is inside
the definition domain of the cut-off function |
ApplyCutOff |
applies cut-off function to a value |
Public methods of class PhysicalSinusoidalMedia
IsComplex |
returns true if the physical index
contains values with non-null imaginary part |
GetInverse |
inverts the field, so that 1/rho is
returned instead of rho |
Init_Sine |
initializes the parameters of the
sinusoidal field |
Mlt |
modifies the field such that alpha rho is
returned
instead of rho |
ComputeIndexAtPoint |
computes the field at a given point |
ComputeIndex |
computes the field on quadrature
points of a mesh |
Public methods of class PhysicalRegularMedia
Init_Regular |
initializes parameters of the field |
SetNoPeriodic |
the field is assumed to be non-periodic |
SetPeriodic |
the field is assumed to be periodic |
SetQuasiPeriodic |
the field is assumed to be quasi-periodic |
IsComplex |
returns true if the physical index
contains values with non-null imaginary part |
GetInverse |
inverts the field, so that 1/rho is
returned instead of rho |
Mlt |
modifies the field such that alpha rho is
returned
instead of rho |
Clear |
releases the memory used to store the field |
ReadFile |
reads the values of the field on the
regular grid |
ComputeIndexAtPoint |
computes the field at a given point |
ComputeIndex |
computes the field on quadrature
points of a mesh |
Public methods of class PhysicalMeshMedia
IsComplex |
returns true if the physical index
contains values with non-null imaginary part |
GetInverse |
inverts the field, so that 1/rho is
returned instead of rho |
Mlt |
modifies the field such that alpha rho is
returned
instead of rho |
Clear |
releases the memory used to store the field |
GetMeshName |
returns the name of the file where
the mesh is stored |
GetOrder |
returns the order of approximation
used for nodal points of the mesh |
GetNbElt |
returns the number of elements of
the mesh |
GetNbNodes |
returns the number of nodes on an
element of the mesh |
GetValue |
returns the value of the field on a
nodal point of the mesh |
GetGradient |
returns the gradient of the field on a
nodal point of the mesh |
Init_Mesh |
initializes the parameters of the
field defined on nodal points of a mesh |
RemoveGlobalElements |
removes elements that are located on
other processors |
ReadFile |
reads the values of the field |
ComputeGradient |
computes the gradient of the field |
Public methods of class RadialVaryingMedia
Init_Radial |
initializes the parameters of the
radial field |
IsComplex |
returns true if the physical index
contains values with non-null imaginary part |
GetInverse |
inverts the field, so that 1/rho is
returned instead of rho |
Mlt |
modifies the field such that alpha rho is
returned
instead of rho |
Clear |
releases the memory used to store the field |
ComputeIndexAtPoint |
computes the field at a given point |
ComputeIndex |
computes the field on quadrature
points of a mesh |
Public methods of class ScalarPhysicalIndice
IsZero |
returns true if the physical index is equal to zero |
IsComplex |
returns true if the physical index
contains values with non-null imaginary part |
IsVarying |
returns true if the physical index
is varying, false if it is constant |
SetMediaType |
sets the type of varying index |
GetMediaType |
returns the type of varying index |
GetNbVaryingMedia |
returns the number of varying field |
GetVaryingMedia |
retrieves addresses of the varying
fields stored in the index |
SetIdentity |
sets the index to one |
GetConstant |
returns the constant associated with
the index |
SetConstant |
modifies the constant associated with
the index |
Zero |
sets the index to 0 |
GetInverse |
inverts the index, so that 1/rho is
returned instead of rho |
Mlt |
modifies the index such that alpha rho is
returned
instead of rho |
Clear |
releases the memory used to store the index |
GetCoefficient |
returns the index on a quadrature
point of the mesh |
GetCoefGradient |
returns the gradient of the index on
a quadrature point of the mesh |
SetInputVaryingMedia |
initializes a varying field from
parameters of the data file |
SetInputData |
initializes the index from parameters
of the data file |
Public methods of class VectorialPhysicalIndice
IsZero |
returns true if the physical index is equal to zero |
IsComplex |
returns true if the physical index
contains values with non-null imaginary part |
IsVarying |
returns true if the physical index
is varying, false if it is constant |
SetMediaType |
sets the type of varying index |
GetMediaType |
returns the type of varying index |
GetNbVaryingMedia |
returns the number of varying field |
GetVaryingMedia |
retrieves addresses of the varying
fields stored in the index |
SetIdentity |
sets the index to one |
GetConstant |
returns the constant associated with
the index |
SetConstant |
modifies the constant associated with
the index |
Zero |
sets the index to 0 |
Mlt |
modifies the index such that alpha rho is
returned
instead of rho |
Clear |
releases the memory used to store the index |
GetCoefficient |
returns the index on a quadrature
point of the mesh |
GetCoefGradient |
returns the gradient of the index on
a quadrature point of the mesh |
SetInputVaryingMedia |
initializes a varying field from
parameters of the data file |
SetInputData |
initializes the index from parameters
of the data file |
Public methods of class TensorPhysicalIndice
IsZero |
returns true if the physical index is equal to zero |
IsComplex |
returns true if the physical index
contains values with non-null imaginary part |
IsVarying |
returns true if the physical index
is varying, false if it is constant |
SetMediaType |
sets the type of varying index |
GetMediaType |
returns the type of varying index |
SetAnisotropy |
sets the type of anisotropy
(isotrope, orthotrope or anisotrope) |
GetAnisotropy |
returns the type of anisotropy
(isotrope, orthotrope or anisotrope) |
GetNbVaryingMedia |
returns the number of varying field |
GetVaryingMedia |
retrieves addresses of the varying
fields stored in the index |
SetIdentity |
sets the index to the identity matrix |
GetConstant |
returns the constant associated with
the index |
SetConstant |
modifies the constant associated with
the index |
Zero |
sets the index to 0 |
Mlt |
modifies the index such that alpha rho is
returned
instead of rho |
GetInverse |
inverts the index, so that rho^{-1} is
returned instead of rho |
Clear |
releases the memory used to store the index |
MltMatrix |
applies the tensor to a vector |
GetCoefficient |
returns the index on a quadrature
point of the mesh |
GetCoefGradient |
returns the gradient of the index on
a quadrature point of the mesh |
SetInputVaryingMedia |
initializes a varying field from
parameters of the data file |
SetInputData |
initializes the index from parameters
of the data file |
Public methods of class ElasticPhysicalIndice
IsComplex |
returns true if the physical index
contains values with non-null imaginary part |
IsVarying |
returns true if the physical index
is varying, false if it is constant |
SetMediaType |
sets the type of varying index |
GetMediaType |
returns the type of varying index |
GetAnisotropyType |
returns the type of anisotropy
(isotrope, orthotrope or anisotrope) |
GetNbVaryingMedia |
returns the number of varying fields |
GetVaryingMedia |
retrieves addresses of the varying
fields stored in the index |
SetIdentity |
sets the index to the identity
elastic tensor |
GetConstant |
returns the constant associated with
the index |
SetConstant |
modifies the constant associated with
the index |
Zero |
sets the index to 0 |
Mlt |
modifies the index such that alpha rho is
returned
instead of rho |
GetInverse |
inverts the index, so that rho^{-1} is
returned instead of rho |
Clear |
releases the memory used to store the index |
MltMatrix |
applies the tensor to a vector |
GetCoefficient |
returns the index on a quadrature
point of the mesh |
MltMatrix |
applies the tensor to a matrix |
MltVector |
applies the tensor to a vector viewed
as a matrix |
SetInputVaryingMedia |
initializes a varying field from
parameters of the data file |
SetInputData |
initializes the index from parameters
of the data file |