Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
src/QualityImprover/VertexMover/NonSmoothSteepestDescent/NonSmoothSteepestDescent.hpp File Reference
#include "Mesquite.hpp"
#include "VertexMover.hpp"
#include "ObjectiveFunction.hpp"
#include "MsqFreeVertexIndexIterator.hpp"
#include "MsqDebug.hpp"
Include dependency graph for src/QualityImprover/VertexMover/NonSmoothSteepestDescent/NonSmoothSteepestDescent.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ActiveSet
 
class  NonSmoothSteepestDescent
 

Namespaces

 Mesquite
 Used to hold the error state and return it to the application.
 

Macros

#define MSQ_XDIR   0
 
#define MSQ_YDIR   1
 
#define MSQ_ZDIR   2
 
#define MSQ_BIG_POS_NMBR   1E300
 
#define MSQ_BIG_NEG_NMBR   -1E300
 
#define MSQ_MAX_OPT_ITER   20
 
#define MSQ_CCW   1
 
#define MSQ_CW   0
 
#define MSQ_NO_EQUIL   101
 
#define MSQ_CHECK_TOP_DOWN   102
 
#define MSQ_CHECK_BOTTOM_UP   103
 
#define MSQ_TWO_PT_PLANE   104
 
#define MSQ_THREE_PT_PLANE   105
 
#define MSQ_CHECK_Y_COORD_DIRECTION   106
 
#define MSQ_CHECK_X_COORD_DIRECTION   107
 
#define MSQ_CHECK_Z_COORD_DIRECTION   108
 
#define MSQ_EQUIL   109
 
#define MSQ_HULL_TEST_ERROR   110
 
#define MSQ_STEP_ACCEPTED   100
 
#define MSQ_IMP_TOO_SMALL   101
 
#define MSQ_FLAT_NO_IMP   102
 
#define MSQ_STEP_TOO_SMALL   103
 
#define MSQ_EQUILIBRIUM   104
 
#define MSQ_ZERO_SEARCH   105
 
#define MSQ_MAX_ITER_EXCEEDED   106
 
#define MSQ_STEP_DONE   101
 
#define MSQ_STEP_NOT_DONE   102
 
#define MAX_NUM_ELEMENTS   150
 
#define MAX_FUNC_PER_ELEMENT   6
 
#define MSQ_MACHINE_EPS   1E-16
 
#define MSQ_TRUE   1
 
#define MSQ_FALSE   0
 
#define MSQ_MAX(a, b)   (a > b ? a : b)
 
#define MSQ_MIN(a, b)   (a < b ? a : b)
 
#define MSQ_LESS_THAN_MACHINE_EPS(x)   ( ((fabs(x)+1.0) > 1.0) ? 0 : 1 )
 
#define MSQ_DOT(c, a, b, n)
 
#define MSQ_NORMALIZE(v, n)
 
#define MSQ_COPY_VECTOR(a, b, n)
 

Macro Definition Documentation

#define MAX_FUNC_PER_ELEMENT   6
#define MAX_NUM_ELEMENTS   150
#define MSQ_BIG_NEG_NMBR   -1E300
#define MSQ_BIG_POS_NMBR   1E300
#define MSQ_CHECK_BOTTOM_UP   103
#define MSQ_CHECK_TOP_DOWN   102
#define MSQ_CHECK_X_COORD_DIRECTION   107
#define MSQ_CHECK_Y_COORD_DIRECTION   106
#define MSQ_CHECK_Z_COORD_DIRECTION   108
#define MSQ_COPY_VECTOR (   a,
  b,
  n 
)
Value:
{ \
int i99; \
if (n==2) { \
a[0] = b[0]; a[1] = b[1]; \
} else if (n==3) {\
a[0] = b[0]; a[1] = b[1]; a[2] = b[2]; \
} else { \
for (i99=0;i99<n;i99++) a[i99] = b[i99]; \
} \
}
if(dy > dx)
const NT & n
for(;;)

Definition at line 125 of file src/QualityImprover/VertexMover/NonSmoothSteepestDescent/NonSmoothSteepestDescent.hpp.

#define MSQ_DOT (   c,
  a,
  b,
  n 
)
Value:
{\
int i99; \
if (n==2) c = a[0]*b[0] + a[1]*b[1]; \
else if (n==3) c = a[0]*b[0] + a[1]*b[1] + a[2]*b[2];\
else { \
c = 0; \
for (i99=0;i99<n;i99++) c += a[i99]*b[i99]; \
} \
}
if(dy > dx)
const NT & n
for(;;)

Definition at line 90 of file src/QualityImprover/VertexMover/NonSmoothSteepestDescent/NonSmoothSteepestDescent.hpp.

#define MSQ_EQUIL   109
#define MSQ_EQUILIBRIUM   104
#define MSQ_FLAT_NO_IMP   102
#define MSQ_HULL_TEST_ERROR   110
#define MSQ_IMP_TOO_SMALL   101
#define MSQ_LESS_THAN_MACHINE_EPS (   x)    ( ((fabs(x)+1.0) > 1.0) ? 0 : 1 )
#define MSQ_MACHINE_EPS   1E-16
#define MSQ_MAX (   a,
 
)    (a > b ? a : b)
#define MSQ_MAX_ITER_EXCEEDED   106
#define MSQ_MAX_OPT_ITER   20
#define MSQ_MIN (   a,
 
)    (a < b ? a : b)
#define MSQ_NO_EQUIL   101
#define MSQ_NORMALIZE (   v,
  n 
)
Value:
{\
int i99; \
double mag99; \
if (n==2){ \
mag99 = sqrt(v[0]*v[0] + v[1]*v[1]) ; \
if (mag99 != 0) { \
v[0] = v[0]/mag99; \
v[1] = v[1]/mag99; \
} \
} else if (n==3) {\
mag99 = sqrt(v[0]*v[0] + v[1]*v[1] + v[2]*v[2]) ; \
if (mag99 != 0) { \
v[0] = v[0]/mag99; \
v[1] = v[1]/mag99; \
v[2] = v[2]/mag99; \
} \
} else { \
mag99 = 0; \
for (i99=0;i99<n;i99++) mag99+=v[i99]+v[i99]; \
if (mag99 != 0) { \
for (i99=0;i99<n;i99++) v[i99] = v[i99]/mag99;\
} \
}\
}
if(dy > dx)
double sqrt(double d)
Definition: double.h:73
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
const NT & n
for(;;)

Definition at line 100 of file src/QualityImprover/VertexMover/NonSmoothSteepestDescent/NonSmoothSteepestDescent.hpp.

#define MSQ_STEP_ACCEPTED   100
#define MSQ_STEP_DONE   101
#define MSQ_STEP_NOT_DONE   102
#define MSQ_STEP_TOO_SMALL   103
#define MSQ_THREE_PT_PLANE   105
#define MSQ_TWO_PT_PLANE   104
#define MSQ_ZERO_SEARCH   105