XVOF
|
Public Member Functions | |
def | __init__ (self, nbr_of_nodes, position_initiale, dim=1, vitesse_initiale=None) |
def | enriched (self) |
def | xt (self) |
def | xtpdt (self) |
def | umundemi (self) |
def | upundemi (self) |
def | masse (self) |
def | force (self) |
def | dimension (self) |
def | number_of_nodes (self) |
def | __str__ (self) |
def | infos (self, index) |
def | compute_new_coodinates |
def | increment (self) |
def | compute_new_force (self, args, kwargs) |
def | compute_new_velocity (self, delta_t, mask, matrice_masse) |
Un objet Node représente l'ensemble des noeuds du maillages. Ses différents membres sont essentiellement des vecteurs de nbr_of_nodes lignes. Plusieurs colonnes peuvent être présentes selon la dimension du problème à traiter. L'organisation en mémoire est comme en C/C++ c'est à dire 'row wise'. C'est pour cette raison que les lignes de chacun des vecteurs représentent les noeuds. Ce faisant on a par exemple tous les X des noeuds contigus en mêmoire. (vectorisation, localisation spatiale)
def tmp2790rmy6.xfv.src.node.node.Node.__init__ | ( | self, | |
nbr_of_nodes, | |||
position_initiale, | |||
dim = 1 , |
|||
vitesse_initiale = None |
|||
) |
:param dim: dimension du problème à traiter (par défaut 1) :param nbr_of_nodes: nombre de noeuds du problème :param position_initiale: vecteur des positions initiales :param vitesse_initiale: vecteur des vitesses initiales :type dim: int :type nbr_of_nodes: int :type position_initiale: numpy.array([nbr_of_nodes, dim], dtype=np.float64, order='C') :type vitesse_initiale: numpy.array([nbr_of_nodes, dim], dtype=np.float64, order='C')
def tmp2790rmy6.xfv.src.node.node.Node.compute_new_force | ( | self, | |
args, | |||
kwargs | |||
) |
Compute the nodal forces
def tmp2790rmy6.xfv.src.node.node.Node.compute_new_velocity | ( | self, | |
delta_t, | |||
mask, | |||
matrice_masse | |||
) |
Compute the velocity at time t+dt/2 :param delta_t: staggered timestep :param mask: boolean array to identify nodes to be computes
def tmp2790rmy6.xfv.src.node.node.Node.dimension | ( | self | ) |
Dimension du problème :return: dimension du problème :rtype: int
def tmp2790rmy6.xfv.src.node.node.Node.enriched | ( | self | ) |
Returns an array of the status of all nodes False = classical node True = enriched node :return: numpy.array([nbr_of_nodes], dtype=bool)
def tmp2790rmy6.xfv.src.node.node.Node.force | ( | self | ) |
Forces nodales :return: vecteur des forces nodales :rtype: numpy.array([nbr_of_nodes, 1], dtype=np.float64, order='C')
def tmp2790rmy6.xfv.src.node.node.Node.increment | ( | self | ) |
Update the node velocities and coordinates
def tmp2790rmy6.xfv.src.node.node.Node.infos | ( | self, | |
index | |||
) |
Affichage des informations concernant le noeud d'indice index :param index: indice du noeud à afficher :type index: int
def tmp2790rmy6.xfv.src.node.node.Node.masse | ( | self | ) |
Masses nodales :return: vecteur des masses nodales :rtype: numpy.array([nbr_of_nodes, 1], dtype=np.float64, order='C')
def tmp2790rmy6.xfv.src.node.node.Node.number_of_nodes | ( | self | ) |
Nombre de noeuds du problème :return: dimension du problème :rtype: int
def tmp2790rmy6.xfv.src.node.node.Node.umundemi | ( | self | ) |
Vitesses au demi pas de temps précédent :return: vitesses des noeuds au demi pas de temps précédent :rtype: numpy.array([nbr_of_nodes, dim], dtype=np.float64, order='C')
def tmp2790rmy6.xfv.src.node.node.Node.upundemi | ( | self | ) |
Vitesses au demi pas de temps suivant :return: vitesses des noeuds au demi pas de temps suivant :rtype: numpy.array([nbr_of_nodes, dim], dtype=np.float64, order='C')
def tmp2790rmy6.xfv.src.node.node.Node.xt | ( | self | ) |
Positions des noeuds au temps t :return: positions des noeuds au temps t :rtype: numpy.array([nbr_of_nodes, dim], dtype=np.float64, order='C')
def tmp2790rmy6.xfv.src.node.node.Node.xtpdt | ( | self | ) |
Positions des noeuds au temps t + dt :return: positions des noeuds au temps t + dt :rtype: numpy.array([nbr_of_nodes, dim], dtype=np.float64, order='C')