19 #include "SheafSystem/uniform_1d.h" 20 #include "SheafSystem/assert_contract.h" 21 #include "SheafSystem/std_limits.h" 38 _basis_values = _basis_value_buffer;
39 _basis_deriv_values = _basis_deriv_value_buffer;
40 _jacobian_values = _jacobian_value_buffer;
57 _basis_values = _basis_value_buffer;
58 _basis_deriv_values = _basis_deriv_value_buffer;
59 _jacobian_values = _jacobian_value_buffer;
119 require(xlocal_coord != 0);
120 require(xlocal_coord_ub >= db());
121 require(basis_values() != 0);
129 _basis_values[0] = 0.5*(1.0 - u);
130 _basis_values[1] = 0.5*(1.0 + u);
145 require(xlocal_coord != 0);
146 require(xlocal_coord_ub >= db());
147 require(basis_deriv_values() != 0);
151 _basis_deriv_values[0] = -0.5;
152 _basis_deriv_values[1] = 0.5;
178 require(xcoord_dofs != 0);
179 require(xcoord_dofs_ub >= db()*dl());
180 require(xlocal_coords != 0);
181 require(xlocal_coords_ub >= db());
208 require(xcoord_dofs != 0);
209 require(xcoord_dofs_ub >= dl()*db());
210 require(xdf == 2 || xdf == 2 || xdf == 3);
244 require(xcoord_dofs != 0);
245 require(xcoord_dofs_ub >= dl()*db());
246 require(xintegrands != 0);
247 require(xintegrands_ub >= dl());
248 require(xresult_integrals != 0);
249 require(xresult_integrals_ub > 0);
280 require(xcoord_dofs != 0);
281 require(xcoord_dofs_ub >= dl()*db());
282 require(xresult_integrals != 0);
283 require(xresult_integrals_ub >= dl());
309 require((0 <= xindex) && (xindex < dof_ct()));
310 require(xresult_ub >= db());
320 ensure(in_standard_domain(xresult, xresult_ub));
343 require(xlocal_coord_index < db());
344 require(xsource_dofs != 0);
346 require(xresult_dofs != 0);
352 xresult_dofs[0] = 0.5 * (xsource_dofs[1] - xsource_dofs[0]);
372 require(xcoord_dofs != 0);
373 require(xcoord_dofs_ub >= db()*dl());
374 require(xlocal_coords != 0);
375 require(xlocal_coords_ub >= db());
376 require(jacobian_values() != 0);
430 require((0 <= xindex) && (xindex < dof_ct()));
431 require(xresult_ub >= db());
440 xresult[0] = lcoords[xindex];
444 ensure(in_standard_domain(xresult, xresult_ub));
459 require(xlocal_coords != 0);
460 require(xlocal_coords_ub >= 1);
469 dof_type one = 1.0 + 1000.0*numeric_limits<dof_type>::epsilon();
471 bool result = (u >= -one) && (u <= one);
498 require(xdofs_ub >= 2);
499 require(xglobal_coords != 0);
500 require(xglobal_coord_ub >= 1);
501 require(xlocal_coords != 0);
502 require(xlocal_coords_ub >= 1);
512 dof_type x_global = xglobal_coords[0];
516 double xlength = x1 - x0;
518 xlocal_coords[0] = (2.0*x_global - (x0 + x1)) / xlength;
547 ensure(is_same_type(result));
562 require(is_ancestor_of(&xother));
583 require(is_ancestor_of(&xother));
611 result = result && linear_fcn_space::invariant();
613 if(invariant_check())
617 disable_invariant_check();
621 enable_invariant_check();
637 require(xother != 0);
643 bool result =
dynamic_cast<const uniform_1d*
>(xother) != 0;
sec_vd_dof_type dof_type
The type of degree of freedom.
Abstract base class with useful features for all objects.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
chart_point_coord_type coord_type
The type of local coordinate; the scalar type for the local coordinate vector space.
vd_value_type value_type
The type of component in the value; the scalar type in the range vector space.
An abstract local section evaluator; a map from {local coordinates x dofs} to section value...
int_type pod_index_type
The plain old data index type.
Namespace for the fiber_bundles component of the sheaf system.