VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkYoungsMaterialInterface Class Reference

reconstructs material interfaces More...

#include <vtkYoungsMaterialInterface.h>

Inheritance diagram for vtkYoungsMaterialInterface:
[legend]

Public Types

enum  { MAX_CELL_POINTS =256 }
 
typedef
vtkMultiBlockDataSetAlgorithm 
Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkYoungsMaterialInterfaceNewInstance () const
 
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 double * GetVolumeFractionRange ()
 
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 (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 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< vtkIntArray > MaterialBlockMapping
 
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 (thier.nosp@m.ry.c.nosp@m.arrar.nosp@m.d@ce.nosp@m.a.fr) Modification by Philippe Pebay (phili.nosp@m.ppe..nosp@m.pebay.nosp@m.@kit.nosp@m.ware..nosp@m.com)
Examples:
vtkYoungsMaterialInterface (Examples)
Tests:
vtkYoungsMaterialInterface (Tests)

Definition at line 52 of file vtkYoungsMaterialInterface.h.

Member Typedef Documentation

typedef vtkMultiBlockDataSetAlgorithm vtkYoungsMaterialInterface::Superclass

Definition at line 56 of file vtkYoungsMaterialInterface.h.

Member Enumeration Documentation

anonymous enum
Enumerator
MAX_CELL_POINTS 

Definition at line 170 of file vtkYoungsMaterialInterface.h.

Constructor & Destructor Documentation

vtkYoungsMaterialInterface::vtkYoungsMaterialInterface ( )
protected
virtual vtkYoungsMaterialInterface::~vtkYoungsMaterialInterface ( )
protectedvirtual

Member Function Documentation

static vtkYoungsMaterialInterface* vtkYoungsMaterialInterface::New ( )
static
static int vtkYoungsMaterialInterface::IsTypeOf ( const char *  type)
static
virtual int vtkYoungsMaterialInterface::IsA ( const char *  type)
virtual

Reimplemented in vtkPYoungsMaterialInterface.

static vtkYoungsMaterialInterface* vtkYoungsMaterialInterface::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkYoungsMaterialInterface::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented in vtkPYoungsMaterialInterface.

vtkYoungsMaterialInterface* vtkYoungsMaterialInterface::NewInstance ( ) const
void vtkYoungsMaterialInterface::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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 
)
protectedvirtual
virtual int vtkYoungsMaterialInterface::RequestData ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
)
protectedvirtual
virtual void vtkYoungsMaterialInterface::Aggregate ( int  ,
int *   
)
protectedvirtual

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

int vtkYoungsMaterialInterface::FillMaterial
protected

Read-Write Properties

Definition at line 194 of file vtkYoungsMaterialInterface.h.

int vtkYoungsMaterialInterface::InverseNormal
protected

Read-Write Properties

Definition at line 195 of file vtkYoungsMaterialInterface.h.

int vtkYoungsMaterialInterface::AxisSymetric
protected

Read-Write Properties

Definition at line 196 of file vtkYoungsMaterialInterface.h.

int vtkYoungsMaterialInterface::OnionPeel
protected

Read-Write Properties

Definition at line 197 of file vtkYoungsMaterialInterface.h.

int vtkYoungsMaterialInterface::ReverseMaterialOrder
protected

Read-Write Properties

Definition at line 198 of file vtkYoungsMaterialInterface.h.

int vtkYoungsMaterialInterface::UseFractionAsDistance
protected

Read-Write Properties

Definition at line 199 of file vtkYoungsMaterialInterface.h.

double vtkYoungsMaterialInterface::VolumeFractionRange[2]
protected

Read-Write Properties

Definition at line 200 of file vtkYoungsMaterialInterface.h.

vtkSmartPointer<vtkIntArray> vtkYoungsMaterialInterface::MaterialBlockMapping
protected

Read-Write Properties

Definition at line 202 of file vtkYoungsMaterialInterface.h.

bool vtkYoungsMaterialInterface::UseAllBlocks
protected

Read-Write Properties

Definition at line 204 of file vtkYoungsMaterialInterface.h.

int vtkYoungsMaterialInterface::NumberOfDomains
protected

Read only properties

Definition at line 208 of file vtkYoungsMaterialInterface.h.

vtkYoungsMaterialInterfaceInternals* vtkYoungsMaterialInterface::Internals
protected

Definition at line 212 of file vtkYoungsMaterialInterface.h.


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