#include <Rocprop.h>
Public Types | |
enum | { PROP_FO, PROP_MP } |
Public Member Functions | |
Rocprop () | |
Defautl constructor. More... | |
virtual | ~Rocprop () |
void | initialize (const COM::Attribute *pmesh, SURF::Rocsurf *rsurf=NULL) |
Initialize Rocprop with given mesh. More... | |
void | perturb_mesh (COM::Attribute *pmesh, const double &alpha) |
Perturb the given mesh by alpha times shortest edge length. More... | |
void | set_constraints (const COM::Attribute *cnstr_types) |
Set the types and directions of constraints Propagation_3::set_constraints. More... | |
void | set_bounds (const COM::Attribute *bnd) |
Set the bounds Propagation_3::set_bounds. More... | |
void | propagate (const COM::Attribute *pmesh, COM::Attribute *vel, const double *dt, COM::Attribute *du, double *dt_elapsed=NULL, int *code=NULL) |
Propagates the interface. More... | |
void | set_remesher (void *rem, int *owner=0) |
Register remesher. Rocprop does not own the remesher. More... | |
void | remesh_serial (COM::Attribute *mesh_out, double *lave=NULL, double *fangle=NULL) |
Invoke serial remeshing. More... | |
void | set_option (const char *opt, const char *val) |
Set options for propagation. More... | |
virtual Manifold * | manifold () |
int | validate_object () const |
Static Public Member Functions | |
static void | load (const std::string &mname) |
static void | unload (const std::string &mname) |
Protected Types | |
enum | { PROP_COOKIE =7627873 } |
Protected Attributes | |
SURF::Rocsurf * | _parent |
Propagation_3 * | _prop |
COM::Window * | _win |
COM::Window * | _buf |
Remesher_base * | _rem |
int | _rem_owner |
int | _prop_method |
char | _wf_expn |
char | _wght_scheme |
char | _nrm_dfsn |
char | _feature_layer |
double | _eig_thres |
double | _courant |
double | _fangle_strong |
double | _fangle_weak |
double | _fangle_turn |
int | _verb |
const COM::Attribute * | _cnstr_types |
const COM::Attribute * | _cnstr_bound |
double | _time_lb |
int | _smoother |
int | _rediter |
int | _conserv |
int | _rank |
int | _cookie |
anonymous enum |
Enumerator | |
---|---|
PROP_FO | |
PROP_MP |
Definition at line 46 of file Rocprop.h.
|
protected |
|
inline |
Defautl constructor.
Definition at line 49 of file Rocprop.h.
void initialize | ( | const COM::Attribute * | pmesh, |
SURF::Rocsurf * | rsurf = NULL |
||
) |
Initialize Rocprop with given mesh.
Definition at line 44 of file Rocprop.C.
References COM_assertion_msg, COM_CONN, COM_NC, COM_PCONN, COMMPI_Comm_rank(), COMMPI_Initialized(), and Rocsurf::initialize().
Referenced by load().
|
static |
Definition at line 322 of file Rocprop.C.
References COM_DOUBLE, COM_INT, COM_METADATA, COM_new_attribute(), COM_new_window(), COM_RAWDATA, COM_set_member_function(), COM_set_object(), COM_STRING, COM_VOID, COM_window_init_done(), Rocsurf::compute_edge_lengths(), initialize(), perturb_mesh(), propagate(), remesh_serial(), set_bounds(), set_constraints(), set_option(), and set_remesher().
Referenced by Rocprop_load_module(), rocprop_load_module(), ROCPROP_LOAD_MODULE(), rocprop_load_module_(), and ROCPROP_LOAD_MODULE_().
|
inlinevirtual |
void perturb_mesh | ( | COM::Attribute * | pmesh, |
const double & | alpha | ||
) |
Perturb the given mesh by alpha times shortest edge length.
Definition at line 85 of file Rocprop.C.
References COM_assertion_msg.
Referenced by load().
void propagate | ( | const COM::Attribute * | pmesh, |
COM::Attribute * | vel, | ||
const double * | dt, | ||
COM::Attribute * | du, | ||
double * | dt_elapsed = NULL , |
||
int * | code = NULL |
||
) |
Propagates the interface.
This function subcycles until it reachs given time step or sub-time-step becomes too small. If the time step became too small, then abort if code is NULL, or return -1 if code is not NULL.
Definition at line 106 of file Rocprop.C.
References Rocblas::add(), COM_assertion, COM_assertion_msg, COM_NC, Rocblas::copy(), i, and Rocblas::sub().
Referenced by load().
void remesh_serial | ( | COM::Attribute * | mesh_out, |
double * | lave = NULL , |
||
double * | fangle = NULL |
||
) |
Invoke serial remeshing.
Definition at line 307 of file Rocprop.C.
References COM_assertion, COMMPI_Comm_rank(), COMMPI_Initialized(), and MPI_COMM_WORLD.
Referenced by load().
void set_bounds | ( | const COM::Attribute * | bnd | ) |
Set the bounds Propagation_3::set_bounds.
Definition at line 101 of file Rocprop.C.
References COM_assertion_msg.
Referenced by load().
void set_constraints | ( | const COM::Attribute * | cnstr_types | ) |
Set the types and directions of constraints Propagation_3::set_constraints.
Definition at line 96 of file Rocprop.C.
References COM_assertion_msg.
Referenced by load().
void set_option | ( | const char * | opt, |
const char * | val | ||
) |
Set options for propagation.
The options supported are: "method": "mp" (marker particles, default), "fo" (face offsetting) "wavefrontal": 0 or 1 (for true or false) "weight": weighting scheme "eigthres": encoding relative threshold for null space. "dirthres": encoding relative threshold for tangent space. "courant": encoding courant constant (between 0 and 1) "fangle": feature face angle, between 0 and 180. "fmode": "auto" (propagate calls f-d automatically), and "manual" "smoother": mesh smoother. "rediter": redistribution iterations. "verbose": verbose level.
Definition at line 234 of file Rocprop.C.
References cimg_library::cimg::atof(), COM_assertion, COM_assertion_msg, cimg_library::cimg::option(), SMOOTHER_ANGLE_WEIGHTED_CENTROID, SMOOTHER_ANISOTROPIC, SMOOTHER_LAPLACIAN, and SMOOTHER_NONE.
Referenced by load().
|
inline |
Register remesher. Rocprop does not own the remesher.
Definition at line 89 of file Rocprop.h.
References _rem, and _rem_owner.
Referenced by load().
|
static |
Definition at line 386 of file Rocprop.C.
References COM_assertion_msg, COM_delete_window(), COM_get_object(), and validate_object().
Referenced by Rocprop_unload_module(), rocprop_unload_module(), ROCPROP_UNLOAD_MODULE(), rocprop_unload_module_(), and ROCPROP_UNLOAD_MODULE_().
|
inline |
Definition at line 123 of file Rocprop.h.
References _cookie, PROP_COOKIE, and Rocsurf::validate_object().
Referenced by unload().
|
protected |
Definition at line 161 of file Rocprop.h.
Referenced by validate_object().
|
protected |
Definition at line 131 of file Rocprop.h.
Referenced by manifold().
|
protected |
|
protected |
Definition at line 136 of file Rocprop.h.
Referenced by set_remesher().
|
protected |
Definition at line 138 of file Rocprop.h.
Referenced by set_remesher().