oomph::GmshParameters Class Reference

Class to collate parameters for Gmsh mesh generation. More...

#include <gmsh_tet_mesh.template.h>

Public Member Functions

 GmshParameters (TetMeshFacetedClosedSurface *const &outer_boundary_pt, const std::string &gmsh_command_line_invocation)
 
TetMeshFacetedClosedSurface *& outer_boundary_pt ()
 Outer boundary. More...
 
Vector< TetMeshFacetedSurface * > & internal_surface_pt ()
 Internal boundaries. More...
 
doubleelement_volume ()
 Uniform target element volume. More...
 
std::string & target_size_file_name ()
 
std::string & gmsh_command_line_invocation ()
 String to be issued via system command to activate gmsh. More...
 
std::string & geo_and_msh_file_stem ()
 
doublemax_element_size ()
 Max. element size during refinement. More...
 
doublemin_element_size ()
 Min. element size during refinement. More...
 
doublemax_permitted_edge_ratio ()
 Max. permitted edge ratio. More...
 
doubledx_for_target_size_transfer ()
 (Isotropic) grid spacing for target size transfer More...
 
unsignedmax_sample_points_for_limited_locate_zeta_during_target_size_transfer ()
 
std::string & stem_for_filename_gmsh_size_transfer ()
 
intcounter_for_filename_gmsh_size_transfer ()
 
bool projection_is_disabled ()
 Is projection of old solution onto new mesh disabled? More...
 
void disable_projection ()
 Disable projection of old solution onto new mesh. More...
 
void enable_projection ()
 Disable projection of old solution onto new mesh. More...
 
std::string & gmsh_onscreen_output_file_name ()
 Output filename for gmsh on-screen output. More...
 
unsignedgmsh_onscreen_output_counter ()
 

Private Attributes

TetMeshFacetedClosedSurfaceOuter_boundary_pt
 Pointer to outer boundary. More...
 
Vector< TetMeshFacetedSurface * > Internal_surface_pt
 Internal boundaries. More...
 
double Element_volume
 Uniform element volume. More...
 
std::string Target_size_file_name
 
std::string Geo_and_msh_file_stem
 
std::string Gmsh_command_line_invocation
 Gmsh command line invocation string. More...
 
double Max_element_size
 Max. element size during refinement. More...
 
double Min_element_size
 Min. element size during refinement. More...
 
double Max_permitted_edge_ratio
 Max edge ratio before remesh gets triggered. More...
 
double Dx_for_target_size_transfer
 (Isotropic) grid spacing for target size transfer More...
 
unsigned Max_sample_points_for_limited_locate_zeta_during_target_size_transfer
 
std::string Stem_for_filename_gmsh_size_transfer
 
int Counter_for_filename_gmsh_size_transfer
 
bool Projection_is_disabled
 Is projection of old solution onto new mesh disabled? More...
 
std::string Gmsh_onscreen_output_file_name
 Output filename for gmsh on-screen output. More...
 
unsigned Gmsh_onscreen_output_counter
 

Detailed Description

Class to collate parameters for Gmsh mesh generation.

Constructor & Destructor Documentation

◆ GmshParameters()

oomph::GmshParameters::GmshParameters ( TetMeshFacetedClosedSurface *const &  outer_boundary_pt,
const std::string &  gmsh_command_line_invocation 
)
inline

Specify outer boundary of domain to be meshed. Other parameters get default values and can be set via member functions

58  Element_volume(1.0),
59  Target_size_file_name(".gmsh_target_size_for_adaptation.dat"),
60  Geo_and_msh_file_stem(".geo_file"),
62  Max_element_size(1.0),
63  Min_element_size(0.01),
67  5),
73  {
74  }
double Dx_for_target_size_transfer
(Isotropic) grid spacing for target size transfer
Definition: gmsh_tet_mesh.template.h:227
TetMeshFacetedClosedSurface * Outer_boundary_pt
Pointer to outer boundary.
Definition: gmsh_tet_mesh.template.h:198
std::string Geo_and_msh_file_stem
Definition: gmsh_tet_mesh.template.h:212
std::string Gmsh_command_line_invocation
Gmsh command line invocation string.
Definition: gmsh_tet_mesh.template.h:215
double Max_element_size
Max. element size during refinement.
Definition: gmsh_tet_mesh.template.h:218
unsigned Max_sample_points_for_limited_locate_zeta_during_target_size_transfer
Definition: gmsh_tet_mesh.template.h:234
double Min_element_size
Min. element size during refinement.
Definition: gmsh_tet_mesh.template.h:221
double Element_volume
Uniform element volume.
Definition: gmsh_tet_mesh.template.h:204
std::string & gmsh_command_line_invocation()
String to be issued via system command to activate gmsh.
Definition: gmsh_tet_mesh.template.h:103
unsigned Gmsh_onscreen_output_counter
Definition: gmsh_tet_mesh.template.h:254
TetMeshFacetedClosedSurface *& outer_boundary_pt()
Outer boundary.
Definition: gmsh_tet_mesh.template.h:77
double Max_permitted_edge_ratio
Max edge ratio before remesh gets triggered.
Definition: gmsh_tet_mesh.template.h:224
std::string Stem_for_filename_gmsh_size_transfer
Definition: gmsh_tet_mesh.template.h:239
std::string Target_size_file_name
Definition: gmsh_tet_mesh.template.h:208
bool Projection_is_disabled
Is projection of old solution onto new mesh disabled?
Definition: gmsh_tet_mesh.template.h:247
std::string Gmsh_onscreen_output_file_name
Output filename for gmsh on-screen output.
Definition: gmsh_tet_mesh.template.h:250
int Counter_for_filename_gmsh_size_transfer
Definition: gmsh_tet_mesh.template.h:244

Member Function Documentation

◆ counter_for_filename_gmsh_size_transfer()

int& oomph::GmshParameters::counter_for_filename_gmsh_size_transfer ( )
inline

Counter for filename used to doc target element sizes on gmsh grid. No doc if stem is equal to empty string (or counter is negative)

161  {
163  }

References Counter_for_filename_gmsh_size_transfer.

Referenced by TetmeshPoissonProblem< ELEMENT >::TetmeshPoissonProblem().

◆ disable_projection()

void oomph::GmshParameters::disable_projection ( )
inline

Disable projection of old solution onto new mesh.

173  {
174  Projection_is_disabled = true;
175  }

References Projection_is_disabled.

◆ dx_for_target_size_transfer()

double& oomph::GmshParameters::dx_for_target_size_transfer ( )
inline

(Isotropic) grid spacing for target size transfer

136  {
138  }

References Dx_for_target_size_transfer.

◆ element_volume()

double& oomph::GmshParameters::element_volume ( )
inline

Uniform target element volume.

90  {
91  return Element_volume;
92  }

References Element_volume.

Referenced by TetmeshPoissonProblem< ELEMENT >::TetmeshPoissonProblem(), and oomph::GmshTetScaffoldMesh::write_geo_file().

◆ enable_projection()

void oomph::GmshParameters::enable_projection ( )
inline

Disable projection of old solution onto new mesh.

179  {
180  Projection_is_disabled = false;
181  }

References Projection_is_disabled.

◆ geo_and_msh_file_stem()

std::string& oomph::GmshParameters::geo_and_msh_file_stem ( )
inline

Stem for geo and msh files (input/output to command-line gmsh invocation)

111  {
112  return Geo_and_msh_file_stem;
113  }

References Geo_and_msh_file_stem.

Referenced by oomph::GmshTetScaffoldMesh::create_mesh_from_msh_file(), oomph::GmshTetScaffoldMesh::GmshTetScaffoldMesh(), and oomph::GmshTetScaffoldMesh::write_geo_file().

◆ gmsh_command_line_invocation()

std::string& oomph::GmshParameters::gmsh_command_line_invocation ( )
inline

String to be issued via system command to activate gmsh.

104  {
106  }

References Gmsh_command_line_invocation.

Referenced by oomph::GmshTetScaffoldMesh::GmshTetScaffoldMesh().

◆ gmsh_onscreen_output_counter()

unsigned& oomph::GmshParameters::gmsh_onscreen_output_counter ( )
inline

Counter for marker that indicates where we are in gmsh on-screen output

192  {
194  }

References Gmsh_onscreen_output_counter.

Referenced by oomph::GmshTetScaffoldMesh::GmshTetScaffoldMesh().

◆ gmsh_onscreen_output_file_name()

std::string& oomph::GmshParameters::gmsh_onscreen_output_file_name ( )
inline

◆ internal_surface_pt()

Vector<TetMeshFacetedSurface*>& oomph::GmshParameters::internal_surface_pt ( )
inline

Internal boundaries.

84  {
85  return Internal_surface_pt;
86  }
Vector< TetMeshFacetedSurface * > Internal_surface_pt
Internal boundaries.
Definition: gmsh_tet_mesh.template.h:201

References Internal_surface_pt.

Referenced by oomph::GmshTetMesh< ELEMENT >::build_it(), TetmeshPoissonProblem< ELEMENT >::TetmeshPoissonProblem(), and oomph::GmshTetScaffoldMesh::write_geo_file().

◆ max_element_size()

double& oomph::GmshParameters::max_element_size ( )
inline

Max. element size during refinement.

118  {
119  return Max_element_size;
120  }

References Max_element_size.

Referenced by oomph::RefineableGmshTetMesh< ELEMENT >::initialise_adaptation_data().

◆ max_permitted_edge_ratio()

double& oomph::GmshParameters::max_permitted_edge_ratio ( )
inline

Max. permitted edge ratio.

130  {
132  }

References Max_permitted_edge_ratio.

Referenced by oomph::RefineableGmshTetMesh< ELEMENT >::initialise_adaptation_data().

◆ max_sample_points_for_limited_locate_zeta_during_target_size_transfer()

unsigned& oomph::GmshParameters::max_sample_points_for_limited_locate_zeta_during_target_size_transfer ( )
inline

Target size is transferred onto regular grid (for gmsh) by locate zeta. We try to find the exact point in the existing mesh but if we fail to converge from the nearest specified number of sample points we use the nearest of those.

References Max_sample_points_for_limited_locate_zeta_during_target_size_transfer.

◆ min_element_size()

double& oomph::GmshParameters::min_element_size ( )
inline

Min. element size during refinement.

124  {
125  return Min_element_size;
126  }

References Min_element_size.

Referenced by oomph::RefineableGmshTetMesh< ELEMENT >::initialise_adaptation_data().

◆ outer_boundary_pt()

TetMeshFacetedClosedSurface*& oomph::GmshParameters::outer_boundary_pt ( )
inline

Outer boundary.

78  {
79  return Outer_boundary_pt;
80  }

References Outer_boundary_pt.

Referenced by oomph::GmshTetMesh< ELEMENT >::build_it(), and oomph::GmshTetScaffoldMesh::write_geo_file().

◆ projection_is_disabled()

bool oomph::GmshParameters::projection_is_disabled ( )
inline

Is projection of old solution onto new mesh disabled?

167  {
168  return Projection_is_disabled;
169  }

References Projection_is_disabled.

◆ stem_for_filename_gmsh_size_transfer()

std::string& oomph::GmshParameters::stem_for_filename_gmsh_size_transfer ( )
inline

Stem for filename used to doc target element sizes on gmsh grid. No doc if stem is equal to empty string (or counter is negative)

153  {
155  }

References Stem_for_filename_gmsh_size_transfer.

Referenced by TetmeshPoissonProblem< ELEMENT >::TetmeshPoissonProblem().

◆ target_size_file_name()

std::string& oomph::GmshParameters::target_size_file_name ( )
inline

Filename for target volumes (for system-call based transfer to gmsh during mesh adaptation). Default: .gmsh_target_size_for_adaptation.dat

98  {
99  return Target_size_file_name;
100  }

References Target_size_file_name.

Referenced by oomph::GmshTetScaffoldMesh::write_geo_file().

Member Data Documentation

◆ Counter_for_filename_gmsh_size_transfer

int oomph::GmshParameters::Counter_for_filename_gmsh_size_transfer
private

Counter for filename used to doc target element sizes on gmsh grid. No doc if stem is equal to empty string (or counter is negative)

Referenced by counter_for_filename_gmsh_size_transfer().

◆ Dx_for_target_size_transfer

double oomph::GmshParameters::Dx_for_target_size_transfer
private

(Isotropic) grid spacing for target size transfer

Referenced by dx_for_target_size_transfer().

◆ Element_volume

double oomph::GmshParameters::Element_volume
private

Uniform element volume.

Referenced by element_volume().

◆ Geo_and_msh_file_stem

std::string oomph::GmshParameters::Geo_and_msh_file_stem
private

Stem for geo and msh files (input/output to command-line gmsh invocation)

Referenced by geo_and_msh_file_stem().

◆ Gmsh_command_line_invocation

std::string oomph::GmshParameters::Gmsh_command_line_invocation
private

Gmsh command line invocation string.

Referenced by gmsh_command_line_invocation().

◆ Gmsh_onscreen_output_counter

unsigned oomph::GmshParameters::Gmsh_onscreen_output_counter
private

Counter for marker that indicates where we are in gmsh on-screen output

Referenced by gmsh_onscreen_output_counter().

◆ Gmsh_onscreen_output_file_name

std::string oomph::GmshParameters::Gmsh_onscreen_output_file_name
private

Output filename for gmsh on-screen output.

Referenced by gmsh_onscreen_output_file_name().

◆ Internal_surface_pt

Vector<TetMeshFacetedSurface*> oomph::GmshParameters::Internal_surface_pt
private

Internal boundaries.

Referenced by internal_surface_pt().

◆ Max_element_size

double oomph::GmshParameters::Max_element_size
private

Max. element size during refinement.

Referenced by max_element_size().

◆ Max_permitted_edge_ratio

double oomph::GmshParameters::Max_permitted_edge_ratio
private

Max edge ratio before remesh gets triggered.

Referenced by max_permitted_edge_ratio().

◆ Max_sample_points_for_limited_locate_zeta_during_target_size_transfer

unsigned oomph::GmshParameters::Max_sample_points_for_limited_locate_zeta_during_target_size_transfer
private

Target size is transferred onto regular grid (for gmsh) by locate zeta. We try to find the exact point in the existing mesh but if we fail to converge from the nearest specified number of sample points we use the nearest of those.

Referenced by max_sample_points_for_limited_locate_zeta_during_target_size_transfer().

◆ Min_element_size

double oomph::GmshParameters::Min_element_size
private

Min. element size during refinement.

Referenced by min_element_size().

◆ Outer_boundary_pt

TetMeshFacetedClosedSurface* oomph::GmshParameters::Outer_boundary_pt
private

Pointer to outer boundary.

Referenced by outer_boundary_pt().

◆ Projection_is_disabled

bool oomph::GmshParameters::Projection_is_disabled
private

Is projection of old solution onto new mesh disabled?

Referenced by disable_projection(), enable_projection(), and projection_is_disabled().

◆ Stem_for_filename_gmsh_size_transfer

std::string oomph::GmshParameters::Stem_for_filename_gmsh_size_transfer
private

Stem for filename used to doc target element sizes on gmsh grid. No doc if stem is equal to empty string (or counter is negative)

Referenced by stem_for_filename_gmsh_size_transfer().

◆ Target_size_file_name

std::string oomph::GmshParameters::Target_size_file_name
private

Filename for target volume (for system-call based transfer to gmsh during mesh adaptation)

Referenced by target_size_file_name().


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