VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkYoungsMaterialInterface Class Reference

reconstructs material interfaces More...

#include <vtkYoungsMaterialInterface.h>

Inheritance diagram for vtkYoungsMaterialInterface:
Inheritance graph
[legend]
Collaboration diagram for vtkYoungsMaterialInterface:
Collaboration graph
[legend]

List of all members.

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 SetVolumeFractionRange (double, double)
void SetVolumeFractionRange (double[2])
virtual doubleGetVolumeFractionRange ()
virtual void GetVolumeFractionRange (double data[2])
virtual void SetNumberOfMaterials (int n)
virtual int GetNumberOfMaterials ()
virtual void SetUseAllBlocks (bool)
virtual bool GetUseAllBlocks ()
virtual void UseAllBlocksOn ()
virtual void UseAllBlocksOff ()
virtual int GetNumberOfDomains ()
virtual void SetMaterialArrays (int i, const char *volume, const char *normalX, const char *normalY, const char *normalZ, const char *ordering)
virtual void SetMaterialArrays (int i, const char *volume, const char *normal, const char *ordering)
virtual void SetMaterialVolumeFractionArray (int i, const char *volume)
virtual void SetMaterialNormalArray (int i, const char *normal)
virtual void SetMaterialOrderingArray (int i, const char *ordering)
virtual void SetMaterialNormalArray (const char *volume, const char *normal)
virtual void SetMaterialOrderingArray (const char *volume, const char *ordering)
virtual void RemoveAllMaterialBlockMappings ()
virtual void AddMaterialBlockMapping (int b)

Static Public Member Functions

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

Protected Member Functions

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

Protected Attributes

int NumberOfDomains
vtkYoungsMaterialInterfaceInternals * Internals
int FillMaterial
int InverseNormal
int AxisSymetric
int OnionPeel
int ReverseMaterialOrder
int UseFractionAsDistance
double VolumeFractionRange [2]
vtkSmartPointer< vtkIntArrayMaterialBlockMapping
bool UseAllBlocks

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 (planar) 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) Modification by Philippe Pebay (philippe.pebay@kitware.com)
Examples:
vtkYoungsMaterialInterface (Examples)
Tests:
vtkYoungsMaterialInterface (Tests)

Definition at line 51 of file vtkYoungsMaterialInterface.h.


Member Typedef Documentation

Reimplemented from vtkMultiBlockDataSetAlgorithm.

Reimplemented in vtkPYoungsMaterialInterface.

Definition at line 55 of file vtkYoungsMaterialInterface.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
MAX_CELL_POINTS 

Definition at line 169 of file vtkYoungsMaterialInterface.h.


Constructor & Destructor Documentation

vtkYoungsMaterialInterface::vtkYoungsMaterialInterface ( ) [protected]
virtual vtkYoungsMaterialInterface::~vtkYoungsMaterialInterface ( ) [protected, virtual]

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.

Reimplemented in vtkPYoungsMaterialInterface.

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

Reimplemented from vtkMultiBlockDataSetAlgorithm.

Reimplemented in vtkPYoungsMaterialInterface.

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.

Reimplemented in vtkPYoungsMaterialInterface.

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.

Reimplemented in vtkPYoungsMaterialInterface.

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

Reimplemented from vtkMultiBlockDataSetAlgorithm.

Reimplemented in vtkPYoungsMaterialInterface.

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.

Reimplemented in vtkPYoungsMaterialInterface.

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::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::SetUseAllBlocks ( bool  ) [virtual]

Set/Get whether all material blocks should be used, irrespective of the material block mapping.

virtual bool vtkYoungsMaterialInterface::GetUseAllBlocks ( ) [virtual]

Set/Get whether all material blocks should be used, irrespective of the material block mapping.

virtual void vtkYoungsMaterialInterface::UseAllBlocksOn ( ) [virtual]

Set/Get whether all material blocks should be used, irrespective of the material block mapping.

virtual void vtkYoungsMaterialInterface::UseAllBlocksOff ( ) [virtual]

Set/Get whether all material blocks should be used, irrespective of the material block mapping.

virtual int vtkYoungsMaterialInterface::GetNumberOfDomains ( ) [virtual]

Only meaningfull for LOVE software. returns the maximum number of blocks conatining the same material

virtual void vtkYoungsMaterialInterface::SetMaterialArrays ( int  i,
const char *  volume,
const char *  normalX,
const char *  normalY,
const char *  normalZ,
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::SetMaterialArrays ( int  i,
const char *  volume,
const char *  normal,
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::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 void vtkYoungsMaterialInterface::SetMaterialNormalArray ( const char *  volume,
const char *  normal 
) [virtual]

Alternative API for associating Normal and Ordering arrays to materials identified by its volume-fraction array. Note that these mappings are cleared by a call to RemoveAllMaterials() but not by SetNumberOfMaterials(). If one uses the SetMaterial*Array(int, ...) API to set the normal or ordering arrays, then that supersedes the values set using this API.

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

Alternative API for associating Normal and Ordering arrays to materials identified by its volume-fraction array. Note that these mappings are cleared by a call to RemoveAllMaterials() but not by SetNumberOfMaterials(). If one uses the SetMaterial*Array(int, ...) API to set the normal or ordering arrays, then that supersedes the values set using this API.

virtual void vtkYoungsMaterialInterface::RemoveAllMaterialBlockMappings ( ) [virtual]

select blocks to be processed for each described material.

virtual void vtkYoungsMaterialInterface::AddMaterialBlockMapping ( int  b) [virtual]

select blocks to be processed for each described material.

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.

virtual void vtkYoungsMaterialInterface::Aggregate ( int  ,
int  
) [protected, virtual]

Serial implementation of the material aggregation.

Reimplemented in vtkPYoungsMaterialInterface.

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

Member Data Documentation

Read-Write Properties

Definition at line 193 of file vtkYoungsMaterialInterface.h.

Read-Write Properties

Definition at line 194 of file vtkYoungsMaterialInterface.h.

Read-Write Properties

Definition at line 195 of file vtkYoungsMaterialInterface.h.

Read-Write Properties

Definition at line 196 of file vtkYoungsMaterialInterface.h.

Read-Write Properties

Definition at line 197 of file vtkYoungsMaterialInterface.h.

Read-Write Properties

Definition at line 198 of file vtkYoungsMaterialInterface.h.

Read-Write Properties

Definition at line 199 of file vtkYoungsMaterialInterface.h.

Read-Write Properties

Definition at line 201 of file vtkYoungsMaterialInterface.h.

Read-Write Properties

Definition at line 203 of file vtkYoungsMaterialInterface.h.

Read only properties

Definition at line 207 of file vtkYoungsMaterialInterface.h.

vtkYoungsMaterialInterfaceInternals* vtkYoungsMaterialInterface::Internals [protected]

Definition at line 211 of file vtkYoungsMaterialInterface.h.


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