|
OOFEM 3.0
|
#include <leplic.h>
Public Member Functions | |
| LEPlicElementInterface () | |
The element interface required by LEPlicElementInterface | |
| virtual double | computeLEPLICVolumeFraction (const FloatArray &n, const double p, LEPlic *matInterface, bool updFlag)=0 |
| Computes corresponding volume fraction to given interface position. | |
| virtual void | formMaterialVolumePoly (Polygon &matvolpoly, LEPlic *matInterface, const FloatArray &normal, const double p, bool updFlag)=0 |
| Assembles the true element material polygon (takes receiver vof into accout). | |
| virtual void | formVolumeInterfacePoly (Polygon &matvolpoly, LEPlic *matInterface, const FloatArray &normal, const double p, bool updFlag)=0 |
| Assembles receiver material polygon based solely on given interface line. | |
| virtual double | truncateMatVolume (const Polygon &matvolpoly, double &volume)=0 |
| Truncates given material polygon to receiver. | |
| virtual void | giveElementCenter (LEPlic *mat_interface, FloatArray ¢er, bool updFlag)=0 |
| Computes the receiver center (in updated Lagrangian configuration). | |
| virtual void | formMyVolumePoly (Polygon &myPoly, LEPlic *mat_interface, bool updFlag)=0 |
| Assembles receiver volume. | |
| virtual double | computeMyVolume (LEPlic *matInterface, bool updFlag)=0 |
| Computes the volume of receiver. | |
| bool | isBoundary () |
| Returns true if cell is boundary. | |
| virtual Element * | giveElement ()=0 |
| Return number of receiver's element. | |
| virtual double | computeCriticalLEPlicTimeStep (TimeStep *tStep)=0 |
| Computes critical time step. | |
| void | setTempLineConstant (double tp) |
| void | setTempInterfaceNormal (FloatArray tg) |
| void | setTempVolumeFraction (double v) |
| void | setPermanentVolumeFraction (double v) |
| void | addTempVolumeFraction (double v) |
| double | giveVolumeFraction () |
| double | giveTempVolumeFraction () |
| void | giveTempInterfaceNormal (FloatArray &n) |
| double | giveTempLineConstant () |
| void | updateYourself (TimeStep *tStep) |
| void | saveContext (DataStream &stream, ContextMode mode) |
| void | restoreContext (DataStream &stream, ContextMode mode) |
| Public Member Functions inherited from oofem::Interface | |
| Interface () | |
| Constructor. | |
| virtual | ~Interface () |
| virtual const char * | giveClassName () const =0 |
Protected Attributes | |
| bool | permanentVofFlag |
| double | vof |
| Volume fraction of reference fluid in element. | |
| double | temp_vof |
| double | p |
| Line constant of line segment representing interface. | |
| double | temp_p |
| FloatArray | normal |
| Interface segment normal. | |
| FloatArray | temp_normal |
Element interface for LEPlic class representing Lagrangian-Eulerian (moving) material interface. The elements should provide specific functionality in order to collaborate with LEPlic and this required functionality is declared in this interface.
|
inline |
Definition at line 70 of file leplic.h.
References p, permanentVofFlag, temp_p, temp_vof, and vof.
Referenced by oofem::TR1_2D_CBS::giveInterface(), oofem::TR1_2D_SUPG::giveInterface(), isBoundary(), oofem::TR1_2D_CBS::TR1_2D_CBS(), and oofem::TR1_2D_SUPG::TR1_2D_SUPG().
|
inline |
Definition at line 110 of file leplic.h.
References permanentVofFlag, and temp_vof.
Referenced by oofem::LEPlic::doInterfaceRemapping().
|
pure virtual |
Computes critical time step.
Implemented in oofem::TR1_2D_CBS, and oofem::TR1_2D_SUPG.
Referenced by oofem::LEPlic::computeCriticalTimeStep().
|
pure virtual |
Computes corresponding volume fraction to given interface position.
Implemented in oofem::TR1_2D_CBS, oofem::TR1_2D_SUPG2, oofem::TR1_2D_SUPG2_AXI, and oofem::TR1_2D_SUPG.
References p.
|
pure virtual |
Computes the volume of receiver.
Implemented in oofem::TR1_2D_CBS, oofem::TR1_2D_SUPG2, oofem::TR1_2D_SUPG2_AXI, and oofem::TR1_2D_SUPG.
|
pure virtual |
Assembles the true element material polygon (takes receiver vof into accout).
Implemented in oofem::TR1_2D_CBS, oofem::TR1_2D_SUPG2, oofem::TR1_2D_SUPG2_AXI, and oofem::TR1_2D_SUPG.
Referenced by oofem::LEPlic::doInterfaceRemapping().
|
pure virtual |
Assembles receiver volume.
Implemented in oofem::TR1_2D_CBS, oofem::TR1_2D_SUPG2, oofem::TR1_2D_SUPG2_AXI, and oofem::TR1_2D_SUPG.
|
pure virtual |
Assembles receiver material polygon based solely on given interface line.
Implemented in oofem::TR1_2D_CBS, oofem::TR1_2D_SUPG2, oofem::TR1_2D_SUPG2_AXI, and oofem::TR1_2D_SUPG.
|
pure virtual |
Return number of receiver's element.
Implemented in oofem::TR1_2D_CBS, oofem::TR1_2D_SUPG2, oofem::TR1_2D_SUPG2_AXI, and oofem::TR1_2D_SUPG.
Referenced by isBoundary().
|
pure virtual |
Computes the receiver center (in updated Lagrangian configuration).
Implemented in oofem::TR1_2D_CBS, oofem::TR1_2D_SUPG2, oofem::TR1_2D_SUPG2_AXI, and oofem::TR1_2D_SUPG.
Referenced by oofem::LEPlic::doCellDLS().
|
inline |
Definition at line 120 of file leplic.h.
References temp_normal.
Referenced by oofem::LEPlic::doInterfaceRemapping().
|
inline |
Definition at line 121 of file leplic.h.
References temp_p.
Referenced by oofem::LEPlic::doInterfaceRemapping().
|
inline |
Definition at line 119 of file leplic.h.
References temp_vof.
Referenced by oofem::LEPlic::doCellDLS(), oofem::LEPlic::doInterfaceRemapping(), oofem::TR1_2D_CBS::giveInternalStateAtNode(), oofem::TR1_2D_CBS::giveIPValue(), oofem::TR1_2D_SUPG2::giveIPValue(), and isBoundary().
|
inline |
Definition at line 118 of file leplic.h.
References vof.
Referenced by oofem::LEPlic::doCellDLS(), oofem::LEPlic::doInterfaceRemapping(), oofem::TR1_2D_CBS::printOutputAt(), oofem::TR1_2D_SUPG2::printOutputAt(), oofem::TR1_2D_SUPG2_AXI::printOutputAt(), and oofem::TR1_2D_SUPG::printOutputAt().
| bool oofem::LEPlicElementInterface::isBoundary | ( | ) |
Returns true if cell is boundary.
Definition at line 54 of file leplic.C.
References oofem::Domain::giveConnectivityTable(), oofem::Domain::giveElement(), giveElement(), oofem::ConnectivityTable::giveElementNeighbourList(), oofem::FEMComponent::giveInterface(), giveTempVolumeFraction(), LEPlicElementInterface(), and oofem::LEPlicElementInterfaceType.
| void oofem::LEPlicElementInterface::restoreContext | ( | DataStream & | stream, |
| ContextMode | mode ) |
Restores context of receiver from given stream.
| stream | stream where to read data |
| mode | determines amount of info required in stream (state, definition,...) |
Definition at line 104 of file leplic.C.
References oofem::CIO_IOERR, oofem::CIO_OK, normal, p, oofem::DataStream::read(), temp_normal, temp_p, temp_vof, THROW_CIOERR, and vof.
| void oofem::LEPlicElementInterface::saveContext | ( | DataStream & | stream, |
| ContextMode | mode ) |
Stores context of receiver into given stream. Only non-temp internal history variables are stored.
| stream | stream where to write data |
| mode | determines amount of info required in stream (state, definition,...) |
Definition at line 86 of file leplic.C.
References oofem::CIO_IOERR, oofem::CIO_OK, normal, p, THROW_CIOERR, vof, and oofem::DataStream::write().
|
inline |
Definition at line 106 of file leplic.h.
References permanentVofFlag, temp_vof, and vof.
Referenced by oofem::TR1_2D_CBS::initializeFrom(), oofem::TR1_2D_SUPG2::initializeFrom(), oofem::TR1_2D_SUPG2_AXI::initializeFrom(), and oofem::TR1_2D_SUPG::initializeFrom().
|
inline |
Definition at line 100 of file leplic.h.
References temp_normal.
Referenced by oofem::LEPlic::doInterfaceReconstruction().
|
inline |
Definition at line 99 of file leplic.h.
References temp_p.
Referenced by oofem::LEPlic::doInterfaceReconstruction().
|
inline |
Definition at line 101 of file leplic.h.
References permanentVofFlag, and temp_vof.
Referenced by oofem::LEPlic::doInterfaceRemapping().
|
pure virtual |
Truncates given material polygon to receiver.
Implemented in oofem::TR1_2D_CBS, oofem::TR1_2D_SUPG2, oofem::TR1_2D_SUPG2_AXI, and oofem::TR1_2D_SUPG.
Referenced by oofem::LEPlic::doInterfaceRemapping().
|
inline |
|
protected |
Interface segment normal.
Definition at line 67 of file leplic.h.
Referenced by formMaterialVolumePoly(), oofem::TR1_2D_CBS::formMaterialVolumePoly(), oofem::TR1_2D_SUPG2::formMaterialVolumePoly(), oofem::TR1_2D_SUPG2_AXI::formMaterialVolumePoly(), oofem::TR1_2D_SUPG::formMaterialVolumePoly(), formVolumeInterfacePoly(), oofem::TR1_2D_CBS::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG2::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG2_AXI::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG::formVolumeInterfacePoly(), restoreContext(), saveContext(), oofem::TR1_2D_SUPG2::updateVolumePolygons(), oofem::TR1_2D_SUPG2_AXI::updateVolumePolygons(), and updateYourself().
|
protected |
Line constant of line segment representing interface.
Definition at line 65 of file leplic.h.
Referenced by computeLEPLICVolumeFraction(), oofem::TR1_2D_CBS::computeLEPLICVolumeFraction(), oofem::TR1_2D_SUPG2::computeLEPLICVolumeFraction(), oofem::TR1_2D_SUPG2_AXI::computeLEPLICVolumeFraction(), oofem::TR1_2D_SUPG::computeLEPLICVolumeFraction(), oofem::TR1_2D_SUPG2::computePressureTerm_MB(), oofem::TR1_2D_SUPG::computePressureTerm_MB(), oofem::TR1_2D_CBS::drawRawGeometry(), oofem::TR1_2D_SUPG2::drawRawGeometry(), oofem::TR1_2D_SUPG2_AXI::drawRawGeometry(), oofem::TR1_2D_SUPG::drawRawGeometry(), oofem::TR1_2D_CBS::drawScalar(), oofem::TR1_2D_SUPG2::drawScalar(), oofem::TR1_2D_SUPG2_AXI::drawScalar(), oofem::TR1_2D_SUPG::drawScalar(), formMaterialVolumePoly(), oofem::TR1_2D_CBS::formMaterialVolumePoly(), oofem::TR1_2D_SUPG2::formMaterialVolumePoly(), oofem::TR1_2D_SUPG2_AXI::formMaterialVolumePoly(), oofem::TR1_2D_SUPG::formMaterialVolumePoly(), formVolumeInterfacePoly(), oofem::TR1_2D_CBS::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG2::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG2_AXI::formVolumeInterfacePoly(), oofem::TR1_2D_SUPG::formVolumeInterfacePoly(), LEPlicElementInterface(), restoreContext(), saveContext(), oofem::TR1_2D_SUPG2::updateIntegrationRules(), oofem::TR1_2D_SUPG2_AXI::updateIntegrationRules(), oofem::TR1_2D_SUPG2::updateVolumePolygons(), oofem::TR1_2D_SUPG2_AXI::updateVolumePolygons(), and updateYourself().
|
protected |
Definition at line 61 of file leplic.h.
Referenced by addTempVolumeFraction(), oofem::TR1_2D_CBS::giveInputRecord(), oofem::TR1_2D_SUPG2::giveInputRecord(), oofem::TR1_2D_SUPG2_AXI::giveInputRecord(), oofem::TR1_2D_SUPG::giveInputRecord(), LEPlicElementInterface(), setPermanentVolumeFraction(), and setTempVolumeFraction().
|
protected |
Definition at line 67 of file leplic.h.
Referenced by oofem::TR1_2D_SUPG2::drawScalar(), oofem::TR1_2D_SUPG2_AXI::drawScalar(), oofem::TR1_2D_SUPG::drawScalar(), giveTempInterfaceNormal(), restoreContext(), setTempInterfaceNormal(), oofem::TR1_2D_SUPG2::updateIntegrationRules(), oofem::TR1_2D_SUPG2_AXI::updateIntegrationRules(), and updateYourself().
|
protected |
Definition at line 65 of file leplic.h.
Referenced by oofem::TR1_2D_SUPG2::drawScalar(), oofem::TR1_2D_SUPG2_AXI::drawScalar(), oofem::TR1_2D_SUPG::drawScalar(), giveTempLineConstant(), LEPlicElementInterface(), restoreContext(), setTempLineConstant(), oofem::TR1_2D_SUPG2::updateIntegrationRules(), oofem::TR1_2D_SUPG2_AXI::updateIntegrationRules(), and updateYourself().
|
protected |
Definition at line 63 of file leplic.h.
Referenced by addTempVolumeFraction(), oofem::TR1_2D_SUPG2::computeDeviatoricStress(), oofem::TR1_2D_SUPG2_AXI::computeDeviatoricStress(), oofem::TR1_2D_SUPG2::computeTangent(), oofem::TR1_2D_SUPG2_AXI::computeTangent(), giveTempVolumeFraction(), oofem::TR1_2D_CBS::initializeFrom(), oofem::TR1_2D_SUPG2::initializeFrom(), oofem::TR1_2D_SUPG2_AXI::initializeFrom(), oofem::TR1_2D_SUPG::initializeFrom(), LEPlicElementInterface(), restoreContext(), setPermanentVolumeFraction(), setTempVolumeFraction(), oofem::TR1_2D_SUPG2::updateIntegrationRules(), oofem::TR1_2D_SUPG2_AXI::updateIntegrationRules(), and updateYourself().
|
protected |
Volume fraction of reference fluid in element.
Definition at line 63 of file leplic.h.
Referenced by oofem::TR1_2D_CBS::formMaterialVolumePoly(), oofem::TR1_2D_SUPG2::formMaterialVolumePoly(), oofem::TR1_2D_SUPG2_AXI::formMaterialVolumePoly(), oofem::TR1_2D_SUPG::formMaterialVolumePoly(), oofem::TR1_2D_CBS::giveInputRecord(), oofem::TR1_2D_SUPG2::giveInputRecord(), oofem::TR1_2D_SUPG2_AXI::giveInputRecord(), oofem::TR1_2D_SUPG::giveInputRecord(), giveVolumeFraction(), oofem::TR1_2D_CBS::initializeFrom(), oofem::TR1_2D_SUPG2::initializeFrom(), oofem::TR1_2D_SUPG2_AXI::initializeFrom(), oofem::TR1_2D_SUPG::initializeFrom(), LEPlicElementInterface(), oofem::TR1_2D_SUPG2::printOutputAt(), restoreContext(), saveContext(), setPermanentVolumeFraction(), oofem::TR1_2D_SUPG2::updateStabilizationCoeffs(), oofem::TR1_2D_SUPG2_AXI::updateStabilizationCoeffs(), and updateYourself().