proteus 1.9.0
C/C++/Fortran libraries
Loading...
Searching...
No Matches
timeIntegration.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <strings.h>
#include <assert.h>
#include "timeIntegration.h"
Include dependency graph for timeIntegration.c:

Go to the source code of this file.

Functions

void psiTCtteDT (int nPoints, double tau, double dtn, double dtnm1, double *yn, double *ypn, double *ypnm1, double *dtnp1)
double msign (double a)
double minmod2 (double a, double b)
double musclmod (double dU, double dU1, double dU2)
double minmod3 (double dU, double dU1, double dU2)
double mminmod2 (double dU, double dU1, double M, int *tag)
int invertLocal3d (double A[3][3], double AI[3][3])
void computeLocalGradient1d (double *x0, double *x1, double *dN0, double *dN1, double u0, double u1, double *dU)
void computeLocalGradient2d (double *x0, double *x1, double *x2, double *dN0, double *dN1, double *dN2, double u0, double u1, double u2, double *dU)
void computeLocalGradient3d (double *x0, double *x1, double *x2, double *x3, double *dN0, double *dN1, double *dN2, double *dN3, double u0, double u1, double u2, double u3, double *dU)
void applyDGlimitingP1Lagrange1d (int limiterFlag, int nElements_global, int nNodes_element, int nElementBoundaries_element, int nDOF_element, int *elementNodesArray, int *elementNeighborsArray, double *nodeArray, double *elementBarycentersArray, int *l2g, int *tag, double *Uin, double *Uout)
void applyDGlimitingP1Lagrange1d_withVacuumTol (int enforcePositivity, double vacuumTol, int nElements_global, int nNodes_element, int nElementBoundaries_element, int nDOF_element, int *elementNodesArray, int *elementNeighborsArray, double *nodeArray, double *elementBarycentersArray, int *l2g, int *tag, double *Uin, double *Uout)
void computeElementNeighborShapeGradients (int nElements_global, int nElementBoundaries_element, int nSpace, const int *elementBoundariesArray, const int *elementNeighborsArray, double *elementBarycentersArray, double *elementBoundaryBarycentersArray, double *elementNeighborShapeGradients)
void computeCockburnDGlimiterArrays2d (int nElements_global, int nElementBoundaries_element, int nSpace, const int *elementBoundariesArray, const int *elementNeighborsArray, const double *elementBarycentersArray, const double *elementBoundaryBarycentersArray, const double *elementNeighborShapeGradients, double *alphas, int *alphaNeighbors)
void applyCockburnDGlimiterP1Lagrange2d (double nu, double Mh2, int nElements_global, int nElementBoundaries_element, int nSpace, int nDOF_element, int *elementNeighborsArray, int *l2g, int *tag, double *alphas, int *alphaNeighbors, double *Uin, double *Uout)
void computeElementAveragesP1Lagrange (int nElements_global, int nDOF_element, const int *l2g, const double *Uin, double *elementAverages)
void shortSortDescending (double *A, int *order, int len)
void applyDurlofskyDGlimiterP1Lagrange2d (int killExtrema, int allowMinWithUndershoot, int nElements_global, int nElementBoundaries_element, int nNodes_element, int nSpace, int nDOF_element, const int *elementNeighborsArray, const int *elementBoundariesArray, const int *elementNodesArray, const double *nodeArray, const double *elementBarycentersArray, const double *elementBoundaryBarycentersArray, const double *elementNeighborShapeGradients, const int *l2g, const double *grad_v0, double *elementAverages, int *tag, double *Uin, double *Uout)
void applyDurlofskyDGlimiterP1Lagrange3d (int killExtrema, int allowMinWithUndershoot, int nElements_global, int nElementBoundaries_element, int nNodes_element, int nSpace, int nDOF_element, const int *elementNeighborsArray, const int *elementBoundariesArray, const int *elementNodesArray, const double *nodeArray, const double *elementBarycentersArray, const double *elementBoundaryBarycentersArray, const double *elementNeighborShapeGradients, const int *l2g, const double *grad_v0, double *elementAverages, int *tag, double *Uin, double *Uout)
void applyDurlofskyDGlimiterP1Lagrange2d_withVacuumTol (int killExtrema, int allowMinWithUndershoot, int enforcePositivity, double vacuumTol, int nElements_global, int nElementBoundaries_element, int nNodes_element, int nSpace, int nDOF_element, const int *elementNeighborsArray, const int *elementBoundariesArray, const int *elementNodesArray, const double *nodeArray, const double *elementBarycentersArray, const double *elementBoundaryBarycentersArray, const double *elementNeighborShapeGradients, const int *l2g, const double *grad_v0, double *elementAverages, int *tag, double *Uin, double *Uout)

Function Documentation

◆ applyCockburnDGlimiterP1Lagrange2d()

void applyCockburnDGlimiterP1Lagrange2d ( double nu,
double Mh2,
int nElements_global,
int nElementBoundaries_element,
int nSpace,
int nDOF_element,
int * elementNeighborsArray,
int * l2g,
int * tag,
double * alphas,
int * alphaNeighbors,
double * Uin,
double * Uout )

Definition at line 736 of file timeIntegration.c.

◆ applyDGlimitingP1Lagrange1d()

void applyDGlimitingP1Lagrange1d ( int limiterFlag,
int nElements_global,
int nNodes_element,
int nElementBoundaries_element,
int nDOF_element,
int * elementNodesArray,
int * elementNeighborsArray,
double * nodeArray,
double * elementBarycentersArray,
int * l2g,
int * tag,
double * Uin,
double * Uout )

Definition at line 214 of file timeIntegration.c.

◆ applyDGlimitingP1Lagrange1d_withVacuumTol()

void applyDGlimitingP1Lagrange1d_withVacuumTol ( int enforcePositivity,
double vacuumTol,
int nElements_global,
int nNodes_element,
int nElementBoundaries_element,
int nDOF_element,
int * elementNodesArray,
int * elementNeighborsArray,
double * nodeArray,
double * elementBarycentersArray,
int * l2g,
int * tag,
double * Uin,
double * Uout )

Definition at line 310 of file timeIntegration.c.

◆ applyDurlofskyDGlimiterP1Lagrange2d()

void applyDurlofskyDGlimiterP1Lagrange2d ( int killExtrema,
int allowMinWithUndershoot,
int nElements_global,
int nElementBoundaries_element,
int nNodes_element,
int nSpace,
int nDOF_element,
const int * elementNeighborsArray,
const int * elementBoundariesArray,
const int * elementNodesArray,
const double * nodeArray,
const double * elementBarycentersArray,
const double * elementBoundaryBarycentersArray,
const double * elementNeighborShapeGradients,
const int * l2g,
const double * grad_v0,
double * elementAverages,
int * tag,
double * Uin,
double * Uout )

Definition at line 879 of file timeIntegration.c.

◆ applyDurlofskyDGlimiterP1Lagrange2d_withVacuumTol()

void applyDurlofskyDGlimiterP1Lagrange2d_withVacuumTol ( int killExtrema,
int allowMinWithUndershoot,
int enforcePositivity,
double vacuumTol,
int nElements_global,
int nElementBoundaries_element,
int nNodes_element,
int nSpace,
int nDOF_element,
const int * elementNeighborsArray,
const int * elementBoundariesArray,
const int * elementNodesArray,
const double * nodeArray,
const double * elementBarycentersArray,
const double * elementBoundaryBarycentersArray,
const double * elementNeighborShapeGradients,
const int * l2g,
const double * grad_v0,
double * elementAverages,
int * tag,
double * Uin,
double * Uout )

Definition at line 1397 of file timeIntegration.c.

◆ applyDurlofskyDGlimiterP1Lagrange3d()

void applyDurlofskyDGlimiterP1Lagrange3d ( int killExtrema,
int allowMinWithUndershoot,
int nElements_global,
int nElementBoundaries_element,
int nNodes_element,
int nSpace,
int nDOF_element,
const int * elementNeighborsArray,
const int * elementBoundariesArray,
const int * elementNodesArray,
const double * nodeArray,
const double * elementBarycentersArray,
const double * elementBoundaryBarycentersArray,
const double * elementNeighborShapeGradients,
const int * l2g,
const double * grad_v0,
double * elementAverages,
int * tag,
double * Uin,
double * Uout )

Definition at line 1107 of file timeIntegration.c.

◆ computeCockburnDGlimiterArrays2d()

void computeCockburnDGlimiterArrays2d ( int nElements_global,
int nElementBoundaries_element,
int nSpace,
const int * elementBoundariesArray,
const int * elementNeighborsArray,
const double * elementBarycentersArray,
const double * elementBoundaryBarycentersArray,
const double * elementNeighborShapeGradients,
double * alphas,
int * alphaNeighbors )

Definition at line 649 of file timeIntegration.c.

◆ computeElementAveragesP1Lagrange()

void computeElementAveragesP1Lagrange ( int nElements_global,
int nDOF_element,
const int * l2g,
const double * Uin,
double * elementAverages )

Definition at line 839 of file timeIntegration.c.

◆ computeElementNeighborShapeGradients()

void computeElementNeighborShapeGradients ( int nElements_global,
int nElementBoundaries_element,
int nSpace,
const int * elementBoundariesArray,
const int * elementNeighborsArray,
double * elementBarycentersArray,
double * elementBoundaryBarycentersArray,
double * elementNeighborShapeGradients )

Definition at line 409 of file timeIntegration.c.

◆ computeLocalGradient1d()

void computeLocalGradient1d ( double * x0,
double * x1,
double * dN0,
double * dN1,
double u0,
double u1,
double * dU )

Definition at line 118 of file timeIntegration.c.

◆ computeLocalGradient2d()

void computeLocalGradient2d ( double * x0,
double * x1,
double * x2,
double * dN0,
double * dN1,
double * dN2,
double u0,
double u1,
double u2,
double * dU )

Definition at line 128 of file timeIntegration.c.

◆ computeLocalGradient3d()

void computeLocalGradient3d ( double * x0,
double * x1,
double * x2,
double * x3,
double * dN0,
double * dN1,
double * dN2,
double * dN3,
double u0,
double u1,
double u2,
double u3,
double * dU )

Definition at line 164 of file timeIntegration.c.

◆ invertLocal3d()

int invertLocal3d ( double A[3][3],
double AI[3][3] )

Definition at line 80 of file timeIntegration.c.

◆ minmod2()

double minmod2 ( double a,
double b )

Definition at line 53 of file timeIntegration.c.

◆ minmod3()

double minmod3 ( double dU,
double dU1,
double dU2 )

Definition at line 64 of file timeIntegration.c.

◆ mminmod2()

double mminmod2 ( double dU,
double dU1,
double M,
int * tag )

Definition at line 69 of file timeIntegration.c.

◆ msign()

double msign ( double a)

Definition at line 49 of file timeIntegration.c.

◆ musclmod()

double musclmod ( double dU,
double dU1,
double dU2 )

Definition at line 59 of file timeIntegration.c.

◆ psiTCtteDT()

void psiTCtteDT ( int nPoints,
double tau,
double dtn,
double dtnm1,
double * yn,
double * ypn,
double * ypnm1,
double * dtnp1 )

Definition at line 12 of file timeIntegration.c.

◆ shortSortDescending()

void shortSortDescending ( double * A,
int * order,
int len )

Definition at line 862 of file timeIntegration.c.