reconstructs material interfaces
More...
#include <vtkYoungsMaterialInterface.h>
|
virtual int | IsA (const char *type) |
|
vtkYoungsMaterialInterface * | NewInstance () 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) |
|
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.
vtkYoungsMaterialInterface::vtkYoungsMaterialInterface |
( |
| ) |
|
|
protected |
virtual vtkYoungsMaterialInterface::~vtkYoungsMaterialInterface |
( |
| ) |
|
|
protectedvirtual |
static int vtkYoungsMaterialInterface::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
virtual int vtkYoungsMaterialInterface::IsA |
( |
const char * |
type | ) |
|
|
virtual |
virtual vtkObjectBase* vtkYoungsMaterialInterface::NewInstanceInternal |
( |
| ) |
const |
|
protectedvirtual |
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 |
void vtkYoungsMaterialInterface::UpdateBlockMapping |
( |
| ) |
|
|
protected |
int vtkYoungsMaterialInterface::CellProduceInterface |
( |
int |
dim, |
|
|
int |
np, |
|
|
double |
fraction, |
|
|
double |
minFrac, |
|
|
double |
maxFrac |
|
) |
| |
|
protected |
int vtkYoungsMaterialInterface::FillMaterial |
|
protected |
int vtkYoungsMaterialInterface::InverseNormal |
|
protected |
int vtkYoungsMaterialInterface::AxisSymetric |
|
protected |
int vtkYoungsMaterialInterface::OnionPeel |
|
protected |
int vtkYoungsMaterialInterface::ReverseMaterialOrder |
|
protected |
int vtkYoungsMaterialInterface::UseFractionAsDistance |
|
protected |
double vtkYoungsMaterialInterface::VolumeFractionRange[2] |
|
protected |
vtkSmartPointer<vtkIntArray> vtkYoungsMaterialInterface::MaterialBlockMapping |
|
protected |
bool vtkYoungsMaterialInterface::UseAllBlocks |
|
protected |
int vtkYoungsMaterialInterface::NumberOfDomains |
|
protected |
vtkYoungsMaterialInterfaceInternals* vtkYoungsMaterialInterface::Internals |
|
protected |
The documentation for this class was generated from the following file: