|
IFEM
90A354
|
Abstract interface for 1D spline patches. More...
#include <ASM1D.h>

Public Member Functions | |
| virtual | ~ASM1D () |
| Empty destructor. | |
| ASMbase * | clone (unsigned char *nf=nullptr) const |
| Returns a copy of this patch with identical FE discretization. More... | |
| virtual bool | uniformRefine (int nInsert)=0 |
| Refines the parametrization by inserting extra knots uniformly. More... | |
| virtual bool | raiseOrder (int ru)=0 |
| Raises the order of the spline object for this patch. More... | |
| virtual bool | refine (const std::vector< double > &xi)=0 |
| Refines the parametrization by inserting extra knots. More... | |
| virtual int | constrainNode (double xi, int dof, int code=0)=0 |
| Constrains a node identified by two relative parameter values. More... | |
| virtual size_t | constrainEndLocal (int dir, int dof, int code=0)=0 |
| Constrains all DOFs in local directions at a given end point. More... | |
| virtual bool | getGridParameters (std::vector< double > &prm, int nSegSpan) const =0 |
| Calculates parameter values for visualization nodal points. More... | |
| virtual bool | connectPatch (int vertex, ASM1D &neighbor, int nvertex, int thick=1)=0 |
| Connects matching nodes on two adjacent vertices. More... | |
Static Public Member Functions | |
| static ASMbase * | create (ASM::Discretization type, unsigned char nd, unsigned char nf) |
| Creates a one-parametric patch of specified discretization type. More... | |
| static ASMbase * | create (ASM::Discretization type, unsigned char nf=1) |
| Creates a one-parametric patch of specified discretization type. More... | |
| static double | getElementSize (const std::vector< Vec3 > &XC) |
| Returns characteristic element size based on end point coordinates. | |
Protected Member Functions | |
| ASM1D () | |
| The constructor is protected to allow objects of sub-classes only. | |
Abstract interface for 1D spline patches.
This class contains an interface to methods common for 1D patches.
| ASMbase * ASM1D::clone | ( | unsigned char * | nf = nullptr | ) | const |
Returns a copy of this patch with identical FE discretization.
| [in] | nf | Number of unknown per basis function in the patch |
|
pure virtual |
Connects matching nodes on two adjacent vertices.
| [in] | vertex | Local vertex index of this patch, in range [1,2] |
| neighbor | The neighbor patch | |
| [in] | nvertex | Local vertex index of neighbor patch, in range [1,2] |
| [in] | thick | Thickness of connection |
Implemented in ASMs1D.
Referenced by SIM1D::connectPatches().
|
pure virtual |
Constrains all DOFs in local directions at a given end point.
| [in] | dir | Parameter direction defining the end to constrain |
| [in] | dof | Which local DOFs to constrain at the end point |
| [in] | code | Inhomogeneous dirichlet condition code |
Implemented in ASMs1DC1, and ASMs1D.
Referenced by SIM1D::addConstraint().
|
pure virtual |
Constrains a node identified by two relative parameter values.
| [in] | xi | Parameter value along the curve |
| [in] | dof | Which DOFs to constrain at the node |
| [in] | code | Inhomogeneous dirichlet condition code |
The parameter value has to be in the domain [0.0,1.0], where 0.0 means the beginning of the domain and 1.0 means the end. For values in between, the actual index is taken as the integer value closest to r*n, where r denotes the given relative parameter value, and n is the number of nodes along that parameter direction.
Implemented in ASMs1DC1, and ASMs1D.
Referenced by SIM1D::addConstraint(), SIM1D::parse(), and SIM1D::parseBCTag().
|
static |
Creates a one-parametric patch of specified discretization type.
| [in] | type | The discretization method to use |
| [in] | nd | Number of spatial dimensions |
| [in] | nf | Number of unknowns per basis function in the patch |
Referenced by create(), SIM1D::parseGeometryTag(), and SIM1D::readPatch().
|
static |
Creates a one-parametric patch of specified discretization type.
| [in] | type | The discretization method to use |
| [in] | nf | Number of unknowns per basis function in the patch |
References create().
|
pure virtual |
Calculates parameter values for visualization nodal points.
| [out] | prm | Parameter values for all points |
| [in] | nSegSpan | Number of visualization segments over each knot-span |
|
pure virtual |
Raises the order of the spline object for this patch.
| [in] | ru | Number of times to raise the order in u-direction |
Implemented in ASMs1D.
Referenced by SIM1D::parseGeometryTag().
|
pure virtual |
Refines the parametrization by inserting extra knots.
| [in] | xi | Relative positions of added knots in each existing knot span |
Referenced by SIM1D::parseGeometryTag().
|
pure virtual |
Refines the parametrization by inserting extra knots uniformly.
| [in] | nInsert | Number of extra knots to insert in each knot-span |
Implemented in ASMs1D.
Referenced by SIM1D::parseGeometryTag().