vtkYoungsMaterialInterface Class Reference

#include <vtkYoungsMaterialInterface.h>

Inheritance diagram for vtkYoungsMaterialInterface:

Inheritance graph
[legend]
Collaboration diagram for vtkYoungsMaterialInterface:

Collaboration graph
[legend]

List of all members.


Detailed Description

reconstructs material interfaces

Reconstructs material interfaces from a mesh containing mixed cells (where several materials are mixed) this implementation is based on the youngs algorithm, generalized to arbitrary cell types and works on both 2D and 3D meshes. the main advantage of the youngs algorithm is it guarantees the material volume correctness. for 2D meshes, the AxisSymetric flag allows to switch between a pure 2D (plannar) algorithm and an axis symetric 2D algorithm handling volumes of revolution.

Thanks:
This file is part of the generalized Youngs material interface reconstruction algorithm contributed by
CEA/DIF - Commissariat a l'Energie Atomique, Centre DAM Ile-De-France
BP12, F-91297 Arpajon, France.
Implementation by Thierry Carrard (thierry.carrard@cea.fr)

Definition at line 41 of file vtkYoungsMaterialInterface.h.


Public Types

enum  { MAX_CELL_POINTS = 256 }
typedef
vtkMultiBlockDataSetAlgorithm 
Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void RemoveAllMaterials ()
virtual void SetInverseNormal (int)
virtual int GetInverseNormal ()
virtual void InverseNormalOn ()
virtual void InverseNormalOff ()
virtual void SetReverseMaterialOrder (int)
virtual int GetReverseMaterialOrder ()
virtual void ReverseMaterialOrderOn ()
virtual void ReverseMaterialOrderOff ()
virtual void SetOnionPeel (int)
virtual int GetOnionPeel ()
virtual void OnionPeelOn ()
virtual void OnionPeelOff ()
virtual void SetAxisSymetric (int)
virtual int GetAxisSymetric ()
virtual void AxisSymetricOn ()
virtual void AxisSymetricOff ()
virtual void SetUseFractionAsDistance (int)
virtual int GetUseFractionAsDistance ()
virtual void UseFractionAsDistanceOn ()
virtual void UseFractionAsDistanceOff ()
virtual void SetFillMaterial (int)
virtual int GetFillMaterial ()
virtual void FillMaterialOn ()
virtual void FillMaterialOff ()
virtual void SetTwoMaterialsOptimization (int)
virtual int GetTwoMaterialsOptimization ()
virtual void TwoMaterialsOptimizationOn ()
virtual void TwoMaterialsOptimizationOff ()
virtual void SetVolumeFractionRange (double, double)
void SetVolumeFractionRange (double[2])
virtual double * GetVolumeFractionRange ()
virtual void GetVolumeFractionRange (double data[2])
virtual void SetNumberOfMaterials (int n)
virtual int GetNumberOfMaterials ()
virtual void SetMaterialArrays (int i, const char *volumeFraction, const char *interfaceNormal, const char *materialOrdering)
virtual void SetMaterialVolumeFractionArray (int i, const char *volume)
virtual void SetMaterialNormalArray (int i, const char *normal)
virtual void SetMaterialOrderingArray (int i, const char *ordering)

Static Public Member Functions

static vtkYoungsMaterialInterfaceNew ()
static int IsTypeOf (const char *type)
static vtkYoungsMaterialInterfaceSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkYoungsMaterialInterface ()
 ~vtkYoungsMaterialInterface ()
virtual int FillInputPortInformation (int port, vtkInformation *info)
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
int CellProduceInterface (int dim, int np, double fraction, double minFrac, double maxFrac)

Protected Attributes

int FillMaterial
int InverseNormal
int AxisSymetric
int OnionPeel
int ReverseMaterialOrder
int UseFractionAsDistance
int TwoMaterialsOptimization
double VolumeFractionRange [2]
vtkYoungsMaterialInterfaceInternals * Internals

Member Typedef Documentation

Reimplemented from vtkMultiBlockDataSetAlgorithm.

Definition at line 45 of file vtkYoungsMaterialInterface.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
MAX_CELL_POINTS 

Definition at line 135 of file vtkYoungsMaterialInterface.h.


Constructor & Destructor Documentation

vtkYoungsMaterialInterface::vtkYoungsMaterialInterface (  )  [protected]

vtkYoungsMaterialInterface::~vtkYoungsMaterialInterface (  )  [protected]


Member Function Documentation

static vtkYoungsMaterialInterface* vtkYoungsMaterialInterface::New (  )  [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

virtual const char* vtkYoungsMaterialInterface::GetClassName (  )  [virtual]

Reimplemented from vtkMultiBlockDataSetAlgorithm.

static int vtkYoungsMaterialInterface::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

virtual int vtkYoungsMaterialInterface::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

static vtkYoungsMaterialInterface* vtkYoungsMaterialInterface::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkMultiBlockDataSetAlgorithm.

void vtkYoungsMaterialInterface::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

virtual void vtkYoungsMaterialInterface::SetInverseNormal ( int   )  [virtual]

Set/Get wether the normal vector has to be flipped.

virtual int vtkYoungsMaterialInterface::GetInverseNormal (  )  [virtual]

Set/Get wether the normal vector has to be flipped.

virtual void vtkYoungsMaterialInterface::InverseNormalOn (  )  [virtual]

Set/Get wether the normal vector has to be flipped.

virtual void vtkYoungsMaterialInterface::InverseNormalOff (  )  [virtual]

Set/Get wether the normal vector has to be flipped.

virtual void vtkYoungsMaterialInterface::SetReverseMaterialOrder ( int   )  [virtual]

If this flag is on, material order in reversed. Otherwise, materials are sorted in ascending order depending on the given ordering array.

virtual int vtkYoungsMaterialInterface::GetReverseMaterialOrder (  )  [virtual]

If this flag is on, material order in reversed. Otherwise, materials are sorted in ascending order depending on the given ordering array.

virtual void vtkYoungsMaterialInterface::ReverseMaterialOrderOn (  )  [virtual]

If this flag is on, material order in reversed. Otherwise, materials are sorted in ascending order depending on the given ordering array.

virtual void vtkYoungsMaterialInterface::ReverseMaterialOrderOff (  )  [virtual]

If this flag is on, material order in reversed. Otherwise, materials are sorted in ascending order depending on the given ordering array.

virtual void vtkYoungsMaterialInterface::SetOnionPeel ( int   )  [virtual]

Set/Get OnionPeel flag. if this flag is on, the normal vector of the first material (which depends on material ordering) is used for all materials.

virtual int vtkYoungsMaterialInterface::GetOnionPeel (  )  [virtual]

Set/Get OnionPeel flag. if this flag is on, the normal vector of the first material (which depends on material ordering) is used for all materials.

virtual void vtkYoungsMaterialInterface::OnionPeelOn (  )  [virtual]

Set/Get OnionPeel flag. if this flag is on, the normal vector of the first material (which depends on material ordering) is used for all materials.

virtual void vtkYoungsMaterialInterface::OnionPeelOff (  )  [virtual]

Set/Get OnionPeel flag. if this flag is on, the normal vector of the first material (which depends on material ordering) is used for all materials.

virtual void vtkYoungsMaterialInterface::SetAxisSymetric ( int   )  [virtual]

Turns on/off AxisSymetric computation of 2D interfaces. in axis symetric mode, 2D meshes are understood as volumes of revolution.

virtual int vtkYoungsMaterialInterface::GetAxisSymetric (  )  [virtual]

Turns on/off AxisSymetric computation of 2D interfaces. in axis symetric mode, 2D meshes are understood as volumes of revolution.

virtual void vtkYoungsMaterialInterface::AxisSymetricOn (  )  [virtual]

Turns on/off AxisSymetric computation of 2D interfaces. in axis symetric mode, 2D meshes are understood as volumes of revolution.

virtual void vtkYoungsMaterialInterface::AxisSymetricOff (  )  [virtual]

Turns on/off AxisSymetric computation of 2D interfaces. in axis symetric mode, 2D meshes are understood as volumes of revolution.

virtual void vtkYoungsMaterialInterface::SetUseFractionAsDistance ( int   )  [virtual]

when UseFractionAsDistance is true, the volume fraction is interpreted as the distance of the cutting plane from the origin. in axis symetric mode, 2D meshes are understood as volumes of revolution.

virtual int vtkYoungsMaterialInterface::GetUseFractionAsDistance (  )  [virtual]

when UseFractionAsDistance is true, the volume fraction is interpreted as the distance of the cutting plane from the origin. in axis symetric mode, 2D meshes are understood as volumes of revolution.

virtual void vtkYoungsMaterialInterface::UseFractionAsDistanceOn (  )  [virtual]

when UseFractionAsDistance is true, the volume fraction is interpreted as the distance of the cutting plane from the origin. in axis symetric mode, 2D meshes are understood as volumes of revolution.

virtual void vtkYoungsMaterialInterface::UseFractionAsDistanceOff (  )  [virtual]

when UseFractionAsDistance is true, the volume fraction is interpreted as the distance of the cutting plane from the origin. in axis symetric mode, 2D meshes are understood as volumes of revolution.

virtual void vtkYoungsMaterialInterface::SetFillMaterial ( int   )  [virtual]

When FillMaterial is set to 1, the volume containing material is output and not only the interface surface.

virtual int vtkYoungsMaterialInterface::GetFillMaterial (  )  [virtual]

When FillMaterial is set to 1, the volume containing material is output and not only the interface surface.

virtual void vtkYoungsMaterialInterface::FillMaterialOn (  )  [virtual]

When FillMaterial is set to 1, the volume containing material is output and not only the interface surface.

virtual void vtkYoungsMaterialInterface::FillMaterialOff (  )  [virtual]

When FillMaterial is set to 1, the volume containing material is output and not only the interface surface.

virtual void vtkYoungsMaterialInterface::SetTwoMaterialsOptimization ( int   )  [virtual]

Triggers some additional optimizations for cells containing only two materials. This option might produce different result than expected if the sum of volume fractions is not 1.

virtual int vtkYoungsMaterialInterface::GetTwoMaterialsOptimization (  )  [virtual]

Triggers some additional optimizations for cells containing only two materials. This option might produce different result than expected if the sum of volume fractions is not 1.

virtual void vtkYoungsMaterialInterface::TwoMaterialsOptimizationOn (  )  [virtual]

Triggers some additional optimizations for cells containing only two materials. This option might produce different result than expected if the sum of volume fractions is not 1.

virtual void vtkYoungsMaterialInterface::TwoMaterialsOptimizationOff (  )  [virtual]

Triggers some additional optimizations for cells containing only two materials. This option might produce different result than expected if the sum of volume fractions is not 1.

virtual void vtkYoungsMaterialInterface::SetVolumeFractionRange ( double  ,
double   
) [virtual]

Set/Get minimum and maximum volume fraction value. if a material fills a volume above the minimum value, the material is considered to be void. if a material fills a volume fraction beyond the maximum value it is considered as filling the whole volume.

void vtkYoungsMaterialInterface::SetVolumeFractionRange ( double  [2]  ) 

Set/Get minimum and maximum volume fraction value. if a material fills a volume above the minimum value, the material is considered to be void. if a material fills a volume fraction beyond the maximum value it is considered as filling the whole volume.

virtual double* vtkYoungsMaterialInterface::GetVolumeFractionRange (  )  [virtual]

Set/Get minimum and maximum volume fraction value. if a material fills a volume above the minimum value, the material is considered to be void. if a material fills a volume fraction beyond the maximum value it is considered as filling the whole volume.

virtual void vtkYoungsMaterialInterface::GetVolumeFractionRange ( double  data[2]  )  [virtual]

Set/Get minimum and maximum volume fraction value. if a material fills a volume above the minimum value, the material is considered to be void. if a material fills a volume fraction beyond the maximum value it is considered as filling the whole volume.

virtual void vtkYoungsMaterialInterface::SetNumberOfMaterials ( int  n  )  [virtual]

Sets/Gets the number of materials.

virtual int vtkYoungsMaterialInterface::GetNumberOfMaterials (  )  [virtual]

Sets/Gets the number of materials.

virtual void vtkYoungsMaterialInterface::SetMaterialArrays ( int  i,
const char *  volumeFraction,
const char *  interfaceNormal,
const char *  materialOrdering 
) [virtual]

Set ith Material arrays to be used as volume fraction, interface normal and material ordering. Each parameter name a cell array.

virtual void vtkYoungsMaterialInterface::SetMaterialVolumeFractionArray ( int  i,
const char *  volume 
) [virtual]

Set ith Material arrays to be used as volume fraction, interface normal and material ordering. Each parameter name a cell array.

virtual void vtkYoungsMaterialInterface::SetMaterialNormalArray ( int  i,
const char *  normal 
) [virtual]

Set ith Material arrays to be used as volume fraction, interface normal and material ordering. Each parameter name a cell array.

virtual void vtkYoungsMaterialInterface::SetMaterialOrderingArray ( int  i,
const char *  ordering 
) [virtual]

Set ith Material arrays to be used as volume fraction, interface normal and material ordering. Each parameter name a cell array.

virtual void vtkYoungsMaterialInterface::RemoveAllMaterials (  )  [virtual]

Removes all meterials previously added.

virtual int vtkYoungsMaterialInterface::FillInputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

virtual int vtkYoungsMaterialInterface::RequestData ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

int vtkYoungsMaterialInterface::CellProduceInterface ( int  dim,
int  np,
double  fraction,
double  minFrac,
double  maxFrac 
) [protected]


Member Data Documentation

Definition at line 152 of file vtkYoungsMaterialInterface.h.

Definition at line 153 of file vtkYoungsMaterialInterface.h.

Definition at line 154 of file vtkYoungsMaterialInterface.h.

Definition at line 155 of file vtkYoungsMaterialInterface.h.

Definition at line 156 of file vtkYoungsMaterialInterface.h.

Definition at line 157 of file vtkYoungsMaterialInterface.h.

Definition at line 158 of file vtkYoungsMaterialInterface.h.

Definition at line 159 of file vtkYoungsMaterialInterface.h.

vtkYoungsMaterialInterfaceInternals* vtkYoungsMaterialInterface::Internals [protected]

Definition at line 161 of file vtkYoungsMaterialInterface.h.


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

Generated on Mon Sep 27 19:05:23 2010 for VTK by  doxygen 1.5.6