#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().