OOFEM 3.0
Loading...
Searching...
No Matches
oofem::LEPlicElementInterface Class Referenceabstract

#include <leplic.h>

Inheritance diagram for oofem::LEPlicElementInterface:
Collaboration diagram for oofem::LEPlicElementInterface:

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 &center, 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 ElementgiveElement ()=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

Detailed Description

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.

Definition at line 58 of file leplic.h.

Constructor & Destructor Documentation

◆ LEPlicElementInterface()

oofem::LEPlicElementInterface::LEPlicElementInterface ( )
inline

Member Function Documentation

◆ addTempVolumeFraction()

void oofem::LEPlicElementInterface::addTempVolumeFraction ( double v)
inline

Definition at line 110 of file leplic.h.

References permanentVofFlag, and temp_vof.

Referenced by oofem::LEPlic::doInterfaceRemapping().

◆ computeCriticalLEPlicTimeStep()

virtual double oofem::LEPlicElementInterface::computeCriticalLEPlicTimeStep ( TimeStep * tStep)
pure virtual

Computes critical time step.

Implemented in oofem::TR1_2D_CBS, and oofem::TR1_2D_SUPG.

Referenced by oofem::LEPlic::computeCriticalTimeStep().

◆ computeLEPLICVolumeFraction()

virtual double oofem::LEPlicElementInterface::computeLEPLICVolumeFraction ( const FloatArray & n,
const double p,
LEPlic * matInterface,
bool updFlag )
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.

◆ computeMyVolume()

virtual double oofem::LEPlicElementInterface::computeMyVolume ( LEPlic * matInterface,
bool updFlag )
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.

◆ formMaterialVolumePoly()

virtual void oofem::LEPlicElementInterface::formMaterialVolumePoly ( Polygon & matvolpoly,
LEPlic * matInterface,
const FloatArray & normal,
const double p,
bool updFlag )
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.

References normal, and p.

Referenced by oofem::LEPlic::doInterfaceRemapping().

◆ formMyVolumePoly()

virtual void oofem::LEPlicElementInterface::formMyVolumePoly ( Polygon & myPoly,
LEPlic * mat_interface,
bool updFlag )
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.

◆ formVolumeInterfacePoly()

virtual void oofem::LEPlicElementInterface::formVolumeInterfacePoly ( Polygon & matvolpoly,
LEPlic * matInterface,
const FloatArray & normal,
const double p,
bool updFlag )
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.

References normal, and p.

◆ giveElement()

virtual Element * oofem::LEPlicElementInterface::giveElement ( )
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().

◆ giveElementCenter()

virtual void oofem::LEPlicElementInterface::giveElementCenter ( LEPlic * mat_interface,
FloatArray & center,
bool updFlag )
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().

◆ giveTempInterfaceNormal()

void oofem::LEPlicElementInterface::giveTempInterfaceNormal ( FloatArray & n)
inline

Definition at line 120 of file leplic.h.

References temp_normal.

Referenced by oofem::LEPlic::doInterfaceRemapping().

◆ giveTempLineConstant()

double oofem::LEPlicElementInterface::giveTempLineConstant ( )
inline

Definition at line 121 of file leplic.h.

References temp_p.

Referenced by oofem::LEPlic::doInterfaceRemapping().

◆ giveTempVolumeFraction()

double oofem::LEPlicElementInterface::giveTempVolumeFraction ( )
inline

◆ giveVolumeFraction()

◆ isBoundary()

◆ restoreContext()

void oofem::LEPlicElementInterface::restoreContext ( DataStream & stream,
ContextMode mode )

Restores context of receiver from given stream.

Parameters
streamstream where to read data
modedetermines 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.

◆ saveContext()

void oofem::LEPlicElementInterface::saveContext ( DataStream & stream,
ContextMode mode )

Stores context of receiver into given stream. Only non-temp internal history variables are stored.

Parameters
streamstream where to write data
modedetermines 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().

◆ setPermanentVolumeFraction()

void oofem::LEPlicElementInterface::setPermanentVolumeFraction ( double v)
inline

◆ setTempInterfaceNormal()

void oofem::LEPlicElementInterface::setTempInterfaceNormal ( FloatArray tg)
inline

Definition at line 100 of file leplic.h.

References temp_normal.

Referenced by oofem::LEPlic::doInterfaceReconstruction().

◆ setTempLineConstant()

void oofem::LEPlicElementInterface::setTempLineConstant ( double tp)
inline

Definition at line 99 of file leplic.h.

References temp_p.

Referenced by oofem::LEPlic::doInterfaceReconstruction().

◆ setTempVolumeFraction()

void oofem::LEPlicElementInterface::setTempVolumeFraction ( double v)
inline

Definition at line 101 of file leplic.h.

References permanentVofFlag, and temp_vof.

Referenced by oofem::LEPlic::doInterfaceRemapping().

◆ truncateMatVolume()

virtual double oofem::LEPlicElementInterface::truncateMatVolume ( const Polygon & matvolpoly,
double & volume )
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().

◆ updateYourself()

void oofem::LEPlicElementInterface::updateYourself ( TimeStep * tStep)
inline

Definition at line 122 of file leplic.h.

References normal, p, temp_normal, temp_p, temp_vof, and vof.

Member Data Documentation

◆ normal

◆ p

double oofem::LEPlicElementInterface::p
protected

◆ permanentVofFlag

◆ temp_normal

◆ temp_p

◆ temp_vof

◆ vof


The documentation for this class was generated from the following files:

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