NeoPZ
pzflowcmesh.h
Go to the documentation of this file.
1 
6 #include "pzcompel.h"
7 #include "pzgeoel.h"
8 #include "pzconslaw.h"
9 #include "pzerror.h"
10 
11 #ifndef TPZFLOWCOMPMESH_H
12 #define TPZFLOWCOMPMESH_H
13 
14 class TPZMaterial;
15 class TPZGeoMesh;
16 #include <iostream>
17 #include "pzcmesh.h"
18 
28 {
29 
30 public:
32 
34 
36 
38  REAL MaxVelocityOfMesh();
39 
42  REAL ComputeTimeStep();
43 
46  void SetCFL(REAL CFL);
47 
49  void ScaleCFL(REAL scale);
50 
53  void CollectFluidMaterials();
54 
60 
63 
66 
69  virtual void AutoBuild() override;
70 
73 
75  int NFlowMaterials();
76 
78  public:
79 int ClassId() const override;
80 
82  void Write(TPZStream &buf, int withclassid) const override;
83 
85  void Read(TPZStream &buf, void *context) override;
86 
88  virtual void ExpandSolution2();
89 
90 protected:
91 
94  std::map<int, TPZMaterial* > fFluidMaterial;
95 };
96 
97 #endif
REAL ComputeTimeStep()
Computes the current time step for the mesh.
void Read(TPZStream &buf, void *context) override
Read the element data from a stream.
int NFlowMaterials()
Returns the number of Flow materials.
void ScaleCFL(REAL scale)
Scales the CFL of all materials.
Contains declaration of TPZCompEl class which defines the interface of a computational element...
Defines PZError.
void CollectFluidMaterials()
Should be called after all materials have been added to the mesh.
Definition: pzflowcmesh.cpp:92
virtual void ExpandSolution2()
Adapt the solution vector to new block dimensions.
This abstract class defines the behaviour which each derived class needs to implement.
Definition: TPZMaterial.h:39
Computational mesh with additional data for CFD problems. Computational Mesh.
Definition: pzflowcmesh.h:27
int ClassId() const override
Returns the unique identifier for reading/writing objects to streams.
TPZMaterial * GetFlowMaterial()
Returns the first flow material in the mesh.
REAL MaxVelocityOfMesh()
According to each material settings, it returns the greatest velocity in the mesh.
Definition: pzflowcmesh.cpp:22
void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
TPZResidualType
Which terms are being contributed.
Definition: pzconslaw.h:58
void SetContributionTime(TPZContributeTime time)
Informs the time at which the current solution in the computational mesh belongs, so that the materia...
std::map< int, TPZMaterial *> fFluidMaterial
This vector of pointers represent the collection of all fluid materials in the mesh.
Definition: pzflowcmesh.h:94
void SetResidualType(TPZResidualType type)
Sets the kind of residual to be computed.
void SetFlowforcingFunction(TPZAutoPointer< TPZFunction< STATE > > fp)
Sets the forcing funtion for all fluid materials in the mesh.
Contains declaration of TPZCompMesh class which is a repository for computational elements...
virtual void AutoBuild() override
Creates the computational elements, and the degree of freedom nodes.
This class implements a geometric mesh for the pz environment. Geometry.
Definition: pzgmesh.h:48
Implements computational mesh. Computational Mesh.
Definition: pzcmesh.h:47
void SetCFL(REAL CFL)
Informs all materials the CFL number.
Defines the interface for saving and reading data. Persistency.
Definition: TPZStream.h:50
Contains the TPZConservationLaw class which implements the interface for conservation laws...
TPZContributeTime
Indicates which term is put in the right hand side and tangent matrix.
Definition: pzconslaw.h:47
This class implements a reference counter mechanism to administer a dynamically allocated object...