fastvpinns.FE.quad_bilinear module

The file quad_bilinear.py defines the Quad Bilinear transformation of the reference element. The implementation is referenced from the ParMooN project (File: QuadBilineare.C).

Author: Thivin Anandh D

Changelog: 30/Aug/2023 - Initial version

Known issues: Second derivative Calculations are not implemented as of now.

Dependencies: None specified

class fastvpinns.FE.quad_bilinear.QuadBilinear(co_ordinates)[source]

Bases: FETransforamtion2D

Defines the Quad Bilinear transformation of the reference element.

Parameters:

co_ordinates (numpy.ndarray) – The coordinates of the reference element.

get_jacobian(xi, eta)[source]

This method returns the Jacobian of the transformation.

Parameters:
  • xi (float) – The xi coordinate in the reference element.

  • eta (float) – The eta coordinate in the reference element.

Returns:

The Jacobian of the transformation at the given reference coordinates.

Return type:

float

get_orig_from_ref_derivative(ref_gradx, ref_grady, xi, eta)[source]

This method returns the derivatives of the original coordinates with respect to the reference coordinates.

Parameters:
  • ref_gradx (numpy.ndarray) – The gradient of the xi coordinate in the reference element.

  • ref_grady (numpy.ndarray) – The gradient of the eta coordinate in the reference element.

  • xi (float) – The xi coordinate in the reference element.

  • eta (float) – The eta coordinate in the reference element.

Returns:

The derivatives of the original coordinates [x, y] with respect to the reference coordinates.

Return type:

numpy.ndarray

get_orig_from_ref_second_derivative(grad_xx_ref, grad_xy_ref, grad_yy_ref, xi, eta)[source]

This method returns the second derivatives of the original coordinates with respect to the reference coordinates.

Parameters:
  • grad_xx_ref (numpy.ndarray) – The second derivative of the xi coordinate in the reference element.

  • grad_xy_ref (numpy.ndarray) – The mixed second derivative of the xi and eta coordinates in the reference element.

  • grad_yy_ref (numpy.ndarray) – The second derivative of the eta coordinate in the reference element.

  • xi (float) – The xi coordinate in the reference element.

  • eta (float) – The eta coordinate in the reference element.

Returns:

The second derivatives of the original coordinates [xx, xy, yy] with respect to the reference coordinates.

Return type:

numpy.ndarray

get_original_from_ref(xi, eta)[source]

This method returns the original coordinates from the reference coordinates.

Parameters:
  • xi (float) – The xi coordinate in the reference element.

  • eta (float) – The eta coordinate in the reference element.

Returns:

The original coordinates [x, y] corresponding to the given reference coordinates.

Return type:

numpy.ndarray

set_cell()[source]

Set the cell coordinates, which will be used as intermediate values to calculate the Jacobian and actual values.

Parameters:

None

Returns:

None

Return type:

None