Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
gmsh
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Romin Tomasetti
gmsh
Commits
bbb8359b
Commit
bbb8359b
authored
9 years ago
by
Amaury Johnen
Browse files
Options
Downloads
Patches
Plain Diff
update help AnalyseCurvedMesh
parent
58647f41
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
Plugin/AnalyseCurvedMesh.cpp
+38
-37
38 additions, 37 deletions
Plugin/AnalyseCurvedMesh.cpp
with
38 additions
and
37 deletions
Plugin/AnalyseCurvedMesh.cpp
+
38
−
37
View file @
bbb8359b
...
...
@@ -24,12 +24,12 @@
class
bezierBasis
;
StringXNumber
CurvedMeshOptions_Number
[]
=
{
{
GMSH_FULLRC
,
"Jacobian"
,
NULL
,
1
},
{
GMSH_FULLRC
,
"Jacobian
determinant
"
,
NULL
,
1
},
{
GMSH_FULLRC
,
"Scaled Jacobian"
,
NULL
,
0
},
{
GMSH_FULLRC
,
"Isotropy"
,
NULL
,
1
},
{
GMSH_FULLRC
,
"Hidding threshold"
,
NULL
,
1
},
{
GMSH_FULLRC
,
"Hidding threshold"
,
NULL
,
1
0
},
{
GMSH_FULLRC
,
"Draw PView"
,
NULL
,
0
},
{
GMSH_FULLRC
,
"Recompute
bounds
"
,
NULL
,
0
},
{
GMSH_FULLRC
,
"Recompute"
,
NULL
,
0
},
{
GMSH_FULLRC
,
"Dimension of elements"
,
NULL
,
-
1
}
};
...
...
@@ -54,36 +54,39 @@ StringXNumber *GMSH_AnalyseCurvedMeshPlugin::getOption(int iopt)
std
::
string
GMSH_AnalyseCurvedMeshPlugin
::
getHelp
()
const
{
return
"Plugin(AnalyseCurvedMesh) analyse all elements of a given dimension. "
"It computes, min(J) where J is the Jacobian determinant and, if "
"asked, min(R) where R is the ratio between the smaller and the greater "
"of the eigenvalues of the metric. It creates a PView and hides "
"elements for which min({J, R}) < 'Hidding threshold'.
\n
"
"According to what is asked, it computes the minimum of the Jacobian "
"determinant (J), of the scaled Jacobian and/or of the isotropy measure. "
"Statistics are printed and if asked a Pview is created for each measure. "
"The plugin hides elements for which the measure mu > 'Hidding threshold', "
"where mu is the isotropy measure if asked otherwise the scaled Jacobian if "
"asked otherwise the Jacobian determinant.
\n
"
"
\n
"
"J is faster to compute but gives informations only on validity while R "
"gives also informations on quality.
\n
"
"J is faster to compute but gives informations only on validity while the "
"other measure gives also informations on quality.
\n
"
"Warning: the scaled Jacobian is experimental for triangles, tetrahedra, "
"prisms and pyramids. Computation may take a lot of time for those "
"elements!
\n
"
"
\n
"
"Parameters:
\n
"
"
\n
"
"-
Show [...] = {0, 1, 2}: If 0, computes Jacobian and shows min(J). If 1,
"
"
computes
Jacobian
and metric and shows min(R). If 2, behaves as if it is
"
"
1 but shows both min(J) and min(R).
\n
"
"-
Jacobian determinant = {0, 1}
\n
"
"
- Scaled
Jacobian
= {0, 1}
\n
"
"
- Isotropy = {0, 1}
\n
"
"
\n
"
"- Draw PView = {0, 1}: Creates a PView of min({J, R}) if it does not "
"already exists. If 'Recompute' = 1, a new PView is redrawed.
\n
"
"- Hidding threshold = [0,1]: Hides all element for which min(mu) is "
"strictly greater than the threshold, where mu is the last measure set to "
"1. For quality measures, if >= 1, no effect, if = 0 hide all elements "
"except invalid.
\n
"
"
\n
"
"- Hidding threshold = [0,1]: Hides all element for which min(R) or min(J) "
"is strictly greater than the threshold. If = 1, no effect, if = 0 hide "
"all elements except invalid.
\n
"
"
\n
"
"- Dimension = {-1, 1, 2, 3, 4}: If = -1, analyse element of the greater "
"dimension. If = 4, analyse 2D and 3D elements
\n
"
"- Draw PView = {0, 1}: Creates a PView of min(J)/max(J), min(scaled Jac) "
"and/or min(isotropy) according to what is asked. If 'Recompute' = 1, a "
"new PView is redrawed.
\n
"
"
\n
"
"- Recompute = {0,1}: If the mesh has changed, set to 1 to recompute the "
"bounds.
\n
"
"
\n
"
"- Tolerance = ]0, 1[: Tolerance on the computation of min({R, J}). "
"It should be at most 0.01 but it can be set to 1 or greater to just check "
"the validity of the mesh."
;
"- Dimension = {-1, 1, 2, 3, 4}: If = -1, analyse element of the greater "
"dimension. If = 4, analyse 2D and 3D elements."
;
}
PView
*
GMSH_AnalyseCurvedMeshPlugin
::
execute
(
PView
*
v
)
...
...
@@ -161,11 +164,8 @@ PView* GMSH_AnalyseCurvedMeshPlugin::execute(PView *v)
std
::
map
<
int
,
std
::
vector
<
double
>
>
dataPV
;
for
(
unsigned
int
i
=
0
;
i
<
_data
.
size
();
++
i
)
{
MElement
*
const
el
=
_data
[
i
].
element
();
if
(
el
->
getDim
()
==
dim
)
{
double
q
=
0
;
if
(
_data
[
i
].
minJ
()
>
0
)
q
=
_data
[
i
].
minJ
()
/
_data
[
i
].
maxJ
();
dataPV
[
el
->
getNum
()].
push_back
(
q
);
}
if
(
el
->
getDim
()
==
dim
)
dataPV
[
el
->
getNum
()].
push_back
(
_data
[
i
].
minJ
()
/
_data
[
i
].
maxJ
());
}
if
(
dataPV
.
size
())
{
std
::
stringstream
name
;
...
...
@@ -425,13 +425,14 @@ void GMSH_AnalyseCurvedMeshPlugin::_printStatJacobian()
avgratJ
/=
count
;
avgratJc
/=
countc
;
Msg
::
Info
(
"
Minimum of Jacobian
: in [%g, %
g],
avg=%
g
"
,
Msg
::
Info
(
"
Jacobian determinant
: in [%
.3
g, %
.3g] (
avg=%
.3g)
"
,
infminJ
,
supminJ
,
avgminJ
);
Msg
::
Info
(
"Ratio minJ/maxJ
: in [%g, %
g],
avg=%
g
"
,
Msg
::
Info
(
"Ratio minJ/maxJ : in [%
.3
g, %
.3g] (
avg=%
.3g)
"
,
infratJ
,
supratJ
,
avgratJ
);
Msg
::
Info
(
" avg=%g"
" (on the %d non-constant elements)"
,
avgratJc
,
count
);
if
(
countc
<
count
)
Msg
::
Info
(
" (avg=%.3g"
" on the %d non-constant elements)"
,
avgratJc
,
countc
);
}
void
GMSH_AnalyseCurvedMeshPlugin
::
_printStatScaledJac
()
...
...
@@ -450,7 +451,7 @@ void GMSH_AnalyseCurvedMeshPlugin::_printStatScaledJac()
}
avgminS
/=
_data
.
size
();
Msg
::
Info
(
"
Minimum of s
caled Jacobian
: in [%g, %
g],
avg=%
g
"
,
Msg
::
Info
(
"
S
caled Jacobian : in [%
.3
g, %
.3g] (
avg=%
.3g)
"
,
infminS
,
supminS
,
avgminS
);
}
...
...
@@ -470,7 +471,7 @@ void GMSH_AnalyseCurvedMeshPlugin::_printStatIsotropy()
}
avgminI
/=
_data
.
size
();
Msg
::
Info
(
"
Minimum of i
sotropy : in [%g, %
g],
avg=%
g
"
,
Msg
::
Info
(
"
I
sotropy
: in [%
.3
g, %
.3g] (
avg=%
.3g)
"
,
infminI
,
supminI
,
avgminI
);
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment