Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
Public Member Functions | |
real(kind=dp) function, dimension(3) | lorentzforce (Element, Nodes, u, v, w, n) |
real(kind=dp) function | jouleheat (Element, Nodes, u, v, w, n) |
subroutine | curl (Ax, Ay, Az, Bx, By, Bz, Reorder) |
subroutine | axiscurl (Ar, Az, Ap, Br, Bz, Bp, Reorder) |
subroutine | cross (Ax, Ay, Az, Bx, By, Bz, Cx, Cy, Cz, n) |
real(kind=dp) function | dot (Ax, Ay, Az, Bx, By, Bz, n) |
subroutine differentials::axiscurl | ( | real(kind=dp), dimension(:) | Ar, |
real(kind=dp), dimension(:) | Az, | ||
real(kind=dp), dimension(:) | Ap, | ||
real(kind=dp), dimension(:) | Br, | ||
real(kind=dp), dimension(:) | Bz, | ||
real(kind=dp), dimension(:) | Bp, | ||
integer, dimension(:) | Reorder | ||
) |
Compute the curl in axisymmetric coordinates.
References elementdescription::elementinfo().
Referenced by magneticsolver(), and statmagsolver().
subroutine differentials::cross | ( | real(kind=dp) | Ax, |
real(kind=dp) | Ay, | ||
real(kind=dp) | Az, | ||
real(kind=dp) | Bx, | ||
real(kind=dp) | By, | ||
real(kind=dp) | Bz, | ||
real(kind=dp) | Cx, | ||
real(kind=dp) | Cy, | ||
real(kind=dp) | Cz, | ||
integer | n | ||
) |
Compute cross product of given vectors: C = A x B in generalized coordinates.
References coordinatesystems::coordinatesysteminfo(), and coordinatesystems::currentcoordinatesystem().
subroutine differentials::curl | ( | real(kind=dp), dimension(:) | Ax, |
real(kind=dp), dimension(:) | Ay, | ||
real(kind=dp), dimension(:) | Az, | ||
real(kind=dp), dimension(:) | Bx, | ||
real(kind=dp), dimension(:) | By, | ||
real(kind=dp), dimension(:) | Bz, | ||
integer, dimension(:) | Reorder | ||
) |
Compute the curl vector B = curl(A) at all nodes.
References coordinatesystems::coordinatesysteminfo(), coordinatesystems::currentcoordinatesystem(), elementdescription::elementinfo(), and linearalgebra::invertmatrix().
Referenced by magneticsolver(), and statmagsolver().
real(kind=dp) function differentials::dot | ( | real(kind=dp) | Ax, |
real(kind=dp) | Ay, | ||
real(kind=dp) | Az, | ||
real(kind=dp) | Bx, | ||
real(kind=dp) | By, | ||
real(kind=dp) | Bz, | ||
integer | n | ||
) |
Compute dot product of given vectors: L=A B in orthogonal coordinate system.
References coordinatesystems::coordinatesysteminfo(), and coordinatesystems::currentcoordinatesystem().
real(kind=dp) function differentials::jouleheat | ( | type(element_t) | Element, |
type(nodes_t) | Nodes, | ||
real(kind=dp) | u, | ||
real(kind=dp) | v, | ||
real(kind=dp) | w, | ||
integer | n | ||
) |
Compute the Joule heating at integration point (u,v,w) given the appropriate electrostatic or magnetic field that initiates the current through a conductor.
References computemagneticheat(), coordinatesystems::coordinatesysteminfo(), coordinatesystems::currentcoordinatesystem(), elementdescription::elementinfo(), linearalgebra::invertmatrix(), lists::listgetinteger(), lists::listgetlogical(), lists::listgetreal(), lists::variableget(), and messages::warn().
Referenced by diffuseconvective::diffuseconvectivecompose(), diffuseconvectivegeneral::diffuseconvectivegencompose(), and getjouleheat().
real(kind=dp) function, dimension(3) differentials::lorentzforce | ( | type(element_t), pointer | Element, |
type(nodes_t) | Nodes, | ||
real(kind=dp) | u, | ||
real(kind=dp) | v, | ||
real(kind=dp) | w, | ||
integer | n | ||
) |
Computes the Lorentz force resulting from a magnetic field at integration point (u,v,w).
References computelorentz(), coordinatesystems::coordinatesysteminfo(), coordinatesystems::currentcoordinatesystem(), elementdescription::elementinfo(), linearalgebra::invertmatrix(), lists::listgetinteger(), lists::listgetreal(), and lists::variableget().
Referenced by lorentzforcenodal(), navierstokes::navierstokescompose(), navierstokescylindrical::navierstokescylindricalcompose(), and navierstokesgeneral::navierstokesgeneralcompose().