Arcane  4.2.1.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::MeshSectionService Class Reference

Service allowing the creation of a mesh with a section of another mesh. More...

Inheritance diagram for Arcane::MeshSectionService:
Collaboration diagram for Arcane::MeshSectionService:

Public Member Functions

 MeshSectionService (const ServiceBuildInfo &sbi)
void addPlane (const Real3 &p0, const Real3 &normal) override
 Method allowing to add a plane to the cut service. The use of these planes depends on the service.
void setVariables (VariableCollection variables) override
 Method allowing to add a set of variables to copy on the new mesh.
VariableCollection variables () override
 Method allowing to get a set of variables copied on the new mesh.
void setServiceMeshUniqueId (Int32 unique_id) override
 Method allowing to set a unique id allowing to create multiple section services for a mesh.
void updateSection () override
 Method allowing to update the mesh section with all planes.
MeshHandle meshSection () override
 Méthod allowing to get the mesh section.
Public Member Functions inherited from Arcane::ArcaneMeshSectionObject
 ArcaneMeshSectionObject (const Arcane::ServiceBuildInfo &sbi)
 Constructeur.
virtual ~ArcaneMeshSectionObject ()
 Destructeur.
CaseOptionsMeshSectionoptions () const
 Options du jeu de données du service.
Public Member Functions inherited from Arcane::BasicService
 ~BasicService () override
 Releases resources.
virtual ISubDomainsubDomain ()
Public Member Functions inherited from Arcane::AbstractService
 ~AbstractService () override
 Destructor.
virtual void build ()
 Build-level construction of the service.
IServiceInfoserviceInfo () const override
 Access to service information. See IServiceInfo for details.
IBaseserviceParent () const override
 Access to the base interface of main Arcane objects.
IServiceserviceInterface () override
 Returns the low-level IService interface of the service.
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Public Member Functions inherited from Arcane::IService
virtual ~IService ()
 Releases resources.
Public Member Functions inherited from Arcane::MeshAccessor
 MeshAccessor (ISubDomain *sd)
 MeshAccessor (IMesh *mesh)
 MeshAccessor (const MeshHandle &mesh_handle)
Integer nbCell () const
 Returns the number of cells in the mesh.
Integer nbFace () const
 Returns the number of faces in the mesh.
Integer nbEdge () const
 Returns the number of edges in the mesh.
Integer nbNode () const
 Returns the number of nodes in the mesh.
VariableNodeReal3nodesCoordinates () const
 Returns the coordinates of the mesh nodes.
NodeGroup allNodes () const
 Returns the group containing all nodes.
EdgeGroup allEdges () const
 Returns the group containing all edges.
FaceGroup allFaces () const
 Returns the group containing all faces.
CellGroup allCells () const
 Returns the group containing all cells.
FaceGroup outerFaces () const
 Returns the group containing all boundary faces.
NodeGroup ownNodes () const
 Returns the group containing all nodes specific to this domain.
CellGroup ownCells () const
 Returns the group containing all cells specific to this domain.
FaceGroup ownFaces () const
 Group containing all faces specific to this domain.
EdgeGroup ownEdges () const
 Group containing all edges specific to this domain.
IMeshmesh () const
const MeshHandlemeshHandle () const
Public Member Functions inherited from Arcane::CommonVariables
 CommonVariables (IModule *c)
 Constructs the references of the common variables for the module c.
 CommonVariables (IVariableMng *variable_mng)
 Constructs the references of the common variables for the manager variable_mng.
 CommonVariables (ISubDomain *sd)
 Constructs the references of the common variables for the subdomain sd.
virtual ~CommonVariables ()
 Releases resources.
Int32 globalIteration () const
 Current iteration number.
Real globalTime () const
 Current time.
Real globalOldTime () const
 Previous current time.
Real globalFinalTime () const
 Final time of the simulation.
Real globalDeltaT () const
 Current Delta T.
Real globalCPUTime () const
 CPU time used (in seconds).
Real globalOldCPUTime () const
 Previous CPU time used (in seconds).
Real globalElapsedTime () const
 Clock time (elapsed) used (in seconds).
Real globalOldElapsedTime () const
 Previous clock time (elapsed) used (in seconds).
Public Member Functions inherited from Arcane::IMeshSection
virtual ~IMeshSection ()=default
 Releases resources.

Private Member Functions

void _createMesh ()
void _createCells (Int32 &nb_cell, UniqueArray< Int64 > &cells_infos, Int32 &nb_face, UniqueArray< Int64 > &faces_infos, std::unordered_map< Int64, Real3 > &pos_node)
void _compute ()

Private Attributes

IPrimaryMeshm_cloned_mesh = nullptr
UniqueArray< std::pair< Real3, Real3 > > m_plans
Int32 m_mesh_uid = -1
eServiceType m_creation_type

Additional Inherited Members

Static Public Member Functions inherited from Arcane::ArcaneMeshSectionObject
template<typename ServiceClassType>
static void fillServiceInfo (Arcane::ServiceInfo *si)
Public Attributes inherited from Arcane::CommonVariables
VariableScalarInt32 m_global_iteration
 Current iteration.
VariableScalarReal m_global_time
 Current time.
VariableScalarReal m_global_deltat
 Global Delta T.
VariableScalarReal m_global_old_time
 Time previous to the current time.
VariableScalarReal m_global_old_deltat
 Delta T at the time previous to the global time.
VariableScalarReal m_global_final_time
 Final time of the case.
VariableScalarReal m_global_old_cpu_time
 Previous CPU time used (in seconds).
VariableScalarReal m_global_cpu_time
 CPU time used (in seconds).
VariableScalarReal m_global_old_elapsed_time
 Previous clock time used (in seconds).
VariableScalarReal m_global_elapsed_time
 Clock time used (in seconds).
Protected Member Functions inherited from Arcane::BasicService
 BasicService (const ServiceBuildInfo &)
Protected Member Functions inherited from Arcane::AbstractService
 AbstractService (const ServiceBuildInfo &)
 Constructor from a ServiceBuildInfo.
Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const
Protected Member Functions inherited from Arcane::IService
 IService ()
 Constructor.

Detailed Description

Service allowing the creation of a mesh with a section of another mesh.

You can define a section of mesh with the method addPlan(). All cells (their barycenter) between these planes will be copied in a second mesh created by this service. You can get this mesh with the method meshSection().

Definition at line 42 of file MeshSectionService.cc.

Constructor & Destructor Documentation

◆ MeshSectionService()

Arcane::MeshSectionService::MeshSectionService ( const ServiceBuildInfo & sbi)
inlineexplicit

Definition at line 47 of file MeshSectionService.cc.

Member Function Documentation

◆ _compute()

void Arcane::MeshSectionService::_compute ( )
private

Definition at line 236 of file MeshSectionService.cc.

◆ _createCells()

void Arcane::MeshSectionService::_createCells ( Int32 & nb_cell,
UniqueArray< Int64 > & cells_infos,
Int32 & nb_face,
UniqueArray< Int64 > & faces_infos,
std::unordered_map< Int64, Real3 > & pos_node )
private

Definition at line 171 of file MeshSectionService.cc.

◆ _createMesh()

void Arcane::MeshSectionService::_createMesh ( )
private

Definition at line 131 of file MeshSectionService.cc.

◆ addPlane()

void Arcane::MeshSectionService::addPlane ( const Real3 & p0,
const Real3 & normal )
overridevirtual

Method allowing to add a plane to the cut service. The use of these planes depends on the service.

Parameters
p0Point of the plane.
normalNormal of the plane.

Implements Arcane::IMeshSection.

Definition at line 92 of file MeshSectionService.cc.

References Arcane::math::normalizeReal3().

Here is the call graph for this function:

◆ meshSection()

MeshHandle Arcane::MeshSectionService::meshSection ( )
inlineoverridevirtual

Méthod allowing to get the mesh section.

Returns
The mesh section.

Implements Arcane::IMeshSection.

Definition at line 61 of file MeshSectionService.cc.

◆ setServiceMeshUniqueId()

void Arcane::MeshSectionService::setServiceMeshUniqueId ( Int32 unique_id)
overridevirtual

Method allowing to set a unique id allowing to create multiple section services for a mesh.

Parameters
unique_idMesh unique id to apply.

Implements Arcane::IMeshSection.

Definition at line 112 of file MeshSectionService.cc.

◆ setVariables()

void Arcane::MeshSectionService::setVariables ( VariableCollection variables)
overridevirtual

Method allowing to add a set of variables to copy on the new mesh.

Parameters
variablesA set of variable on the original mesh.

Implements Arcane::IMeshSection.

Definition at line 101 of file MeshSectionService.cc.

References variables().

Here is the call graph for this function:

◆ updateSection()

void Arcane::MeshSectionService::updateSection ( )
overridevirtual

Method allowing to update the mesh section with all planes.

If a previous call has edited the mesh, all the cells will be destroyed before update.

Implements Arcane::IMeshSection.

Definition at line 121 of file MeshSectionService.cc.

◆ variables()

VariableCollection Arcane::MeshSectionService::variables ( )
inlineoverridevirtual

Method allowing to get a set of variables copied on the new mesh.

Returns
A set of variables on the cloned mesh.

Implements Arcane::IMeshSection.

Definition at line 57 of file MeshSectionService.cc.

Referenced by setVariables().

Here is the caller graph for this function:

Member Data Documentation

◆ m_cloned_mesh

IPrimaryMesh* Arcane::MeshSectionService::m_cloned_mesh = nullptr
private

Definition at line 75 of file MeshSectionService.cc.

◆ m_creation_type

eServiceType Arcane::MeshSectionService::m_creation_type
private

Definition at line 78 of file MeshSectionService.cc.

◆ m_mesh_uid

Int32 Arcane::MeshSectionService::m_mesh_uid = -1
private

Definition at line 77 of file MeshSectionService.cc.

◆ m_plans

UniqueArray<std::pair<Real3, Real3> > Arcane::MeshSectionService::m_plans
private

Definition at line 76 of file MeshSectionService.cc.


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